用途:docs-adr 用于创建新的架构决策记录(ADR),把一项架构决策的背景、备选方案与后果写成编号文档。触发方式包括“create an ADR”等指令。
主要能力:支持三种模板变体。nygard(默认)含 Status、Context、Decision、Consequences;lightweight 含 Status、Decision、Rationale,适合简单决策;full 含 Status、Context、Decision Drivers、Considered Options、Decision、Consequences(Positive/Negative/Neutral)、Pros and Cons、Related Decisions、References,适合复杂高影响决策。
使用方式:命令形如 docs-adr "Database Migration Strategy",或 docs-adr lightweight "Use Redis for Session Storage"、docs-adr full "Adopt Event-Driven Architecture"。变体关键字须作为标题前的独立词,标题内部的同名词不会被当作变体。流程为:解析标题与变体;扫描 docs/adr/ 中 XXXX-* 文件取最大编号加一(无则从 0001 开始,四位补零);标题转 kebab-case 小写;用 Task 工具或直接 grep/find 收集代码库上下文;加载 assets/templates/ 下模板并替换其中实际存在的 {{TOKEN}},替换后不得残留未解析占位符;写入 docs/adr/XXXX-kebab-case-title.md,初始 Status 为 Proposed;最后报告编号、标题、路径与后续步骤。
限制与注意:强调反幻觉,ADR 中每项声明都须可在仓库中验证,需确认技术真实存在、引用真实文件路径与真实代码、Context 反映已验证现状。一个 ADR 只记一项决策,使用祈使语气,记录真实取舍与缺点,并按编号交叉引用相关或被取代的 ADR。状态生命周期为 Proposed → Accepted → Deprecated 或 Superseded。首个 ADR 惯例为 0001-record-architecture-decisions.md。若未提供标题,应停止并询问用户,不得编造占位标题。其他收费、平台等信息暂未提供。