用途
claude-optimised 是一份指导如何编写和优化 CLAUDE.md 文件的指南,旨在让 Claude Code 在使用这些文件时达到最高的遵循度和性能。它适用于创建新的 CLAUDE.md、审查现有文件,或在用户编写的 CLAUDE.md 效果不佳时进行改进。
核心原则
指南反复强调“少即是多”:过长的 CLAUDE.md 会让 Claude 忽略其中一半内容,关键规则会淹没在噪声里。对每一行内容都应自问:删除它是否会导致 Claude 犯错?如果不会,就删除。如果 Claude 本来就能做对,也应删除或改为 hook。
应包含的内容
必需(高价值)
- 项目上下文:如“Next.js 电商应用,使用 Stripe”(一句话)
- 构建/测试命令:如
npm run test、pnpm build - 关键注意事项:如“不要直接修改 auth.ts”
- 非显而易见的约定:如“状态管理用 vi,不用 useState”
- 领域术语:如“PO = Purchase Order,不是 Product Owner”
仅在非标准时才包含
- 分支命名(如果不是 feature/、fix/ 等常规格式)
- 提交格式(如果不是 conventional commits)
- 文件边界(需要避开的敏感文件)
不应包含的内容
- Claude 已经知道的内容,如通用编码实践
- 从现有代码中就能看出的明显模式
- 冗长的解释(应保持简洁)
- 空想性规则(只写你实际遇到过的问题)
结构建议
指南给出的结构模板包括:
- 项目名称,附一句话描述
## Commands:测试、构建、Lint 等命令## Code Style:只写非显而易见的约定## Architecture:仅在复杂时简要描述## IMPORTANT:关键警告,谨慎少量使用
格式规则
- 使用要点而非段落
- 用 Markdown 标题分隔模块,防止指令相互干扰
- 表述具体而非模糊,如写“2 空格缩进”而不是“格式要正确”
- 关键规则使用 IMPORTANT/YOU MUST,但要节制,否则会失去效果
文件放置位置
~/.claude/CLAUDE.md:作用于所有会话(用户偏好)./CLAUDE.md:项目根目录,可通过 git 共享./subdir/CLAUDE.md:在子目录工作时加载.claude/rules/*.md:作为项目记忆自动加载
优化检查清单
在最终确定前应确认:
- 是否在 50 行以内(理想目标)
- 每一行是否都解决了你实际遇到过的问题
- 是否与其他 CLAUDE.md 位置存在冗余
- 是否包含 Claude 默认就会遵循的指令
- 是否通过观察 Claude 行为是否改变来验证过效果
维护方法
- 用
/init作为起点,然后大幅修剪 - 每隔几周执行:“Review this CLAUDE.md and suggest removals”(审查此文件并建议删除内容)
- 当 Claude 行为不当时,添加具体规则
- 当 Claude 忽略规则时,说明文件过长,应修剪其他内容
常见反模式
- 200 行以上的 CLAUDE.md:会被忽略
- “Write clean code”:Claude 本来就知道
- 多个文件中重复规则:浪费 token,可能产生冲突
- 理论性担忧:只针对真实问题添加
- 长篇散文式解释:应改用要点
最小有效示例
指南给出的示例约 15 行,包含项目名称与一句话描述、Commands(测试与 iOS 模拟器命令)、Style(状态管理库和条件类名工具的选择)、IMPORTANT(不提交 .env 文件、认证逻辑只放在 src/lib/auth.ts)。指南称其“覆盖了 Claude 无法推断的内容,仅此而已”。