Claude Code 最有用的功能之一是 CLAUDE.md 文件。它为 Claude Code 提供关于项目的持久化记忆。
当你在没有 CLAUDE.md 文件的情况下打开 Claude Code 时,它每次都是从头开始。它必须重新探索你的代码库、弄清楚需要什么依赖项,并理解已经实现了哪些功能。有时它会做出假设,这使得引导 Claude 走向正确方向更加困难。
CLAUDE.md 解决了这个问题。这是一个你添加到项目根目录的 Markdown 文件,Claude Code 每次启动会话时都会自动读取它。可以将其视为你的代码库的入门脚本。CLAUDE.md 文件的内容会附加到你的提示中。
这是一个典型的 CLAUDE.md 文件的样子:
# 项目
这是一个使用 App Router、Tailwind 和 Drizzle ORM 的 Next.js 15 应用。
# 命令
- 开发服务器:`pnpm dev`
- 运行测试:`pnpm test`
- 代码检查:`pnpm lint`
# 代码风格
- 使用 2 空格缩进
- 优先使用命名导出
- 所有 API 路由放在 app/api/
- 尽可能使用服务器操作而非 API 路由
很简单。现在如果你让 Claude Code 创建一个 React 组件,它已经知道使用 Tailwind 进行样式设置并遵循你的代码规范。
你可以(并且应该)将 CLAUDE.md 提交到版本控制,这样你的团队也能受益。实际上,根据使用对象的不同,存在一个记忆文件的层次结构:
项目级 CLAUDE.md 位于项目根目录。与团队共享。
用户级 CLAUDE.md 位于你的配置文件夹中。这个只适用于你,适用于你所有的项目。将你的个人偏好放在这里。
将修正保存到记忆中。 如果你发现自己反复纠正 Claude——比如总是告诉它使用服务器操作而非 API 路由——明确要求 Claude 将该规则保存到记忆中。下次打开项目时,它就会知道。
引用项目文档。 如果你有项目文档希望 Claude 参考,可以使用 @ 符号加文件路径:
## README.md
如需更多信息,请阅读:@README.md
从无到有开始。 我们建议在没有 CLAUDE.md 文件的情况下开始项目,这样你可以看到在哪里需要不断纠正模型。这使你的 CLAUDE.md 保持紧凑,只包含必要的信息。当你准备好时,运行 /init 让 Claude 为你生成一个。
令人沮丧的 Claude Code 会话和高效的会话之间的区别通常取决于上下文——而 CLAUDE.md 文件就是你提供上下文的方式。从你的技术栈、偏好和命令开始,然后随着使用逐步完善。
登录 参与讨论