$ man context-wiki/claude-md
代码与自动化beginner
CLAUDE.md
你的 AI 队友在每次会话前阅读的入职文档
CLAUDE.md 的作用
CLAUDE.md 文件位于项目根目录。它是 Claude 启动会话时第一个读取的文件。可以把它想象成你 AI 队友的入职文档。在 Claude 读取任何其他文件之前,在它处理你的提示之前,在它查看你的代码之前,它都会先读取 CLAUDE.md。这使其成为整个系统中优先级最高的上下文。你在这里放的内容会影响之后的每一次交互。
模式
配置层级体系
AI 配置有三个层级,按顺序加载。
CLAUDE.md 最先加载。环境默认值、包管理规则、代码风格偏好、语言默认设置。这是基础层,适用于每个会话,不论你在做什么。
技能文件在调用时加载。当你输入 /deploy,部署技能文件加载到上下文中。当你输入 /tracker,跟踪器技能加载。技能是工作流特定的,不触发就不会加载。
规则在你接触匹配文件时加载。如果你打开一篇博文,博文格式规则加载。如果你编辑一个组件,组件模式规则加载。规则是文件特定的,根据你编辑的内容激活。
层级关系很重要。CLAUDE.md 设定基线。技能添加工作流上下文。规则添加文件特定的上下文。它们共同为 Claude 提供完整画面,无需你做任何解释。
专业技巧
CLAUDE.md 里应该放什么
保持 CLAUDE.md 聚焦于适用于每个会话的内容。环境细节:操作系统、shell、主要编程语言。包管理规则:如何安装、如何处理权限、如何验证版本。代码风格默认值:TypeScript 优先于 JavaScript、格式偏好、导入约定。
不要在 CLAUDE.md 中放工作流特定的指令,那些属于技能文件。不要在 CLAUDE.md 中放文件特定的模式,那些属于规则文件。CLAUDE.md 应该简短且通用。如果一条规则只是偶尔适用,它就不属于这里。
我的 CLAUDE.md 只有几段话。环境信息、包管理规则、语言默认设置,仅此而已。其他所有内容都放在技能和规则中,按需加载,而不是每次会话都占用上下文窗口空间。
反模式
常见错误:过度填充 CLAUDE.md
我见过有人把完整的工作流文档、编码标准、风格指南和项目架构全部塞进 CLAUDE.md。文件膨胀到 500 多行。问题在于:Claude 在每次会话中都会读取全部内容,即使 90% 与当前任务无关。这浪费了上下文窗口空间,而且当不同工作流的指令互相矛盾时,实际上会让模型困惑。
保持 CLAUDE.md 精简。只放通用默认值。把其他所有内容移到技能(用于工作流)和规则(用于文件模式)中。这样 Claude 只获取当前任务所需的上下文,而不是你记录过的所有内容的洪流。
knowledge guide
相关条目