Skip to content

docs: add TOC, package links, and required/optional env column#19

Merged
amrtgaber merged 1 commit into
mainfrom
chore/readme-improvements
Apr 12, 2026
Merged

docs: add TOC, package links, and required/optional env column#19
amrtgaber merged 1 commit into
mainfrom
chore/readme-improvements

Conversation

@amrtgaber
Copy link
Copy Markdown
Contributor

Summary

Knocks out the three open README housekeeping issues in one PR.

Closes #13 — adds a Table of Contents with anchor links to every top-level section and key subsections.

Closes #14 — links each row in the Tech Stack table to the canonical package docs (FastAPI, PostgreSQL, asyncpg, SQLAlchemy, Alembic, FastAPI-Users, slowapi, uv, Docker, Docker Compose, Pytest, pytest-asyncio, Ruff, pre-commit).

Closes #15 — adds a "Required" column to the Environment Variables table.

Required/Optional semantics

Every env var in app/config.py has a default value, so strictly speaking nothing is required to start the app in dev. The "Required" column instead reflects what production config validation (Settings.validate_production_settings) enforces:

  • SECRET_KEY — rejects weak defaults and values shorter than 32 chars
  • DATABASE_URL — rejects the default postgres:postgres@ credentials
  • CORS_ORIGINS — empty in prod means the frontend can't talk to the backend (dev uses localhost:5100-5199 regardless of this var)

These three are marked Required; everything else is Optional. The table has an intro sentence explaining the semantics so readers don't need to dig into config.py.

Also reordered the table so ENVIRONMENT appears first, since the "Required" semantics depend on it.

Test plan

  • uv run ruff format --check . — clean
  • Verify all TOC anchor links resolve correctly when rendered on GitHub
  • Verify all Tech Stack package links are still valid

- Add Table of Contents with anchor links to every section
- Link each Tech Stack row to the canonical package docs
- Add 'Required' column to Environment Variables table,
  marking values that production config validation rejects
  when left as defaults (DATABASE_URL, SECRET_KEY, CORS_ORIGINS)
- Reorder env vars so ENVIRONMENT is first (since 'Required'
  semantics depend on it)

Closes #13
Closes #14
Closes #15
@amrtgaber amrtgaber merged commit 7965941 into main Apr 12, 2026
2 checks passed
@amrtgaber amrtgaber deleted the chore/readme-improvements branch April 12, 2026 18:50
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.

add column in env variables section for required/optional link to packages in readme add toc to readme with links

1 participant