adr
Create a new Architecture Decision Record (MADR) in docs/adr, or supersede an existing one, and update the ADR index. Use when a change introduces or alters an architectural decision, or when the user
SKILL.md.claude/skills/adr/SKILL.md
GitHubCreate an ADR
- Read
docs/adr/README.mdand the ADRs related to the topic. If an accepted ADR already covers it, decide with the user whether this is a clarification (no ADR needed) or a change (a new ADR that supersedes the old one).- Before the first stable release (1.0), a change may be made in place instead (ADR-0001): edit the accepted ADR, add a dated note under More Information saying what changed and why, and bump its
date. From 1.0 on, always write a new ADR.
- Before the first stable release (1.0), a change may be made in place instead (ADR-0001): edit the accepted ADR, add a dated note under More Information saying what changed and why, and bump its
- Take the next free number
NNNN(4 digits; never reuse a number). File name:docs/adr/NNNN-kebab-case-title.md. - Copy
docs/adr/template.md. Fill in:- front matter:
status: proposed, today's date,decision-makers: milten89 - context and problem statement (a question), decision drivers, at least two considered options, the outcome with honest consequences (good and bad), and a Confirmation section saying how compliance is checked (a test, an analyzer, a CI step or a review rule).
- front matter:
- Don't invent the maintainer's preferences. If the decision isn't clear from the conversation, ask before writing the outcome.
- If it supersedes an ADR: in the old file set
status: superseded by ADR-NNNNand add a link. Don't change its content otherwise. - Add a row to the table in
docs/adr/README.md. - If the decision changes rules summarized in
CLAUDE.md, updateCLAUDE.mdin the same change, and open an issue for any follow-up work (the project adds it with StatusTriage). - Write it in English (ADR-0009).