名称: adr-management 描述: 创建和管理架构决策记录(ADRs)。在需要随时间跟踪的技术选择、设计决策或架构变化时使用。这是规范的ADR技能 - 所有ADR相关工作都应使用此技能。 参数提示: <标题> 允许的工具: Read, Write, Glob, Grep, Skill, mcp__perplexity__search, mcp__context7__query-docs
ADR管理
注意: 这是插件生态系统中的规范ADR技能。有关详细的ADR模板(Nygard、MADR、Enterprise),请使用MCP工具(
perplexity、context7)研究当前最佳实践。
何时使用此技能
在需要以下情况时使用此技能:
- 文档化技术选择或设计决策
- 记录为什么选择特定方法而不是替代方案
- 跟踪架构决策的历史
- 为团队入职创建可搜索的决策记录
关键词: adr、架构决策记录、决策日志、为什么我们选择、考虑的替代方案、设计决策、技术选择
ADR工作流
创建新的ADR
-
确定下一个ADR编号
- 检查
/architecture/adr/中的现有ADRs - 使用顺序编号:0001、0002、0003等。
- 检查
-
创建ADR文件
- 位置:
/architecture/adr/NNNN-title-in-kebab-case.md - 使用
references/adr-template.md中的模板
- 位置:
-
填写必需部分
- 状态:以“Proposed”开始
- 日期:当前日期,格式为YYYY-MM-DD
- 上下文:描述问题和约束
- 决策:清晰陈述决策
- 后果:列出积极、消极和中性结果
-
文档化替代方案
- 列出每个考虑的替代方案
- 包括优点、缺点以及为什么被拒绝
-
可选:生成上下文图
- 如果可视化插件可用,生成显示决策上下文的图
- 为C4或组件图生成
visualization:diagram-generator代理 - 或使用
visualization:diagram-patterns技能获取图表类型指导
ADR状态生命周期
| 状态 | 含义 |
|---|---|
| Proposed | 决策正在讨论中 |
| Accepted | 决策已批准并实施 |
| Deprecated | 决策不再相关但保留历史 |
| Superseded | 决策已被新ADR取代 |
当取代ADR时:
- 将旧ADR的状态更新为“Superseded by ADR-XXXX”
- 在新ADR的“相关决策”部分引用旧ADR
搜索现有ADRs
在创建新ADR之前,搜索现有相关决策:
# 搜索ADR标题
ls /architecture/adr/
# 搜索ADR内容中的关键词
grep -r "keyword" /architecture/adr/
与架构原则集成
当决策涉及以下情况时,将ADRs链接到架构原则:
- 实施一个原则
- 对一个原则做出权衡
- 建立新原则
引用格式:“此决策实施原则P1:[原则名称]”
模板参考
ADR模板可在references/adr-template.md中找到。关键部分:
- 状态:决策的当前状态
- 日期:决策做出的时间
- 决策者:谁参与
- 上下文:问题和约束
- 决策:决定的内容
- 后果:结果(积极、消极、中性)
- 考虑的替代方案:评估的其他选项
- 相关决策:链接到相关ADRs
- 参考:支持文档
最佳实践
- 每个ADR一个决策 - 保持ADRs专注
- 不可变历史 - 从不删除ADRs,只取代
- 链接决策 - 引用相关ADRs
- 包括上下文 - 未来读者需要理解约束
- 诚实对待权衡 - 也记录负面后果
相关:规范驱动的ADRs
如果从规范中提取决策,考虑使用spec-driven-development插件的/spec:adr:create,它直接将ADRs链接到规范ID(SPEC-xxx)。这些ADRs存储在docs/adr/中(链接到规范ID)。
两种方法都使用MADR格式,可以在同一项目中共存。
仓库结构
确保项目有标准架构目录:
/architecture/
/adr/
0001-record-template.md
0002-first-decision.md
...
如果目录不存在,在添加ADRs之前创建它。
用户界面
当用户直接调用时,此技能创建新的ADR。
执行工作流
- 确定下一个ADR编号 通过扫描
/architecture/adr/中的现有ADRs(顺序:0001、0002等) - 创建ADR文件 使用标准模板,顺序编号,初始状态“Proposed”,当前日期(UTC),以及来自参数的标题
- 报告创建的文件路径 以便用户完成上下文、决策和后果部分
示例用法
/ea:adr-management 使用PostgreSQL进行持久化
/ea:adr-management 采用微服务架构
版本历史
- v1.0.0 (2025-12-05): 初始发布
- ADR创建和管理工作流
- 状态生命周期文档
- 与架构原则集成
- 模板参考和最佳实践
最后更新
日期: 2025-12-05 模型: claude-opus-4-5-20251101