# External Research: ADR Best Practices & Claude Code Integration _Last updated: 2026-07-03_ Two research passes: (1) general ADR best practices independent of any AI tooling, (2) how Claude Code / AI-coding-agent users specifically have integrated ADRs. Gathered by web-research agents, 2026-07-03. Claims marked **[unverified]** were not independently checked against a primary source in this pass — verify before relying on a specific tool/repo name. --- ## Part A — General ADR Best Practices ### 1. File/directory organization Industry consensus favors **one-file-per-decision** over a monolithic running log, following Michael Nygard's original 2011 convention: sequential numbered files (`0001-title.md`, …) in `doc/adr/`, stored alongside code in version control ([Cognitect Blog](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions)). MADR refines this with timestamped naming for sortability ([MADR docs](https://adr.github.io/madr/)). Tradeoffs at scale: - **Advantages**: immutable per-decision history, shallow git diffs (no merge conflicts on a shared log file), sequential numbering creates a shared "decision language." - **Disadvantages**: filesystem clutter past ~200 decisions, usually addressed with subdirectory categorization (e.g. `decisions/backend/`). Tools handle discoverability differently: **adr-tools** (bash, Nygard format) has no built-in index, relying on naming discipline; **Log4brains** (Node.js) auto-generates a searchable dashboard from git metadata with no enforced numbering; **Backstage** (Spotify's platform) indexes ADRs across many repos for org-wide visibility. Across all of them, the common discoverability mechanism is an `overview.md`/`README.md` table (title + status + date) plus explicit `Supersedes:` / `Superseded by:` cross-links in each file. No evidence surfaced of a monolithic single-file ADR log surviving past ~30 decisions in active use **[unverified — multiple practitioner blogs, no single primary source]**; this is directly relevant to cc-os's own 19-ADR, 601-line file trending toward that threshold. ### 2. Content template best practices Three templates dominate: - **Nygard minimal**: Status · Context · Decision · Consequences. Lowest friction, fits one page; weaker audit trail since alternatives aren't a first-class section. - **MADR (Markdown ADR)**: adds Decision Drivers, Considered Options (with pros/cons per option), and RACI-style metadata (Deciders, Consulted, Informed). Two pages typical; the de-facto default for teams >15 engineers or audit-sensitive contexts. - **Y-Statements**: one paragraph — "In the context of ``, facing ``, we decided for `