ADR (Architecture Decision Record) Generator
Create well-structured Architecture Decision Records.
Workflow
- •
Determine ADR location and numbering:
- •Check for existing ADR directory:
docs/adr/,docs/decisions/,adr/,doc/architecture/decisions/. - •If none exists, create
docs/adr/. - •Find the next sequence number from existing ADR files.
- •File naming:
NNNN-<kebab-case-title>.md(e.g.,0005-use-postgresql-for-persistence.md).
- •Check for existing ADR directory:
- •
Gather the decision context:
- •What problem or question prompted this decision?
- •What constraints exist (technical, business, team)?
- •What options were considered?
- •
Generate the ADR using this template:
markdown
# <NUMBER>. <Title> Date: YYYY-MM-DD ## Status <Proposed | Accepted | Deprecated | Superseded by [ADR-NNNN](NNNN-title.md)> ## Context <What is the issue that we're seeing that is motivating this decision or change?> ## Decision <What is the change that we're proposing and/or doing?> ## Consequences ### Positive - <benefit> ### Negative - <trade-off> ### Neutral - <side effect>
- •Link related ADRs:
- •If this supersedes a previous decision, update the old ADR's status.
- •Cross-reference related decisions.
Guidelines
- •Use the format from Michael Nygard's ADR template as the default.
- •Keep the context section factual and objective.
- •List all options considered, not just the chosen one.
- •Be explicit about trade-offs in consequences.
- •Write for a future team member who needs to understand why this decision was made.
- •Status should be "Proposed" unless the user specifies it's already accepted.
- •If the user describes a decision conversationally, extract the structured ADR from their description.