所属教程:Claude Code 从入门到大师级完整教程 预计阅读:24 分钟
CLAUDE.md 不是单一文件,而是一套由广到窄分层加载、拼接注入上下文的记忆体系。理解各层位置、加载时机与优先级,才能把团队规范、个人偏好与临时约定放到正确位置,既保证生效又不互相覆盖。
| 层级 | 典型位置 | 作用 | 是否共享 |
|---|---|---|---|
| 托管策略 Managed | macOS:/Library/Application Support/ClaudeCode/CLAUDE.md;Linux/WSL:/etc/claude-code/CLAUDE.md;Windows:C:Program FilesClaudeCodeCLAUDE.md | 组织统一编码标准、安全与合规要求,由 IT/运维下发,优先级最高 | 组织全体成员 |
| 个人 User | ~/.claude/CLAUDE.md | 本人跨项目的偏好,如个人风格、常用工具习惯 | 仅本人、全项目生效 |
| 项目 Project | ./CLAUDE.md 或 ./.claude/CLAUDE.md | 团队共享:架构、构建方式、目录约定、常用工作流,随仓库提交 | 团队成员经版本库共享 |
| 本地 Local | ./CLAUDE.local.md | 当前项目的个人偏好,如本机测试数据、沙箱地址,应加入 .gitignore | 仅本人、当前项目 |
启动时加载工作目录及其所有上级目录中的上述文件;文件之间是拼接合并,而不是后者覆盖前者。内容按文件系统根到工作目录的顺序出现,同一目录内 CLAUDE.local.md 追加在 CLAUDE.md 之后,因此更靠近工作目录、更晚出现的内容更具体。
cat、head 查看单个文件这类读取动作)时,才会按需加载对应记忆。.claude/rules/ 下按文件类型或路径作用域拆分的规则文件,只在匹配到相关文件时生效。claudeMdExcludes 跳过上级目录中与当前任务无关的 CLAUDE.md,避免无关指令进入上下文。~/.claude/projects/<project>/memory/:其中 MEMORY.md 是索引,每个主题一个独立文件;代理在会话中按需读写这些记忆。autoMemoryDirectory 指定自定义路径。| 命令 | 用途 |
|---|---|
/memory | 列出各层记忆文件位置、切换自动记忆开关、在编辑器中打开或新建对应文件 |
/context | 查看本次启动实际加载了哪些 Memory files,用于排查"规则为何没生效" |
/compact | 压缩会话;压缩后项目根 CLAUDE.md 会从磁盘重读并重新注入,子目录规则按需再次加载 |
/doctor | 对冗长、且内容可由代码本身推导出来的 CLAUDE.md 给出裁剪建议 |
若仓库只有 AGENTS.md 而无 CLAUDE 族文件,代理会读取它;一旦存在 CLAUDE.md/CLAUDE.local.md,则默认只读 CLAUDE 体系。可在 /config 的 Project instructions 中切换读取策略(仅 CLAUDE、两者并读、仅 CLAUDE 或仅托管策略等)。CLAUDE.md 还可用 @路径/文件 语法引入外部片段。
CLAUDE.md 内容以用户指令形式注入,并非强约束系统提示;模糊、冲突或无法落地的描述难以被稳定执行。规则要具体、可判定;多层之间避免重复与打架;本机个人信息只放 CLAUDE.local.md 与自动记忆,不要提交进团队仓库。
本节掌握了四层记忆的位置、加载顺序、按需加载与查看命令。下一节讲如何把团队编码规范与审阅标准结构化地沉淀到项目记忆与只读子代理中。
← 上一节:补充测试与规范提交说明 下一节:团队规范、编码风格与审阅标准沉淀 →