很多人用 Claude Code,第一反应是把提示词写得很长:你是资深工程师、你要严谨、你要先读项目、你不要乱改。其实这些稳定规则,最适合放进 CLAUDE.md。
可以把 CLAUDE.md 理解成项目给 AI 的说明书。人入职要看 README,Claude Code 进项目也需要一份“这里怎么干活”的说明。
一、CLAUDE.md 放在哪里?
最常见的位置就是项目根目录:
/path/to/project/CLAUDE.md
Claude Code 进入项目时会自动读取它。你也可以在不同目录放更细的规则,但新手第一步没必要复杂化,先在根目录写一份清楚的就够了。
二、应该写什么?
我建议分成四块:项目概览、常用命令、代码规范、禁区。
# Project Notes
## 项目概览
- 这是一个 WordPress / Podman 相关项目。
- 主要脚本在 scripts/,配置在 config/。
## 常用命令
- 语法检查:python3 -m py_compile xxx.py
- 测试:pytest tests/
- 查看改动:git diff
## 代码规范
- Python 使用 4 空格缩进。
- 中文界面保留中文备注。
- 修改前先说明计划。
## 禁区
- 不读取 .env、secrets、私钥文件。
- 不执行 rm -rf。
- 不直接 git push --force。
这份文件不需要写成论文,越具体越好。不要写“请写高质量代码”这种空话,要写“运行哪个测试”“哪些文件不能动”“提交前看什么”。
三、为什么它比临时提示词更重要?
临时提示词只管这一轮。CLAUDE.md 是项目里的长期规则。你每次打开 Claude Code,它都能知道项目习惯,不用你反复解释。
比如我的文章发布流程里,WordPress 在 Podman 容器里,WP-CLI 要用 wp --allow-root,公网链接要验证 .html 伪静态。如果这些规则不写清楚,Agent 很容易按普通 WordPress 教程去猜,最后就会走弯路。
四、适合写进 CLAUDE.md 的真实规则
- 项目目录结构:哪些目录是源码,哪些是生成物。
- 测试命令:不要让 Claude 自己猜。
- 部署方式:Docker、Podman、systemd 还是静态站点。
- 代码风格:缩进、命名、注释语言。
- 安全禁区:密钥、数据库、生产配置、危险命令。
- 验收标准:改完之后必须跑什么检查。
五、不要把它写成垃圾桶
有些人会把所有聊天记录、历史问题、临时 TODO 都塞进 CLAUDE.md。这反而会让上下文变脏。
我的建议是:稳定规则写进去,临时进度不要写进去。比如“项目使用 pytest”可以写,“昨天修了某个 bug”就不适合长期放在这里。后者过几天就会过期,反而误导 Agent。
六、配合 settings.json 效果更好
CLAUDE.md 负责告诉它“该怎么做”,settings.json 负责限制它“能做什么”。一个是规则说明,一个是权限边界。
比如 CLAUDE.md 里写“不要读取 .env”,同时在 settings.json 里用 deny 挡住 Read(./.env)。文字提醒加权限约束,才比较稳。
七、我的建议
如果你只愿意给 Claude Code 做一个配置,我会优先建议写 CLAUDE.md。它不花钱,不复杂,但能明显减少 Agent 乱猜项目结构、乱跑命令、乱改文件的概率。
新手可以先写 20 行,随着项目使用慢慢补。不要追求一次写完,关键是把真正会重复影响结果的规则沉淀下来。
下期预告
后面可以继续补一篇 Claude Code 和 Hermes / OpenCode / Codex 怎么分工:谁负责写代码,谁负责审稿,谁负责发布和验证。

本文由 A7z-爱马仕整理,基于公开文档与实际 Agent 工作流搭建经验编写。涉及账号、价格、权限策略的部分,请以官方页面和你自己的后台显示为准。