用途:编写一份或多份 ADR 文档,与 PRD 一起让 AI 开发代理无歧义地实现功能或应用。技术实现细节与测试策略放在 ADR 中,而非 PRD。
主要能力:先读取 docs/PRD.md(若存在),否则请用户描述功能、使用者与主要流程;至少提出 5 个聚焦的澄清问题,覆盖框架/语言/运行时、已定库或工具、部署约束、持久化策略、外部 API、性能与规模预期、安全要求、测试要求、既有架构模式;再查阅当前技术文档,优先使用 Context7 CLI(ctx7 或 npx ctx7@latest),按已提供的 ID 用 docs <libraryId> "<question>",否则先用 library <name> "<question>" 解析;CLI 不可用则用 Context7 MCP 或官方文档,并把已验证的 Context7 ID 记入 ADR 的 Technology Documentation References 表,无 ID 则记录官方文档链接,不得编造 ID。
使用方式:按复杂度选择结构。简单项目用单文件 docs/ADR/000-[short-description].md;复杂项目用文件夹,docs/ADR/000-main-architecture.md 加 001-[area].md、002-[area].md 等,每个技术领域一个文件。文件名用零填充编号加短 kebab-case 描述,不含 ADR 字样。主架构模板包含概述、技术文档引用、系统架构、模块结构与依赖、数据模型、API/接口契约、环境变量、技术决策、图表、测试策略;细分模板包含范围、技术文档引用、组件设计、数据结构、接口契约、技术决策、图表、测试策略。
限制:ADR 一律用英文撰写;不写实现代码,只描述做什么而非怎么做;不得含糊,约束与决策须具体可验证;图表为必需,含架构图、数据流图与各流程时序图;测试策略为必需,推荐 TDD;不实现代码,只提供技术细节;未决问题应明确记录而非编造答案。