首页 教程 常见问题

3.4 自定义指令设置

CLAUDE.md 的作用

CLAUDE.md 是 Claude Code 最强大的配置工具。它在每次会话开始时自动加载,向 Claude 传达项目的规范、约定和工作流程,让 Claude 真正"懂"你的项目。

文件位置与加载优先级

CLAUDE.md 可以在多个位置存在,Claude 会按以下优先级选择(最具体的优先):

优先级位置类型说明
1(最高)/etc/claude-code/CLAUDE.md托管配置组织级策略,不可覆盖
2./CLAUDE.local.md本地配置不提交到 Git,仅本地生效
3./CLAUDE.md./.claude/CLAUDE.md项目配置提交到 Git,团队共享
4~/.claude/CLAUDE.md用户配置全局个人偏好

CLAUDE.md 编写原则

保持简洁

目标控制在 200 行以内。文件越长,Claude 的遵从度越低。如果项目规范很多,使用路径级规则(.claude/rules/)按目录拆分。

使用结构化格式

Claude 会扫描文件的 Markdown 结构。使用清晰的标题和列表,帮助 Claude 快速定位相关内容:

# 项目规范

## 构建
- 使用 pnpm build

## 代码风格
- 2 空格缩进

## 目录结构
- API 路由在 src/api/

# 特别指令
- 永远不要删除 .git 目录

在正确时机添加内容

两个最佳添加时机:

CLAUDE.md 示例

完整的项目 CLAUDE.md 示例

# 项目规范

## 构建与测试
- 使用 `pnpm`(不是 npm)
- 运行 `pnpm build` 构建项目
- 提交前必须运行 `pnpm test`

## 代码风格
- 2 空格缩进
- 所有新文件使用 TypeScript
- 组件使用函数式风格,不使用 class

## 项目结构
- API 路由:`src/api/`
- 业务组件:`src/components/`
- 工具函数:`src/utils/`
- 样式文件:`src/styles/`
- 禁止直接修改 `vendor/` 目录

## Git 规范
- commit 信息遵循 Conventional Commits 格式
- PR 需要至少一个 review

## 特别规则
- 压缩上下文时,优先保留测试输出和代码变更
- 对数据库操作使用事务
- 所有用户输入必须验证

个人用户级 CLAUDE.md

放在 ~/.claude/CLAUDE.md,应用于你所有项目:

# 个人偏好

## 通用规范
- 总是使用中文回复
- 代码修改前先展示 diff
- 大改动先问我确认

## 快捷操作
- `/test` 运行当前文件的测试
- `/lint` 运行代码风格检查
- `/git` 显示 git 状态

自动记忆(Auto Memory)

Claude Code 会在 ~/.claude/projects/<project-id>/memory/ 下自动记录会话学习到的内容:

路径级规则

如果项目包含多种技术栈,可以按路径设置不同规则,Claude 会根据当前工作路径自动加载对应的规则文件:

.claude/rules/
├── python.md      # Python 代码目录激活
├── frontend.md    # React/前端目录激活
└── api.md         # API 目录激活

路径规则文件示例(api.md)

# API 层规范

## REST 风格
- 使用 RESTful 命名
- 响应格式统一:`{ code, data, message }`

## 错误处理
- 所有 API 错误抛出统一异常
- 错误码使用 4 位数字(1001-9999)

本地覆盖文件

使用 CLAUDE.local.md(gitignored)设置本地私有指令,不影响团队:

- .gitignore 加上:CLAUDE.local.md

# CLAUDE.local.md 示例
# 我的本地调试快捷键
- `/debug` 启用 verbose 日志
- `/db` 显示数据库连接状态