用途:把架构上重要的单项选择写成持久记录,说明“为什么这样决定”,而非写成宽泛的设计指南。
主要能力:支持前瞻性(Prospective)与回溯性(Retrospective)ADR;识别并拆分独立、分阶段或可分别回滚的决策;使用仓库既有模板,无模板时采用 Nygard 最小结构(状态、背景、决策、后果),需要比较选项时用 MADR;回溯性 ADR 先查 Git 历史,记录相关提交哈希与日期,再对照当前代码、测试、配置和权威平台文档核实每项主张。
使用方式:先阅读仓库说明、现有 ADR、文档工具链及受决策影响的实现;确定记录是前瞻还是回溯,不得把重建的决策伪装成当时所写;背景写约束与作用力而非变相方案,决策表述明确,列出实质收益、成本、风险与限制;状态使用 Proposed、Accepted、Rejected、Deprecated 或 Superseded by ADR-NNN,保留已接受与已拒绝记录,用新 ADR 取代而非改写历史;更新决策日志索引与双向取代链接,用仓库原生工具链渲染或检查文档。
验证命令:python3 skills/architecture-decision-records/scripts/validate_adrs.py docs/adr --git-repo . --require-history;前瞻性记录可省略 --require-history,之后可再加仓库自带的渲染器、链接检查器或 Markdown/ReST 检查器。
质量规则:标识符单调递增且不复用已删除编号;一条记录一个决策,标题描述该决策;区分观察到的事实、所选决策与预期后果;包含可信备选方案,不设稻草人选项;除非 ADR 定义了评分模型并引用测量数据,否则不给出净分数或权重;区分已验证历史与推断、当前政策与过去事实;证据中不得含机密、个人数据和内部凭据;记录保持简洁、独立、可链接、可在代码差异中评审。
资源:references/best-practices.md 提供标准全景、生命周期、证据方法与评审量表;assets/adr-template.md 用于 Markdown 项目;assets/AdrTemplate.rst 用于 TYPO3 等 ReST 文档项目。
限制:资料未提供收费、价格、平台支持范围等信息。