太长不看:四句话讲完 Claude Code 记忆
- 每个项目跑一次 /init:Claude 扫描仓库——目录结构、启动脚本、状态管理——在根目录写出结构化的 CLAUDE.md。
- 这份文件会自动进入之后每个会话的上下文,你写进去的约定会塑造之后所有的代码生成。
- 在聊天里输入 # 加一条规则即可当场记忆,然后选择存放层:项目记忆(进 git)、本地项目记忆或用户记忆(~/.claude/CLAUDE.md)。
- 结构和依赖变了要记得同步更新这份文件——过期的记忆会把 Claude 带偏;/memory 命令随时可以重新打开任何记忆文件。
Claude Code Tutorial #2 - CLAUDE.md Files & /init
频道:Net Ninja12:18
The CLAUDE.md file
频道:Claude (official Anthropic channel)3:01
Claude Code's Memory System: The Full Guide
频道:DIY Smart Code5:05
Manage Claude's memory — Claude Code documentation
文档:code.claude.com
配图取自 Net Ninja 的 CLAUDE.md 一课(纯净 VS Code 录屏);走查文字为独立撰写,并对照 Anthropic 官方记忆文档与官方 CLAUDE.md 讲解视频核对。
截图版权归原作者所有,此处以署名方式用作可视化文档。每一步都带深链,可跳回来源视频的对应时间点。
从零记忆到「Claude 懂这个项目」
1 · 用 /init 生成 CLAUDE.md
- 1
从 /init 开始
刚把 Claude Code 带进一个项目时,先跑 /init 再让它写任何代码。提示说得明白:初始化一个新的 CLAUDE.md 文件,写入代码库文档。Claude 先把项目读一遍,之后的会话就不用再读一遍。

/init——新仓库里第一个该跑的命令。在 0:30 观看 - 2
看 Claude 先探索再动笔
它不靠猜:/init 会自建一份待办清单——探索仓库结构、分析 package.json 和源码、检查已有文档,然后带着发现创建 CLAUDE.md。每一项实时打勾,所以这份文件是对真实代码的总结,不是模板填空。

初始化过程中的 Update Todos——先探索、再分析、后落笔。在 1:42 观看 - 3
读一读它写的开头与命令清单
生成的文件以「给 Claude Code 的指引」开头,随后是从 package.json 原样提取的 Development Commands——dev、build、lint、start。正是这一节防止 Claude 自创工作流:真实的脚本已经进了它的上下文。

文件开头:给 Claude Code 的指引 + 项目真实的 npm 脚本。在 2:56 观看 - 4
再看架构与目录结构两节
往下滚,文件记录了架构概览(本项目:Next.js 15 博客,React 19 + Tailwind)、标出新文件该放哪的 Project Structure 地图,以及 Hygraph CMS 层的数据持久化说明。新会话无需重读仓库就能继承全部内容。

选中路径的 Project Structure,加上 Hygraph 数据持久化注记。在 2:30 观看
2 · 加记忆,并验证它真的生效
- 5
实测记忆改变行为
验证环节:往文件里加「所有可复用 hook 都放在 hooks 文件夹」,然后要求写一个主题偏好 hook——并明确说先别在任何地方使用它。Claude 的待办显示它把 hook 建在了 src/hooks/use-theme,收尾还补了一句「hook 已就绪,但按你的要求未接入任何地方」。记忆进,行为出。

hook 落在记忆文件指定的目录——还遵守了「先别接线」的要求。在 6:40 观看 - 6
聊天里用 # 直接记一条规则
不必手动编辑文件。消息以 # 开头——比如「# 新建页面组件时,always 在 header 加一条该页面的链接」——Claude Code 会识别这是要存档的记忆,接着问你存到哪:项目记忆、本地项目记忆,还是用户记忆。

# 快捷记忆,以及它唤起的三目的地选择器。在 7:30 观看 - 7
分清四种记忆类型
Anthropic 官方文档的表格就是地图:企业策略记忆(组织统一下发)、项目记忆(./CLAUDE.md,进 git、全组共享)、用户记忆(~/.claude/CLAUDE.md,你的全局偏好),以及本地项目记忆(./CLAUDE.local.md,个人且不入库)——文档已标注后者弃用,建议改用项目记忆导入未跟踪文件,但选择器里仍会出现这个选项。

官方记忆类型表:位置、用途与共享范围。在 10:50 观看 - 8
确认规则真的写进了文件
选择项目记忆后,规则被追加到项目的 CLAUDE.md——文件底部赫然在列:「新建页面组件时,在 header 加一条该页面的链接」。从下一个会话起,这行字自动随上下文而行。

新规则,已存入进版本库的 CLAUDE.md 底部。在 11:48 观看
3 · 日常管理记忆文件
- 9
用新任务验证记忆
现在要一个 About 页面,看它的计划:「我会新建 About 页面,并按你的记忆指示在 header 加链接」,待办里专门列了「Add About page link to header navigation」。两步前用 # 记下的规则,正在驱动一个从未重复过的任务。(视频里的诚实提醒:Claude 也可能给你没提的页面顺手加链接——这种越界可以用同一份文件里的一句话管住。)

「……按你的记忆指示」——待办清单证明规则已经生效。在 9:37 观看 - 10
用 /memory 重新打开任何记忆文件
/memory 命令列出所有记忆文件及路径:项目记忆在 ./.CLAUDE.md、被 gitignore 的本地记忆在 ./.CLAUDE.local.md、全局用户文件在 ~/.claude/CLAUDE.md。选一个即可在编辑器里打开——这个项目的文件里已经记了 11 条。

Select memory to edit——三个作用域,一个选择器。在 11:22 观看 - 11
像普通文件一样编辑它
Claude Code 确认「Opened project memory at ./.CLAUDE.md」并在 VS Code 里打开,还附带提示:设置 $EDITOR 或 $VISUAL 环境变量可换用其他编辑器。从 /init 到日常维护,记忆就是一份 markdown 文件——你负责让它保持真实。

「Opened project memory at ./.CLAUDE.md」——随时编辑,保持更新。在 12:06 观看
记忆的四个层次,各自住在哪
四个文件、四个作用域——选对层,Claude Code 的记忆就不再是玄学:
- 1项目记忆——仓库根目录的 ./CLAUDE.md。进 git、全组共享。只写项目相关的事:结构、约定、命令、框架。
- 2本地项目记忆——./CLAUDE.local.md。你在这个仓库里的个人笔记(自己的工具链、自己的偏好),不入版本库。官方文档已标注弃用——推荐改为项目记忆导入未跟踪文件——但录制时 # 选择器仍会提供该选项。
- 3用户记忆——主目录的 ~/.claude/CLAUDE.md。跨所有项目的机器级全局偏好:代码风格、回复语言、个人工作流。
- 4CLAUDE.md 之外——新版 Claude Code 增加了自动记忆系统(MEMORY.md 与 ~/.claude/projects/ 下的主题文件),由 Claude 自行维护,与指令文件分离;另有 @ 导入语法可把其他文档拉进上下文。只想要指令文件的话,用 CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 关闭。
无论用哪一层,视频里的习惯都一样:记忆不是「建完就忘」。结构、依赖或约定变了就更新文件——过期记忆比没有更糟,因为 Claude 会信心满满地照着错的做。
