这是啥

CLAUDE.md 是放在项目根目录的一个 markdown 文件。Claude Code 每次启动自动读它,相当于给 AI 的一张”项目说明书”。

官方 claude-code-docs/memory.md 的措辞:

“Claude Code automatically loads CLAUDE.md into context at the start of every session.”

三层结构

重要但大家常忽略:CLAUDE.md 有三层,作用域不同。

路径作用域谁维护
项目级~/my-project/CLAUDE.md只对这个项目生效团队
个人项目级~/my-project/CLAUDE.local.md只对你本机+这个项目你自己(不进 git)
全局级~/.claude/CLAUDE.md所有项目都生效你自己

三层都会被读,合并进上下文。规则冲突时,局部覆盖全局。

来源:claude-code-docs/memory.md + best-practices-page.md “Memory” 节。

该写啥、不该写啥

官方 best-practices-page 给的明确表(✅ Include / ❌ Exclude)简化版:

✅ 该写

  • 常用 bash 命令(npm testbun run build
  • 代码风格约定(用 tab 还是 space、用 literal union 不用 enum)
  • 项目结构说明(这个目录放啥)
  • 测试怎么跑、部署怎么做
  • 常见错误的预防(“不要用 enum”、“不要 stop 容器”)

❌ 别写

  • 应该靠 prompt 每次说的临时要求
  • 保密信息(API key、密码、内部 URL)
  • 超长的东西(> 2000 行就该拆)
  • 无关的历史变更日志

Boris 的核心做法(tip 4+5,单点来源但非常有代表性)

Boris 团队的 CLAUDE.md 有两个关键习惯:

做法 1:错了就记进去(tip 4 原文)

“Anytime we see Claude do something incorrectly we add it to the CLAUDE.md, so Claude knows not to do it next time.”

CLAUDE.md 不是一次写完,是持续增长的错题本。Claude 犯一次错 → 加一条规则。

做法 2:PR 评论里直接 @claude 加规则(tip 5)

nit: use a string literal, not ts enum
@claude add to CLAUDE.md to never use enums

Claude 自动把规则加进 CLAUDE.md 并提交。Boris 称这是 “Compounding Engineering”。

一个能直接抄的最小模板

(合成自官方 best-practices + awesome-claude-code 23 份样本的共同结构)

# [项目名]
 
## 项目简介
(一段话讲这是啥,为谁做)
 
## 常用命令
- `npm test` — 跑测试
- `npm run dev` — 本地开发
- `npm run lint` — 提交前检查
 
## 代码约定
- 用 TypeScript,禁用 `any`
- 优先 `type`,不用 `interface`
- 不用 `enum`,用 string literal union
- 文件名小写,用 `-` 连接(不用下划线)
 
## 目录结构
- `src/` — 源码
- `tests/` — 测试
- `docs/` — 文档
 
## 不要做
- 不要直接改 `main` 分支
- 不要在代码里写死 API key
- 不要 `git push --force` 到共享分支
 
## 犯过的错(持续增长)
- 不要把 `async` 函数标成 `void`(2026-04-10 踩过)
- ...

23 份真实样本的共同特征

扫了 awesome-claude-code 仓库里 23 份真实项目的 CLAUDE.md,出现频率最高的几段:

  1. 项目简介(23/23,100%)
  2. 常用命令(22/23)
  3. 代码约定/风格(20/23)
  4. 目录结构(18/23)
  5. “不要做”清单(15/23,但陈彬认为这一段是最重要的,见下)

陈彬视角

“不要做”清单比”要做”清单重要 3 倍。

原因:AI 犯错的方式远多于做对的方式。你告诉它做对,它有 1000 种做对的方式;你告诉它不要做什么,禁区就是禁区。CLAUDE.md 的价值一大半在禁区描述。

另一个独立观察:CLAUDE.md 写得好不好,基本等于你”工作方式的自我觉察度”有多高。清晰的人写出清晰的 CLAUDE.md;自己都说不清自己咋干活的人,CLAUDE.md 必然一团糟。

关联

官方链接