jordanpartridge/conduit-env-manager
Conduit Env Manager is a Laravel package for working with .env files and environment variables, offering a convenient way to read, write, and organize app configuration across environments. Simplify env handling without manual file edits.
Architecture fit
env:init, env:set, env:get, env:backup) built on the Laravel console/Artisan pattern. No runtime dependency in the request path, no service provider hooks in the hot path — it sits in the developer-tooling / deploy-scripting layer..env-per-environment convention. It is a file manipulation utility, not a secrets manager: it does not encrypt, does not broker credentials, and does not reconcile with a vault.Integration feasibility
composer require jordanpartridge/conduit-env-manager (standalone) and conduit components install env-manager (author's component ecosystem). The Composer path should be treated as the default; the Conduit path introduces a second toolchain and a wrapper dependency that needs its own review.composer remove, not an architectural commitment. That lowers the cost of a time-boxed spike.Technical risk
env:backup --name before-deploy writes a timestamped copy of .env to disk. If that path is inside the repo and not gitignored by default, the first git add -A after a backup commits production credentials. This is the single highest-impact risk in the release and is not addressed in the notes.MAIL_HOST, STRIPE_ACCT, AWS_ACCT_ID, or proprietary names will pass through unredacted into terminal scrollback and CI logs. Confirm redaction also applies to --json output and to error/exception messages, not just the happy-path table..env mutation. No dry-run or atomic-write guarantee is mentioned. Concurrent CI jobs writing the same .env, or an interrupted write, can leave a truncated config that fails at deploy time rather than at write time.Key questions
env:backup write by default, is that path gitignored out of the box, and what is the retention/cleanup story? Is there a --path override to force backups outside the workspace?--json, env:get <name>, and error output?.env write atomic (temp file + rename)? Is there a --dry-run and a confirmation gate for --all bulk operations?Stack fit
env:init from a template), CI bootstrap of throwaway .env files, and pre-deploy snapshotting in deploy scripts..env is not the source of truth.--json, --no-interaction, --all, and consistent exit codes are the right primitives for pipeline use; this is the strongest part of the release and the main reason to adopt it.Migration path
Compatibility
artisan env:*, as conduit env:*, or both. Mixed invocation styles across the org create documentation drift.#, =, quotes, and $ are the classic .env corruption cases and the most likely source of "silent wrong value" bugs.Sequencing
.env against expectations for tricky values.env:init and env:set to one or two repos, read-only usage in CI.env:get --all --json for assertions and drift checks only. No writes from pipelines yet.env:set/env:backup in a single pipeline, with the backup path outside the workspace and excluded from build artifacts.Maintenance
Support
.env end up like this" — which means the env:backup restore path is the primary support tool and needs a documented, tested runbook before rollout.Scaling
.env. Scope writes to per-job workspaces or serialize the step.Failure modes
.env copies committed to git or attached as CI artifacts. Highest severity, easiest to prevent, most likely to be forgotten..env — interrupted write or concurrent access produces a valid-looking but wrong config that only fails at deploy..env only; there is no reconciliation with platform environment variables, so it can create an illusion of consistency that doesn't hold in production.Ramp-up
Recommendation: adopt for local dev scaffolding and CI bootstrap with a pinned version, gated write access in pipelines, and backups forced outside the repo. Do not treat it as a production secrets mechanism, and do not adopt the Conduit component channel without separate review.
How can I help you explore Laravel packages today?