跳转到内容

上下文与 CLAUDE.md

Claude Code 会在需要时自动读取项目文件,无需你手动「上传整个仓库」。但你可以通过 CLAUDE.md 主动告诉它:

  • 技术栈与目录结构
  • 编码规范与测试命令
  • 禁止事项(例如「不要改 legacy/」)
Claude Code 从项目文件、CLAUDE.md、@ 引用与会话历史获得上下文的示意图
上下文不是一个文件,而是多种来源共同组成的工作记忆。
位置作用范围
项目根目录 CLAUDE.md当前项目(可提交到 Git)
项目子目录 CLAUDE.md子目录范围的补充说明
~/.claude/CLAUDE.md你所有项目的个人默认

Claude Code 会根据当前工作目录加载相关记忆。适合团队共享的内容放项目里,适合个人偏好的内容放用户级文件里。

# Project context
- Stack: Next.js 14, TypeScript, pnpm
- Run tests: `pnpm test`
- Do not modify files under `vendor/`

好的 CLAUDE.md 像一张项目地图,不像一本百科全书。

内容示例
启动与测试命令pnpm devpnpm testpnpm lint
目录约定src/routes 放页面,src/lib/server 放服务端逻辑
编码规范优先写集成测试,API 错误使用统一结构
安全边界不要改 infra/prod,不要提交真实密钥
业务词汇tenant、workspace、account 在本项目里的区别

不建议写进去的内容:

  • 大段复制官方文档。
  • 经常变化的临时任务清单。
  • 密钥、Token、数据库密码。
  • 已经能从代码直接读出来的重复信息。

在对话中可用 @文件名 把特定文件拉进上下文(具体语法以当前版本为准)。

适合用 @ 的场景:

  • 你已经知道问题和某个文件有关。
  • 希望 Claude Code 优先阅读某份设计文档、日志或报错文件。
  • 想减少它在仓库中搜索的范围。

不确定文件在哪时,直接描述目标,让 Claude Code 先搜索更自然。

  • /clear 开新上下文,再给出当前目标和关键文件。
  • 把稳定规则沉淀到 CLAUDE.md,不要每次复制长提示词。
  • 把偶尔使用的大流程放进 Skills 与 Hooks
  • 对复杂任务先让 Claude Code “只分析不修改”,确认范围后再动手。

配置概览