Skip to content

docs(readme): expand env-vars table to match full .env.example surface#176

Merged
CryptoJones merged 1 commit into
masterfrom
docs/readme-env-table-completeness
May 19, 2026
Merged

docs(readme): expand env-vars table to match full .env.example surface#176
CryptoJones merged 1 commit into
masterfrom
docs/readme-env-table-completeness

Conversation

@CryptoJones
Copy link
Copy Markdown
Owner

Closes #175.

Summary

README's Environment Variables table covered 9 of the 19 env vars
the codebase actually consumes. Resynced it to the full surface,
grouped by concern: server / proxy / db / logging / body / security
/ rate-limit / observability / lifecycle / tls.

Operators now get a complete picture of what they can tune from the
README directly, without having to discover the rest by reading
.env.example or grepping the source. .env.example remains cited
as the canonical artifact.

Test plan

  • npm run lint clean
  • npm test — 622 passed (docs-only change, no test surface)
  • Every process.env.* reference in app/ and server.js now has a row in the README table

Proudly Made in Nebraska. Go Big Red! 🌽 https://xkcd.com/2347/

….example

The Environment Variables table in README.md listed only 9 rows and
ended at PUBLIC_BASE_URL. Meanwhile the codebase consumes 19 env
variables — most of them production-relevant knobs:

  - NODE_ENV               strict-mode trigger
  - TRUST_PROXY            reverse-proxy IP resolution
  - LOG_LEVEL / LOG_PRETTY pino tuning
  - DB_LOG_QUERIES         SQL trace gate
  - JSON_BODY_LIMIT        DoS body cap
  - HELMET_CSP             CSP toggle
  - RATE_LIMIT_MAX / _WINDOW_MS
  - METRICS_BEARER_TOKEN   /metrics auth
  - SHUTDOWN_TIMEOUT_MS    drain budget
  - TLS_DOMAIN / TLS_EMAIL Caddy compose

`.env.example` documents all of them but the README is what operators
read first to size up the deployment surface. A scan of the existing
9-row table left them thinking they'd seen everything.

Resync the table so the README is itself a complete reference, with
`.env.example` still cited as the canonical artifact. Grouped by
concern (server / proxy / db / logging / body / security / rate-limit
/ observability / lifecycle / tls) so an operator can find what they
need without paging the whole table.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@CryptoJones CryptoJones merged commit e0975c7 into master May 19, 2026
3 checks passed
@CryptoJones CryptoJones deleted the docs/readme-env-table-completeness branch May 19, 2026 08:49
CryptoJones added a commit that referenced this pull request May 19, 2026
… env.js, never documented (#220)

`.env.example` was missing `NODE_ENV` despite the code consuming it
in `app/config/env.js` to gate the empty-DB_PASSWORD hard-fail.
Operators reading the example file as the canonical reference (per
its own header) missed one of the 19 env vars the app actually
reads.

The README env table already covers NODE_ENV after #176. This
brings `.env.example` into sync with both the README and the actual
code.

Co-authored-by: Aaron K. Clark <akclark@thenetwerk.net>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs(readme): env-vars table only documents 9 of 19 configurable env variables

1 participant