Help us improve
Share bugs, ideas, or general feedback.
From disciplined-process
Architecture Decision Record format and process. Use when making architectural decisions, documenting technical choices, evaluating alternatives, or when asked about past decisions. Triggers on ADR creation, architecture discussions, or "why did we choose" questions.
npx claudepluginhub rand/disciplined-process-plugin --plugin disciplined-processHow this skill is triggered — by the user, by Claude, or both
Slash command
/disciplined-process:adr-authoringThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
ADRs document significant technical decisions with context, alternatives considered, and rationale. They answer "WHY did we choose this approach?"
Write an Architecture Decision Record — document what was decided, why, what alternatives were considered, and what trade-offs were accepted. Use when asked to "write an ADR", "document this decision", or "why did we choose X".
Document architectural decisions using ADR format. Use when making significant architectural choices that affect future development.
Generates Architecture Decision Records with context, rationale, alternatives, and status lifecycle. Prevents forgotten design rationale.
Share bugs, ideas, or general feedback.
ADRs document significant technical decisions with context, alternatives considered, and rationale. They answer "WHY did we choose this approach?"
Create an ADR when:
Do NOT create an ADR for:
# ADR-{NNNN}: {Title}
**Status**: {Proposed | Accepted | Deprecated | Superseded by ADR-XXXX}
**Date**: {YYYY-MM-DD}
**Deciders**: {Names or roles}
**Relates to**: {SPEC-XX.YY, ADR-XXXX, bd-XXXX}
## Context
{What is the issue we're facing? What forces are at play?}
## Decision
{What is the change we're proposing/decided?}
**We will {specific decision}.**
## Alternatives Considered
### Alternative 1: {Name}
{Description}
**Pros**:
- {advantage}
**Cons**:
- {disadvantage}
### Alternative 2: {Name}
{Description}
**Pros**:
- {advantage}
**Cons**:
- {disadvantage}
## Consequences
### Positive
- {benefit}
### Negative
- {cost/tradeoff}
### Neutral
- {side effect}
## References
- {Link to spec, discussion, research}
Proposed → Accepted → [Active]
↘ Deprecated
↘ Superseded by ADR-XXXX
| Status | Meaning |
|---|---|
| Proposed | Under discussion, not yet decided |
| Accepted | Decision made, in effect |
| Deprecated | No longer relevant, kept for history |
| Superseded | Replaced by newer ADR (link to it) |
ADRs are numbered sequentially: ADR-0001, ADR-0002, etc.
docs/adr/
├── 0001-use-postgresql-for-persistence.md
├── 0002-adopt-event-sourcing.md
├── 0003-switch-to-grpc.md
├── template.md
└── index.md # Optional: ADR index/summary
Reference related artifacts:
**Relates to**: SPEC-03.07, SPEC-03.08, bd-a1b2
## Context
Per SPEC-03.07, the system MUST validate input length.
This ADR decides HOW we implement that validation.
docs/adr/NNNN-<slug>.md