§4
模板库:拿去就能用
四份模板都是我实际在用的版本做了通用化(把本机路径换成占位符)。复制后按「删掉这行 agent 会做错什么」的标准裁剪成你自己的。
T1 · 全局 CLAUDE.md(路由 + 硬纪律 + 反借口表 + 记忆协议)
~/.claude/CLAUDE.md
# 全局约定
## 开工路由:先自报改动等级
- **L0 小改**(<30 分钟、影响面一目了然):直接做,验证门槛不减。
- **L1 中改**(≤半天、改行为、存量演进):先出变更提案,批准后实现,完成后归档回写 spec。
- **L2 大活**(多天、新子系统/新项目):走全链 brainstorm → spec → architecture
→ plan → 分步实现 → review → qa → ship。
- 修 bug 走 debug 流程(先根因后动手),不参与分级。
开工时先说「这是 L 几」,拿不准就问。
## 硬纪律(不可协商)
1. 没跑验证不许说「完成」——必须给出运行命令与输出证据。
2. L1/L2 改行为必须测试先行(红 → 绿 → 重构)。
3. 修 bug 先定位根因,未定位不许改代码。
4. L1/L2 未经批准的 spec/plan 不写产品代码。
5. 不确定就问,不许编造 API 或事实。
## 反借口表(出现这些念头 = 停下)
| 借口 | 反驳 |
|---|---|
| 「先跳过测试,回头补」 | 回头不存在。现在写。 |
| 「改动太小不用验证」 | 小改动引发的事故最多。跑一遍。 |
| 「应该能工作 / 看起来对」 | 「应该」不是证据。要输出。 |
| 「直接修快一点」 | 不查根因的修复会回来第二次。 |
| 「这个不用写进 spec」 | 没写下来的东西不存在。 |
## 记忆协议
- 项目档案在 <你的笔记库>/<项目>/:开工先读 index,收工把进度/决策/踩坑写回。
- plan / review / debug 开工先查该项目的 Learnings 与 ADR,
命中要在产出里标 Known Pattern 并遵循;修完非平凡 bug 主动提议沉淀。
## 本机
- (把你机器上的环境陷阱写在这里,例:node 要用绝对路径 ~/.nvm/.../bin/node)
全局层只写「稳定、且 agent 猜不到」的东西。语言偏好、模型选择这类配置项放 settings,不占 CLAUDE.md。
T2 · 项目 CLAUDE.md(五要素 + 指针)
<repo>/CLAUDE.md
# <项目名>(项目约定)
## 项目是什么
一句话:做什么、给谁用。线上地址 / 部署方式。
## 技术栈与关键命令
- 栈:<语言 / 框架 / 数据库>
- 构建:`<命令>` · 测试:`<命令>` · 本地起服务:`<命令>`
- 部署:<怎么发布,push 即上线还是要跑脚本>
## 约定
- 目录结构要点、命名规则、代码风格里「模型猜不到」的部分。
## 边界(不许碰)
- <目录/文件>:为什么不许动(需要硬保证就再加 permissions deny 或 hook)。
## 范例
- 新增 <页面/模块/接口> 照 `<某个真实文件路径>` 写——范例比十条规则管用。
## 指针(引用,不内联)
- 进度与决策档案:<笔记库项目文件夹路径>(开工先读 index)
- 深入文档:`docs/<...>`
五要素出自 Addy 的 context-engineering:stack / commands / conventions / boundaries / 一个好范例。实现细节永远用文件引用,不复制进来。
T3 · 踩坑 pattern(Learning)模板
<笔记库>/<项目>/Learnings/YYYY-MM-DD-主题.md
# <一句话说清坑>
- **症状**:报什么错 / 什么行为
- **根因**:真正原因(不是表象)
- **解法**:怎么修的,贴关键命令或代码点(file:line)
- **防复发**:下次怎么提前发现 / 避免(检查命令、写进哪个配置、加了什么测试)
- **适用边界**:什么情况下这条不适用
≤15 行,写给两周后的自己 30 秒能用上。判断要不要记的标准不是坑的大小,是会不会再犯。
T4 · 架构决策记录(ADR)模板
<笔记库>/<项目>/ADRs/YYYY-MM-DD-决策名.md
# <决策名> (status: proposed | accepted | superseded)
- **背景**:什么问题逼出这个决策
- **选项**:候选方案 + 一句话权衡
- **决定**:选了什么
- **后果**:接受了什么代价;什么信号出现时该重审
被推翻的旧 ADR 改 superseded 并链到新档,不删除——决策历史本身就是 context。质询(grill)收敛时顺手写 ADR,让「问清楚」这个动作直接变成沉淀。