Anthropic 官方课程第 2 课。CLAUDE.md 不是强制配置,是建议——每一行都在和别的行抢注意力。文件越长,任何一条规则越不容易被执行。
① 硬规则别写这儿。「禁止推送到 main」该放 pre-tool-use 钩子——钩子是代码,动作发生前就拦得住;写进 CLAUDE.md 只是指望它读了会守。
② 四个位置启动时全部加载:托管策略、用户、项目、本地。本地被 git 忽略——只属于这个仓库的架构决定放这儿,别污染团队那份。
③ @路径 拆文件只为整齐,不省上下文。 导入的内容会在引用处原地展开,照样一次全读进去。
④ 写法决定听不听。 要具体到可验证——写「新增 API 路由放 src/api/handlers,每文件一条」,不写「遵循最佳实践」;禁止时点明替代;IMPORTANT 是预算,全篇都喊等于都没喊。
Claude 做错了就当成 CLAUDE.md 的 bug 报告,跟它说「加进 CLAUDE.md」。一行说不出道理就删掉。
出处:Anthropic 官方课程 Claude Code in Action 第 2 课。