| name | architecture-decision |
| description | 创建架构决策记录(Architecture Decision Record, ADR),记录重大技术决策及其背景、备选方案和影响后果。每个重大技术选择都应有对应的 ADR。 |
| argument-hint | [标题] |
| user-invocable | true |
| allowed-tools | Read, Glob, Grep, Write |
当此技能被调用时:
-
确定下一个 ADR 编号,通过扫描 docs/architecture/ 目录中已有的 ADR 文件。
-
收集上下文,阅读相关代码和已有 ADR。
-
引导用户完成决策,如果仅凭标题不足以明确决策内容,则提出澄清问题。
-
生成 ADR,遵循以下格式:
# ADR-[NNNN]: [标题]
## 状态
[拟议 | 已采纳 | 已弃用 | 被 ADR-XXXX 取代]
## 日期
[决策日期]
## 背景
### 问题描述
[我们要解决什么问题?为什么现在需要做出这个决策?]
### 约束条件
- [技术约束]
- [时间约束]
- [资源约束]
- [兼容性要求]
### 需求
- [必须支持 X]
- [必须在 Y 预算内执行]
- [必须与 Z 集成]
## 决策
[具体的技术决策内容,描述足够详细以便他人实施。]
### 架构图
[此决策所创建的系统架构的 ASCII 图表或描述]
### 关键接口
[此决策创建的 API 契约或接口定义]
## 备选方案
### 备选方案 1:[名称]
- **描述**:[工作原理]
- **优点**:[优势]
- **缺点**:[劣势]
- **否决原因**:[为何未被采用]
### 备选方案 2:[名称]
- **描述**:[工作原理]
- **优点**:[优势]
- **缺点**:[劣势]
- **否决原因**:[为何未被采用]
## 影响
### 正面影响
- [此决策带来的良好结果]
### 负面影响
- [接受的权衡和代价]
### 风险
- [可能出现的问题]
- [各项风险的应对措施]
## 性能影响
- **CPU**:[预期影响]
- **内存**:[预期影响]
- **加载时间**:[预期影响]
- **网络**:[预期影响(如适用)]
## 迁移计划
[如果此决策涉及现有代码变更,如何从当前状态过渡到目标状态?]
## 验证标准
[如何判断此决策是否正确?采用哪些指标或测试?]
## 相关决策
- [关联 ADR 链接]
- [关联设计文档链接]
- 保存 ADR 至
docs/architecture/adr-[NNNN]-[slug].md。