Appearance
记忆与 CLAUDE.md
模块编号: 2 · 难度: 入门 · 预计时间: 45 分钟
Claude Code 能够记住你的项目规范、编码偏好和技术细节。这种记忆能力由两套并行的系统组成:由你维护的 CLAUDE.md 规则文件,以及 Claude 自动生成的项目快照。
记忆层级
Claude 会按照优先级从多个层级读取指令。优先级最高的指令会覆盖较低层级的通用配置。
1. 组织级管理策略
这是最高优先级的规则,通常由团队管理员在 GitHub 仓库设置中配置。如果你在受管理的组织环境下工作,这些规则会自动生效,确保整个团队遵循统一的安全和架构标准。
2. 项目级规则
这是最常用的层级。你可以在项目根目录下创建 CLAUDE.md 或者 .claude/CLAUDE.md 文件。项目规则应当提交到 git 仓库中,让所有参与项目的开发者都能让 Claude 保持相同的认知。
内容通常包括:
- 项目使用的具体技术栈(如 Vite, Next.js, FastAPI)。
- 变量和函数的命名规范。
- 启动、测试和部署的常用命令。
- 开发过程中发现的非直观问题或需要规避的陷阱。
3. 用户级个人偏好
文件位于 ~/.claude/CLAUDE.md。这个文件对你本机上的所有项目生效。适合存放你的私人偏好,比如你喜欢简洁的回复风格,或者习惯使用特定的编辑器插件。
路径作用域规则
有时候你只希望某些规则在处理特定目录时激活。你可以通过在 .claude/rules/ 目录下创建以 .md 结尾的文件来实现。使用 Markdown 的 frontmatter(开头的配置块)来限定作用范围。
markdown
---
description: 仅针对 API 模块的路由规范
paths:
- src/api/**/*.ts
- backend/routes/*.py
---
所有的 API 响应必须包含 status 和 data 字段。
禁止在路由处理器中直接操作数据库,请调用 service 层。当你在对话中修改或查询匹配这些路径的文件时,Claude 就会自动加载这些特定的规则。
创建与更新记忆
你不需要从零开始手写这些文件。
自动初始化
运行 /init 命令。Claude 会扫描你的整个项目目录,识别出技术栈并自动生成一个基础的 CLAUDE.md 文件。
手动编辑
输入 /memory 命令。这会在你的默认编辑器中直接打开项目对应的记忆文件,方便你进行批量调整。
对话式更新
你可以在对话中直接告诉 Claude 记住某些事。例如:
- "记住在这个项目中,所有的 API 测试都需要先启动 Redis。"
- "把刚才解决这个 Hydration 错误的步骤记录到 CLAUDE.md 的坑位里。"
引用其他文件
为了保持主文件简洁,你可以使用 @ 符号导入其他规则文件。Claude 支持最多 5 层的嵌套导入。
markdown
# 项目规范
@.claude/rules/testing.md
@.claude/rules/styling.md
这里是通用的项目描述...自动记忆系统
除了手动维护的文件,Claude 还会维护一份自动记忆。文件存储在 ~/.claude/projects/<project_id>/memory/MEMORY.md。
这份文件记录了 Claude 在最近对话中总结出的项目知识。Claude 每次启动时会自动加载该文件的前 200 行或前 25KB 内容。
进阶配置
你可以在 ~/.claude/config.json 中调整自动记忆的行为。
json
{
"autoMemoryEnabled": true,
"autoMemoryDirectory": "~/.custom-memory-path",
"claudeMdExcludes": ["legacy-code/**", "docs/internal/**"]
}对于大型单仓库(Monorepo),你可以使用 claudeMdExcludes 排除那些不相关的遗留代码或文档目录,防止 Claude 加载太多无关信息。
常用模板
项目 CLAUDE.md 模板
推荐将以下内容结构复制到项目的 CLAUDE.md 中:
markdown
# 项目名称 - 开发指南
## Workflow
- 启动项目:npm run dev
- 运行测试:npm test
- 提交代码前必须运行 lint。
## Code Style
- 使用 TypeScript 进行全类型定义。
- 组件采用函数式组件和 Hooks。
- 样式使用 Tailwind CSS。
## Reviews
- 逻辑变更必须附带单元测试。
- 导出函数必须包含 JSDoc 注释。
## Safety
- 严禁在代码中硬编码 API 密钥。
- 所有输入必须经过 Zod 校验。个人全局 CLAUDE.md 模板
在 ~/.claude/CLAUDE.md 中设置你的个人偏好:
markdown
# 个人偏好
## Communication
- 解释代码时要简练。
- 给出多个方案时,先列出推荐的一项。
- 除非我要求,否则不需要解释基础的语法。
## Implementation
- 优先使用现代 ES 语法。
- 报错时直接给出修复后的完整函数。动手试一试
看看记忆系统在实际使用中是什么样的:
记忆系统演示
▌
测验
测验时间
第 1/3 题
项目级的 CLAUDE.md 文件应该放在哪里?