Lazy loaded image
CLAUDE.mdahttp://CLAUDE.md
Words 978Read Time 3 min
2025-12-29
Column 1
Column 2
CLAUDE.md 是 Claude Code 的项目记忆文件,用于在每次会话开始时向 Claude 提供项目上下文。它是实现高效 AI 辅助编码的关键配置。

核心原理

LLM 是无状态函数,权重在推理时已冻结,不会随时间学习。Claude 对代码库的唯一认知来自你输入的 tokens。
三个关键含义:
  1. 每次会话开始时,Claude 对代码库一无所知
  1. 每次启动会话都必须告知 Claude 关于代码库的重要信息
  1. CLAUDE.md 是实现这一目标的首选方式

文件层级与作用域

文件路径
作用
项目根目录/CLAUDE.md
团队共享的项目级配置,提交至 Git 供所有成员使用
项目根目录/CLAUDE.local.md
个人本地覆盖配置,通常加入 .gitignore
父目录/CLAUDE.md
Monorepo 结构中自动继承的上级配置(递归向上查找)
子目录/CLAUDE.md
针对特定子模块的独立配置(优先于父级加载)
~/.claude/CLAUDE.md
用户全局默认配置,适用于所有 Claude 会话

内容结构:WHAT / WHY / HOW

WHAT - 技术栈与项目结构

告诉 Claude 项目的技术选型、目录结构、关键模块。在 Monorepo 中尤其重要。

WHY - 项目目的

说明项目的业务目标、各模块的职责与功能。

HOW - 工作方式

定义 Claude 应如何在项目中工作,包括:
  • 使用的包管理器(如 bun 而非 node
  • 代码风格规范
  • 测试策略
  • Git 工作流

最佳实践

黄金法则:保持在 150 行以内
CLAUDE.md 会加载到每个会话中,过长会消耗 token 预算并稀释关键信息的权重。

1. 使用文件导入

通过 @path/to/import 语法导入其他文件:
从 home 目录导入个人配置:
注意:导入在代码块内不会被解析,最大递归深度为 5 层

2. 简洁明确

  • 避免冗余信息
  • 使用清晰的标题和分类
  • 优先列出最重要的规则

3. 定期维护

  • 移除过时的规则
  • 合并重复内容

使用范例

基础模板

嵌入式项目模板

Monorepo 模板


进阶技巧

与自定义命令结合

.claude/commands/ 目录创建可复用的工作流,CLAUDE.md 为这些命令提供上下文:

查看已加载的记忆文件

在 Claude Code 中执行 /memory 命令可查看当前加载的所有 CLAUDE.md 文件。

参考资源

上一篇
宏的用法
下一篇
Guide to Linux System

Comments
Loading...