The CLI loads .env itself — init's promise finally holds
First finding of Eric's clean-room run, and the exact kind the rehearsal exists for: init writes credentials to .env, but nothing ever loaded it — the dev repo's committed .envrc + direnv did it invisibly, and a fresh directory has neither. The web banner then advised "run bggpipe init or load .env", circular counsel for someone who just ran init. A typer callback now loads ./.env before every command, using the same parsing rules as the wizard that writes it (export prefixes, quoted values, quoted-empty = unset). Real environment variables always outrank the file, so direnv setups and explicit overrides keep working unchanged. Verified in a scrubbed-environment clean room: the credentials banner is gone with nothing but .env present. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016jXZFSTZQKzAC8fqpWSz9g
This commit is contained in:
co-authored by
Claude Fable 5
parent
2542560d57
commit
1df784e253
@@ -89,7 +89,7 @@ Your photos and every pipeline artifact live in the directory where you run it,
|
||||
|
||||
The `init` wizard is idempotent — re-run it anytime to check status or add keys you skipped. It prompts for the credentials below (hidden input, saved to a `.env` it creates with owner-only permissions) and offers the one-time Playwright Chromium download. Prefer doing it by hand? Copy [.env.example](.env.example) beside your data, fill it in, and run `playwright install chromium` yourself.
|
||||
|
||||
Secrets live in environment variables only, never in config files, code, or logs. `.env` is gitignored. If you use [direnv](https://direnv.net/), the committed `.envrc` loads `.env` automatically after a one-time `direnv allow`; otherwise export the variables yourself (e.g. `set -a; source .env; set +a`).
|
||||
Secrets live in environment variables only, never in config files, code, or logs, and `.env` is gitignored. Every `bggpipe` command loads `.env` from the working directory by itself — real environment variables always win over the file, so [direnv](https://direnv.net/) users and CI overrides keep working unchanged.
|
||||
|
||||
| Variable | Used by | What it is |
|
||||
|---|---|---|
|
||||
|
||||
Reference in New Issue
Block a user