把 CLAUDE.md 当成项目里的第二份 README
我现在看 Claude Code 的项目配置,越来越觉得CLAUDE.md不应该被当成一个神秘的提示词文件。它更像是项目里的第二份README,只是第一份README写给人看,CLAUDE.md写给 Claude Code 看。官方文档对它的定义很直接,CLAUDE.md是一种 markdown 文件,用来给 Claude 提供跨会话保留的项目指令、个人工作流指令,或者组织级指令,而且这些内容会在每次 Claude Code 会话开始时被读取。这件事看起来很小,但放到真实研发流程里,影响很大。我们平时让 Claude Code 改代码,最痛苦的地方往往不是模型不会写某段 TypeScript、Python、ABAP 或 Java,而是它一开始不知道我们的项目习惯。它不知道某个目录不是废弃代码,不知道测试必须用pnpm test而不是npm test,不知道这个团队禁止直接改数据库 migration,不知道src/legacy下面的代码虽然丑但不能动。每次开新会话都重新解释一遍,时间久了会非常烦。CLAUDE.md的价值就在这里,它把那些每次都要重复交代的背景,沉淀成项目的一层固定上下文。官方还把 Claude Code 的记忆体系拆成两类,一类是我们手写的CLAUDE.md,更适合放指令、规则、项目架构、编码标准和工作流;另一类是 auto memory,由 Claude 自己记录从纠正和偏好里学到的模式。两者都会进入每次会话,但分工不同,