CLAUDE.md:global 和 project
global CLAUDE.md 放你个人到处都会用的工作偏好。project CLAUDE.md 放 repo facts、命令、安全规则和团队共用的 review 标准。
Claude Code 不会因为你把所有规则塞进一个巨大的文件就变强。更好的做法是:把长期上下文放进 CLAUDE.md,把能强制执行的约束放到真的能执行它的层。repo 同时有 Cursor 规则(.cursor/rules)时,也要写清楚哪一层是 source of truth。
global CLAUDE.md 放你个人到处都会用的工作偏好。project CLAUDE.md 放 repo facts、命令、安全规则和团队共用的 review 标准。
settings 属于确定性的工具行为,比如 permissions、hooks、feature toggles。能用 settings 强制执行的权限规则,不要只埋在文字里。
hooks 适合必须在固定时刻运行的检查。格式化、生成文件保护、安全扫描,或者任何失败应该机械化的规则,都适合放这里。
slash commands 和 skills 适合有固定输入输出的重复流程。长期 repo policy 留在 CLAUDE.md,再让 command 在具体任务里调用它。
MCP rules 负责外部工具、数据源或写操作的授权。把它当能力边界,不要拿它写一般 coding style。
runtime 版本、secrets 是否存在、网络访问、sandbox 限制,都会影响 agent 实际能做什么。稳定事实写进 harness,易变事实用命令验证。
如果规则是项目知识,放进 project CLAUDE.md。
如果规则是在阻止危险动作,用 settings、hooks 或 permissions 强制执行。
如果规则描述一个重复 workflow,放进 slash command 或 skill。
如果规则因机器而异,写清楚环境变量或能证明它的命令。
如果同一条规则出现在 CLAUDE.md、AGENTS.md 或 Cursor 规则里,指定 source of truth。
AgentLint 检查 Claude Code 周围的 harness:CLAUDE.md、AGENTS.md、Cursor 规则(.cursor/rules)、相邻 rule files、CI 和 hooks。
安装 AgentLint