This document is generated automatically. Do not edit.
This directory contains the project's Architecture Decision Records (ADRs).
An ADR records a significant architectural decision, the context in which it was made, the options considered, and the consequences of the chosen approach.
Create an ADR when a decision:
- Has a significant effect on system architecture
- Introduces, replaces, or removes an important technology
- Changes data ownership or system boundaries
- Introduces long-term operational constraints
- Has meaningful security, reliability, performance, scalability, or cost implications
- Is expensive or difficult to reverse\
Do not create ADRs for:
- Routine implementation details
- Minor refactoring
- Coding style decisions
- Easily reversible local changes
Proposed
│
├── Accepted
│ │
│ ├── Superseded
│ └── Deprecated
│
└── Rejected
| Status | Meaning |
|---|---|
| Proposed | Under discussion |
| Accepted | Approved and should be followed |
| Rejected | Considered but not selected |
| Deprecated | Still valid historically but no longer recommended |
| Superseded | Replaced by a newer ADR |
Use:
NNNN-short-kebab-case-title.md
Example:
0001-use-postgresql-for-transactional-data.md
ADR numbers are immutable.
Create a new ADR from template.md and assign the next available sequential
number.
The ADR filename must use:
NNNN-short-kebab-case-title.md
Before accepting an ADR:
- Complete all required metadata.
- Document the considered options.
- Record the consequences and risks.
- Submit the ADR through the normal pull-request review process.
- Regenerate this README.
Do not rewrite the decision in an accepted ADR.
Instead:
- Create a new ADR.
- Set the new ADR's
supersedesmetadata. - Set the old ADR's
superseded_bymetadata. - Change the old ADR's status to
Superseded. - Regenerate this README.
This preserves the architectural history of the project.
This README is generated and must not be edited manually.
After creating, renaming, or removing an ADR, regenerate the index:
adr generate toc \
-i docs/adr/intro.md \
-o docs/adr/outro.md \
> docs/adr/README.md