| name | adr |
| description | Keep track of architectural decisions in a structured format using Architecture Decision Records (ADRs). |
Architecture Decision Records (ADRs)
Manage architectural decisions as structured markdown documents in docs/adr/.
Directory Structure
docs/adr/
├── INDEX.md # Index with TOC (read this first)
├── ADR-001-nats-jetstream-instead-of-kafka.md # Individual ADR
├── ADR-002-embedded-nats-server.md
└── ...
Workflow
Before doing anything
- Read
docs/adr/INDEX.md to see the current index of all ADRs
- Only read individual ADR files if their content is relevant to the current task
Creating a new ADR
- Read
docs/adr/INDEX.md to determine the next available number
- Create the ADR file using the template below
- Update
docs/adr/INDEX.md to add the new entry to the TOC
- FDR sweep: after writing, scan
docs/fdr/INDEX.md for features whose design now relates to this ADR. Update those FDRs to cite the new ADR in their Related → ADRs line. (ADRs themselves don't carry a Related FDRs section — citations flow FDR → ADR only.)
Updating an ADR
- Read
docs/adr/INDEX.md to find the ADR
- Read the specific ADR file
- Make changes (typically amending the consequences or adding context)
- Update the TOC in
docs/adr/INDEX.md if the title changed
Superseding an ADR
- Create a new ADR that references the old one
- Add a note to the old ADR's Context or Decision section pointing to the replacement
- Update the TOC to include the new entry