ADR 模板
一个可复制粘贴的起始文件,让作者把时间花在内容而非格式上。
为什么
摩擦力会杀死文档。如果工程师要记住 ADR 需要哪些字段、什么顺序,大多数人干脆不写。一个签入仓库的模板消除了这个认知负担:复制文件、填空、完成。有模板的团队写的 ADR 数量是没有模板的 3-5 倍,因为真正的瓶颈是空白页问题,而非写作本身。
何时使用
每个仓库设置一次,之后每个新决策复制即可。模板本身耗时 20 分钟,之后无需重做。
如何做
1. 创建 docs/adr/0000-template.md,把标准字段作为标题 - 加行内注释(<!-- ... -->)说明每个字段要什么 2. 加 justfile/Makefile 目标:'make adr TITLE="use-redis"',它会: - 找到下一个空闲编号 - 把模板复制到 docs/adr/NNNN-use-redis.md - 在 $EDITOR 里打开 3. 在 CONTRIBUTING.md 加一行:"架构决策需要 ADR——运行 make adr" 4. 可选:加 adr-tools(npm)来 lint 每个 ADR 是否含全部必填字段
示例
# NNNN. <标题> - Status: Proposed - Date: YYYY-MM-DD - Deciders: @alice, @bob - Context: <!-- 有哪些作用力、约束、备选?≥3 段 --> - Decision: <!-- 一句加粗的话。 --> - Consequences: + <!-- 正面 --> - <!-- 负面 --> ~ <!-- 中性 --> $ make adr TITLE="use-redis-for-cache" → 已创建 docs/adr/0012-use-redis-for-cache.md