Generates Architecture Decision Records capturing context, rationale, alternatives, and consequences in numbered status-tracked format. Triggers on: "write an ADR", "document this decision", "architecture decision record", "decision record", "design decision", "ADR for".
Captures architecture decisions in a lightweight, structured format that preserves context, rationale, alternatives, and consequences. Produces numbered ADR documents with proper status lifecycle — preventing the "why did we do it this way?" problem when revisiting decisions months later.
| File | Contents | Load When |
|---|---|---|
references/adr-template.md | Standard ADR template with field explanations and examples | Always |
references/status-lifecycle.md | Status transitions, supersession rules, deprecation process | ADR references existing decisions |
references/context-capture.md | Techniques for eliciting and documenting decision context | Complex or multi-stakeholder decision |
references/alternatives-analysis.md | Framework for evaluating and documenting rejected alternatives | Multiple options being considered |
docs/adr/ or docs/decisions/)Document the forces that shaped this decision:
For each alternative considered:
State the chosen option and why it was selected given the context and constraints. The decision should follow logically from the context + alternatives analysis.
Document what this decision makes easier and harder:
# ADR-{NNN}: {Descriptive Title}
**Status:** {Proposed | Accepted | Deprecated | Superseded by ADR-XXX}
**Date:** {YYYY-MM-DD}
**Author:** {name}
**Supersedes:** {ADR-XXX (if applicable)}
## Context
{What situation requires a decision? What constraints exist? What forces are at play?
Write in present tense — describe the situation as it exists at decision time.}
## Decision
{State the decision clearly and concisely. "We will use X for Y because Z."
One to three sentences. The reader should understand the decision without reading
the rest of the document.}
## Alternatives Considered
### {Alternative 1 Name}
- **Pros:** {specific benefits}
- **Cons:** {specific drawbacks}
- **Rejected because:** {concrete, specific reason tied to context}
### {Alternative 2 Name}
- **Pros:** {specific benefits}
- **Cons:** {specific drawbacks}
- **Rejected because:** {concrete, specific reason tied to context}
## Consequences
### Positive
- {Concrete benefit 1}
- {Concrete benefit 2}
### Negative
- {Concrete tradeoff 1 — acknowledged and accepted}
- {Technical debt incurred — with plan to address if applicable}
### Neutral
- {Side effect that is neither positive nor negative}
## References
- {Link to related issue, discussion, document, or prior ADR}
| Problem | Resolution |
|---|---|
| User cannot articulate alternatives | Help them brainstorm by asking: "What else could you have done? What did you consider and reject?" |
| Decision is trivial (no real alternatives) | Suggest it doesn't need an ADR. ADRs are for non-obvious decisions with tradeoffs. |
| Decision already made, no context remembered | Reconstruct context from code, PRs, commit history. Note reconstructed context as "best available." |
| Existing ADR numbering scheme unknown | Check docs/adr/ or docs/decisions/. If no directory exists, suggest creating one and starting at 001. |
| Decision scope is too broad | Split into multiple focused ADRs. One for the database choice, one for the caching strategy, etc. |
Push back if: