Skip to content

记忆与 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 文件应该放在哪里?

← 斜杠命令 · 下一个:项目设置 →