Column 1
Column 2
CLAUDE.md 是 Claude Code 的项目记忆文件,用于在每次会话开始时向 Claude 提供项目上下文。它是实现高效 AI 辅助编码的关键配置。
核心原理
LLM 是无状态函数,权重在推理时已冻结,不会随时间学习。Claude 对代码库的唯一认知来自你输入的 tokens。
三个关键含义:
- 每次会话开始时,Claude 对代码库一无所知
- 每次启动会话都必须告知 Claude 关于代码库的重要信息
- CLAUDE.md 是实现这一目标的首选方式
文件层级与作用域
文件路径 | 作用 |
项目根目录/CLAUDE.md | 团队共享的项目级配置,提交至 Git 供所有成员使用 |
项目根目录/CLAUDE.local.md | 个人本地覆盖配置,通常加入 .gitignore |
父目录/CLAUDE.md | Monorepo 结构中自动继承的上级配置(递归向上查找) |
子目录/CLAUDE.md | 针对特定子模块的独立配置(优先于父级加载) |
~/.claude/CLAUDE.md | 用户全局默认配置,适用于所有 Claude 会话 |
内容结构:WHAT / WHY / HOW
WHAT - 技术栈与项目结构
告诉 Claude 项目的技术选型、目录结构、关键模块。在 Monorepo 中尤其重要。
WHY - 项目目的
说明项目的业务目标、各模块的职责与功能。
HOW - 工作方式
定义 Claude 应如何在项目中工作,包括:
- 使用的包管理器(如
bun而非node)
- 代码风格规范
- 测试策略
- Git 工作流
最佳实践
黄金法则:保持在 150 行以内
CLAUDE.md 会加载到每个会话中,过长会消耗 token 预算并稀释关键信息的权重。
1. 使用文件导入
通过
@path/to/import 语法导入其他文件:从 home 目录导入个人配置:
注意:导入在代码块内不会被解析,最大递归深度为 5 层
2. 简洁明确
- 避免冗余信息
- 使用清晰的标题和分类
- 优先列出最重要的规则
3. 定期维护
- 随项目演进更新 CLAUDE.md
- 移除过时的规则
- 合并重复内容
使用范例
基础模板
嵌入式项目模板
Monorepo 模板
进阶技巧
与自定义命令结合
在
.claude/commands/ 目录创建可复用的工作流,CLAUDE.md 为这些命令提供上下文:查看已加载的记忆文件
在 Claude Code 中执行
/memory 命令可查看当前加载的所有 CLAUDE.md 文件。





