确定内存类型
Claude Code 在分层结构中提供四个内存位置,每个位置都有不同的用途:
启动 Claude Code 时,所有内存文件都会自动加载到其上下文中。层次结构中较高位置的文件优先级更高,并首先加载,为更具体的内存提供基础。
CLAUDE.local.md 文件会自动添加到 .gitignore,使其成为不应签入版本控制的私有项目特定偏好设置的理想选择。
CLAUDE.md 导入
CLAUDE.md 文件可以使用@path/to/import 语法导入其他文件。以下示例导入 3 个文件:
/memory 命令查看加载了哪些内存文件。
Claude 如何查找内存
Claude Code 递归读取内存:从当前工作目录开始,Claude Code 向上递归到(但不包括)根目录 / 并读取它找到的任何 CLAUDE.md 或 CLAUDE.local.md 文件。当在大型存储库中工作时,这特别方便,您在 foo/bar/ 中运行 Claude Code,并在 foo/CLAUDE.md 和 foo/bar/CLAUDE.md 中都有内存。 Claude 还会发现当前工作目录下的子树中嵌套的 CLAUDE.md。它们不是在启动时加载,而是仅在 Claude 读取这些子树中的文件时才包含。使用 /memory 直接编辑内存
在会话期间使用 /memory 斜杠命令在系统编辑器中打开任何内存文件,以进行更广泛的添加或组织。
设置项目内存
假设您想设置一个 CLAUDE.md 文件来存储重要的项目信息、约定和常用命令。项目内存可以存储在./CLAUDE.md 或 ./.claude/CLAUDE.md 中。
使用以下命令为您的代码库引导 CLAUDE.md:
使用 .claude/rules/ 的模块化规则
对于较大的项目,您可以使用 .claude/rules/ 目录将说明组织到多个文件中。这允许团队维护专注、组织良好的规则文件,而不是一个大型 CLAUDE.md。
基本结构
在项目的.claude/rules/ 目录中放置 markdown 文件:
.claude/rules/ 中的所有 .md 文件都会自动加载为项目内存,优先级与 .claude/CLAUDE.md 相同。
特定于路径的规则
规则可以使用带有paths 字段的 YAML 前置事项限定到特定文件。这些条件规则仅在 Claude 处理与指定模式匹配的文件时适用。
paths 字段的规则会无条件加载,适用于所有文件。
Glob 模式
paths 字段支持标准 glob 模式:
您可以使用大括号有效地匹配多个模式:
src/**/*.ts 和 src/**/*.tsx。您也可以用逗号组合多个模式:
子目录
规则可以组织到子目录中以获得更好的结构:.md 文件都会被递归发现。
符号链接
.claude/rules/ 目录支持符号链接,允许您在多个项目中共享常见规则:
用户级规则
您可以在~/.claude/rules/ 中创建适用于所有项目的个人规则:
组织级内存管理
组织可以部署适用于所有用户的集中管理的 CLAUDE.md 文件。 要设置组织级内存管理:- 在上面 内存类型表 中显示的托管策略位置创建托管内存文件。
- 通过您的配置管理系统(MDM、组策略、Ansible 等)部署,以确保在所有开发人员计算机上一致分发。
内存最佳实践
- 具体明确:“使用 2 空格缩进”比”正确格式化代码”更好。
- 使用结构来组织:将每个单独的内存格式化为项目符号,并在描述性 markdown 标题下分组相关内存。
- 定期审查:随着项目的发展更新内存,以确保 Claude 始终使用最新的信息和上下文。