
最近我们在整理 Claude Code 的项目规则时,很容易遇到一个现实问题,规则越写越多,模型越读越累。一个前端目录需要 React 组件规范,一个后端目录需要 API 校验规范,一个测试目录需要 mock 与断言规范,若把这些内容全塞进CLAUDE.md,Claude Code 每次启动都会把它们一起带进上下文。短期看很省事,长期看会变成噪声。Anthropic 官方文档也明确提到,CLAUDE.md会在会话开始时被读入上下文,它适合放那些每次都应该被 Claude Code 看到的项目约定、工作流和架构信息。更细粒度、只对某类文件生效的规则,应该拆到.claude/rules/里,并用路径限定来减少上下文噪声。说到 Path-specific rules,核心并不复杂。它就是在规则文件顶部写一段 YAML frontmatter,通过paths字段告诉 Claude Code,这个规则只在处理匹配路径的文件时才加载。比如一个 API 项目里,src/api/**/*.ts匹配所有 API 目录下的 TypeScript 文件,当 Claude Code 正在阅读或者修改这些文件时,API 开发规则才进入上下文。Anthropic 官方文档的描述很直接,带paths的规则只在 Claude Code 处理匹配文件时生效,没有paths的规则则无条件加载,并且 Path-scoped rules 是在 Claude 读取匹配文件时触发,而不是每次工具调用都触发。