CLAUDE.md文件介绍(Claude Code核心配置文件,开始对话或执行任务时自动加载的上下文文件)
文章目录
- **1. CLAUDE.md 的作用**
- - **常用命令**:记录项目中常用的 Bash 命令(如 `npm run build`、`npm run typecheck` 等)。
- - **代码风格指南**:定义代码风格规范(如使用 ES 模块语法 `import/export`,而非 CommonJS 的 `require`)。
- - **测试说明**:描述如何运行单元测试、端到端测试等。
- - **仓库规范**:分支命名规则、合并策略(如 `merge` vs. `rebase`)、代码提交规范等。
- - **开发环境设置**:例如 `pyenv` 使用方法、可用的编译器、依赖管理工具等。
- - **项目特有行为**:记录项目中需要注意的警告、意外行为或特殊配置。
- - **其他自定义规则**:任何希望 ClaudeCode 遵循的个性化规则或偏好。
- **2. CLAUDE.md 的文件位置**
- **(1) 项目根目录**
- - **文件名**:`CLAUDE.md` 或 `CLAUDE.local.md`(个人配置)。
- - **用途**:适用于整个项目,通常提交到 Git 以供团队共享(推荐使用 `CLAUDE.md`),或作为本地配置文件(`CLAUDE.local.md` 并加入 `.gitignore`)。
- **(2) 父目录(Monorepo 结构)**
- - **用途**:在 Monorepo(多仓库结构)中,ClaudeCode 会自动继承上级目录的 `CLAUDE.md` 文件。
- - **示例**:
- **(3) 子目录**
- - **用途**:针对特定子模块或功能的独立配置文件,优先于父级配置加载。
- - **示例**:
- **(4) 用户主目录**
- - **文件路径**:`~/.claude/CLAUDE.md`
- - **用途**:全局默认配置文件,适用于所有 ClaudeCode 会话。适合记录个人开发习惯(如代码风格偏好、常用工具链配置等)。
- **3. 如何创建和调优 CLAUDE.md**
- **(1) 创建 CLAUDE.md**
- - **自动创建**:运行 `/init` 命令,ClaudeCode 会自动生成一个基础的 `CLAUDE.md` 文件。
- - **手动创建**:在项目根目录或用户主目录中创建 `CLAUDE.md` 文件,并按需填写内容。
- **(2) 调优 CLAUDE.md**
- - **优化提示词**:将 `CLAUDE.md` 视为提示词(Prompt)的一部分,通过实验和迭代优化其内容。
- - **避免冗余**:添加内容时避免重复,确保简洁易读。
- - **强调重点**:使用 `IMPORTANT`、`YOU MUST` 等关键词标记关键规则,以提高模型的遵循度。
- - **动态更新**:在编码过程中,通过按下 `#` 键,ClaudeCode 会自动将指令(如常用命令、文件路径)添加到 `CLAUDE.md` 中。
- **4. CLAUDE.md 的实际应用**
- **(1) 团队协作**
- **(2) 多项目管理**
- **(3) 个性化开发**
- **5. 示例:CLAUDE.md 文件内容**
- **6. 高级用法**
- - **工具许可名单(Allowlist)**:通过配置 `CLAUDE.md` 中的工具许可名单,允许 ClaudeCode 自动执行安全操作(如文件写入、执行 shell 命令),提升效率。
- - **快捷命令**:结合 `#` 键或斜杠命令(如 `/memory`),快速编辑或更新 `CLAUDE.md` 文件。
- - **团队协作规则**:参考 SabrinaRamonov 的实践,通过 `CLAUDE.md` 定义严格的开发流程(如 TDD、测试覆盖率、提交规范等),确保代码质量。
- **7. 总结**
CLAUDE.md
是
ClaudeCode 的核心配置文件,用于定义项目或用户的开发规范、工具链配置和代码风格指南。它是 ClaudeCode 在开始对话或执行任务时自动加载的上下文文件,帮助模型更好地理解项目的特定需求和规则。以下是关于
CLAUDE.md
的详细介绍:
1. CLAUDE.md 的作用
CLAUDE.md
的主要作用是为 ClaudeCode 提供项目或用户的上下文信息,使其能够更高效、准确地协助开发工作。具体包括以下内容:
- 常用命令:记录项目中常用的 Bash 命令(如 npm run build
、npm run typecheck
等)。
- 代码风格指南:定义代码风格规范(如使用 ES 模块语法 import/export
,而非 CommonJS 的 require
)。
- 测试说明:描述如何运行单元测试、端到端测试等。
- 仓库规范:分支命名规则、合并策略(如 merge
vs. rebase
)、代码提交规范等。
- 开发环境设置:例如 pyenv
使用方法、可用的编译器、依赖管理工具等。
- 项目特有行为:记录项目中需要注意的警告、意外行为或特殊配置。
- 其他自定义规则:任何希望 ClaudeCode 遵循的个性化规则或偏好。
2. CLAUDE.md 的文件位置
CLAUDE.md
可以放置在多个位置,ClaudeCode 会根据路径自动加载这些文件。以下是常见的放置位置及用途:
(1) 项目根目录
- 文件名:CLAUDE.md
或 CLAUDE.local.md
(个人配置)。
- 用途:适用于整个项目,通常提交到 Git 以供团队共享(推荐使用 CLAUDE.md
),或作为本地配置文件(CLAUDE.local.md
并加入 .gitignore
)。
- 示例:
# Bash 命令 - `npm run build`: 构建项目 - `npm run typecheck`: 运行类型检查器# 代码风格 - 使用 ES 模块语法(`import/export`),而非 CommonJS(`require`) - 尽可能使用解构导入(例如:`import { foo } from 'bar'`)# 工作流程 - 完成代码修改后,务必运行类型检查 - 优先运行单个测试,而非整个测试套件
(2) 父目录(Monorepo 结构)
- 用途:在 Monorepo(多仓库结构)中,ClaudeCode 会自动继承上级目录的 CLAUDE.md
文件。
- 示例:
- 如果项目结构为
root/CLAUDE.md
和root/foo/CLAUDE.md
,则root/foo
中的子项目会同时加载root/CLAUDE.md
和root/foo/CLAUDE.md
。
(3) 子目录
- 用途:针对特定子模块或功能的独立配置文件,优先于父级配置加载。
- 示例:
- 在
root/foo/CLAUDE.md
中定义子模块的专属规则。
(4) 用户主目录
- 文件路径:~/.claude/CLAUDE.md
- 用途:全局默认配置文件,适用于所有 ClaudeCode 会话。适合记录个人开发习惯(如代码风格偏好、常用工具链配置等)。
3. 如何创建和调优 CLAUDE.md
(1) 创建 CLAUDE.md
- 自动创建:运行 /init
命令,ClaudeCode 会自动生成一个基础的 CLAUDE.md
文件。
- 手动创建:在项目根目录或用户主目录中创建 CLAUDE.md
文件,并按需填写内容。
(2) 调优 CLAUDE.md
- 优化提示词:将 CLAUDE.md
视为提示词(Prompt)的一部分,通过实验和迭代优化其内容。
- 避免冗余:添加内容时避免重复,确保简洁易读。
- 强调重点:使用 IMPORTANT
、YOU MUST
等关键词标记关键规则,以提高模型的遵循度。
- 动态更新:在编码过程中,通过按下 #
键,ClaudeCode 会自动将指令(如常用命令、文件路径)添加到 CLAUDE.md
中。
4. CLAUDE.md 的实际应用
(1) 团队协作
- 通过将
CLAUDE.md
提交到 Git,团队成员可以共享统一的开发规范,减少沟通成本。 - 例如,团队可以定义统一的分支命名规则、代码风格和测试流程。
(2) 多项目管理
- 在 Monorepo 或多项目环境中,通过父子目录的
CLAUDE.md
文件,实现规则的继承与覆盖。 - 例如,根目录的
CLAUDE.md
定义通用规则,子目录的CLAUDE.md
定义子模块的专属规则。
(3) 个性化开发
- 在用户主目录的
~/.claude/CLAUDE.md
中,记录个人开发偏好(如使用中文回答、特定工具链配置等)。
5. 示例:CLAUDE.md 文件内容
# Bash 命令
- `npm run build`: 构建项目
- `npm run test`: 运行单元测试
- `npm run lint`: 代码格式化检查# 代码风格
- 使用 ES 模块语法(`import/export`)
- 函数命名使用驼峰命名法(`camelCase`)
- 类名使用 Pascal 命名法(`PascalCase`)# 测试规范
- 所有新增功能必须附带单元测试
- 测试覆盖率需达到 80% 以上# 仓库规范
- 分支命名规则:`feature/xxx`(新功能)、`bugfix/xxx`(修复)、`hotfix/xxx`(紧急修复)
- 提交信息格式:遵循 [Conventional Commits](https://www.conventionalcommits.org/)# 开发环境
- 使用 `pyenv` 管理 Python 版本
- Node.js 版本要求:`v18.0.0`
6. 高级用法
- 工具许可名单(Allowlist):通过配置 CLAUDE.md
中的工具许可名单,允许 ClaudeCode 自动执行安全操作(如文件写入、执行 shell 命令),提升效率。
- 快捷命令:结合 #
键或斜杠命令(如 /memory
),快速编辑或更新 CLAUDE.md
文件。
- 团队协作规则:参考 SabrinaRamonov 的实践,通过 CLAUDE.md
定义严格的开发流程(如 TDD、测试覆盖率、提交规范等),确保代码质量。
7. 总结
CLAUDE.md
是 ClaudeCode 的核心配置文件,通过合理配置它可以显著提升开发效率、代码质量和团队协作一致性。无论是个人项目还是团队协作,CLAUDE.md
都是一个不可或缺的工具。