CLAUDE.md 配置指南:让 Claude Code 永久记住你的项目规范
CLAUDE.md 配置指南:让 Claude Code 永久记住你的项目规范
Prorise第六章. 项目记忆:CLAUDE.md 入门
本章摘要:每次打开项目都要重新介绍 “我们用的是 React + TypeScript”,累不累?CLAUDE.md 就是项目的 “说明书”,写一次,Claude 永远记得。本章教你用 /init 快速生成,并掌握基础写法。
本章学习路径
| 阶段 | 内容 | 解锁能力 |
|---|---|---|
| 第一阶段 | 理解 CLAUDE.md | 知道它是什么、放在哪 |
| 第二阶段 | 用 /init 生成 | 一键创建项目记忆 |
| 第三阶段 | 基础写法 | 手动编写项目规则 |
6.1. 什么是 CLAUDE.md
上一章我们学会了用 Checkpoint 保护代码安全。但还有一个效率问题没解决:Claude 不记得项目的背景信息。
6.1.1. 项目的 “说明书”
想象一下这个场景:
1 | › 这个项目用的是什么技术栈? |
Claude 回答完后,你开始写代码。过了一会儿:
1 | › 帮我写一个用户登录的 API |
Claude 写了一个 Express.js 的版本。但你的项目用的是 Koa…
“我不是刚告诉你用的什么技术栈吗?”
问题在于:Claude 的 “记忆” 是有限的。对话越长,早期的信息越容易被 “挤出” 上下文窗口。而且,每次新开对话,之前说过的话就全忘了。
CLAUDE.md 就是解决这个问题的——它是一份 持久化的项目说明书,Claude 每次打开项目都会自动读取。
6.1.2. 存放位置与加载顺序
CLAUDE.md 可以放在多个位置,Claude 会按照特定顺序加载它们:
| 位置 | 作用范围 | 典型用途 |
|---|---|---|
~/.claude/CLAUDE.md | 所有项目 | 个人偏好(如 “我喜欢简洁的代码风格”) |
项目根目录/CLAUDE.md | 当前项目 | 项目规则(技术栈、编码规范) |
项目根目录/.claude/settings.json | 当前项目 | 高级配置(进阶篇讲) |
“如果多个文件有冲突怎么办?”
越具体的配置优先级越高。项目级的 CLAUDE.md 会覆盖用户级的同名规则。
对于基础使用,你只需要关心一个位置:项目根目录的 CLAUDE.md。
6.2. 用 /init 快速生成
手写 CLAUDE.md 当然可以,但有个更快的方法:让 Claude 帮你生成。
6.2.1. 一键初始化
打开你的项目目录,启动 Claude Code,然后输入:
1 | › /init |
Claude 会扫描项目结构,分析 package.json、pom.xml、requirements.txt 等配置文件,然后自动生成一份 CLAUDE.md。
整个过程大概 10-30 秒,取决于项目大小。
6.2.2. 生成内容解读
生成的 CLAUDE.md 通常包含以下内容:
1 | # 项目概述 |
“这些信息 Claude 自己分析出来的?”
是的。它会读取配置文件、扫描目录结构、甚至看看 README 里写了什么。当然,自动生成的内容不一定 100% 准确,你可以手动修改补充。
6.2.3. 本节小结
| 操作 | 命令 | 效果 |
|---|---|---|
| 初始化项目记忆 | /init | 自动生成 CLAUDE.md |
| 查看生成结果 | 打开项目根目录的 CLAUDE.md | 确认内容是否准确 |
6.3. 基础写法:告诉 Claude 项目规则
自动生成的 CLAUDE.md 是个不错的起点,但真正的威力在于你可以 自定义规则。
6.3.1. 技术栈声明
最基础的用法:告诉 Claude 这个项目用什么技术。
1 | ## 技术栈 |
有了这个声明,当你说 “帮我写一个缓存逻辑” 时,Claude 会自动使用 Redis 而不是 Memcached。
6.3.2. 编码规范
团队有自己的代码风格?写进去:
1 | ## 编码规范 |
Claude 生成的代码会自动遵循这些规范。
6.3.3. 禁止事项
有些事情你绝对不想让 Claude 做:
1 | ## 禁止事项 |
“禁止” 比 “建议” 更有效。Claude 会认真对待这些红线。
6.3.4. 本节小结
| 规则类型 | 作用 | 示例 |
|---|---|---|
| 技术栈声明 | 确定技术选型 | “后端用 Spring Boot 3.2” |
| 编码规范 | 统一代码风格 | “使用 4 空格缩进” |
| 禁止事项 | 设置红线 | “禁止硬编码密钥” |
6.4. 用 # 快捷追加规则
“每次想加条规则都要打开文件编辑,太麻烦了。”
Claude Code 提供了一个快捷方式:用 # 开头直接追加内容到 CLAUDE.md。
6.4.1. 随时记录灵感
在对话中,你突然想到一条规则:
1 | › # 所有 API 响应必须包含 requestId 字段,用于链路追踪 |
按下回车,这条规则就会被追加到 CLAUDE.md 的末尾。不需要打开文件,不需要手动编辑。
“这也太方便了吧?”
是的。这个设计的初衷是:让你在工作流中随时记录想法,而不是打断思路去编辑文件。
6.4.2. 查看与编辑
想看看 CLAUDE.md 现在长什么样?
1 | › 打开 CLAUDE.md 让我看看 |
Claude 会显示文件内容。如果你想修改,可以直接说:
1 | › 把 CLAUDE.md 里的"4 空格缩进"改成"2 空格缩进" |
或者,你也可以用任何文本编辑器直接打开 CLAUDE.md 进行编辑。它就是一个普通的 Markdown 文件。
6.4.3. 本节小结
| 操作 | 方法 | 适用场景 |
|---|---|---|
| 快捷追加规则 | # 规则内容 | 工作中随时记录 |
| 查看内容 | 让 Claude 打开文件 | 确认当前规则 |
| 编辑内容 | 直接编辑文件或让 Claude 修改 | 调整已有规则 |
6.5. 本章总结与 CLAUDE.md 速查
本章我们学习了 CLAUDE.md——项目的 “说明书”。有了它,Claude 不再是 “金鱼记忆”,而是能够记住项目的技术栈、编码规范和禁止事项。
6.5.1. 场景速查:遇到这些情况,直接用
场景 1:第一次用 Claude Code 打开项目
1 | › /init |
让 Claude 自动生成 CLAUDE.md。
场景 2:想添加一条编码规范
1 | › # 所有函数必须有 JSDoc 注释 |
直接追加到 CLAUDE.md。
场景 3:Claude 总是用错技术栈
打开 CLAUDE.md,在技术栈部分明确声明:
1 | ## 技术栈 |
场景 4:想禁止 Claude 做某些事
1 | ## 禁止事项 |







