教程

CLAUDE.md 10 段黄金模板:让 Claude Code 每次启动都像资深开发者一样了解你的项目

CLAUDE.md 完整指南:10 段黄金模板(项目概述/技术栈/核心命令/项目结构/代码规范/禁止修改区域/测试规范/数据库规范/代码风格/当前工作)逐段详解,以及会话级动态更新、.claude/rules/ 领域规则拆分、废弃代码标记等高级技巧。

2026/4/217分钟 阅读ClaudeEagle

CLAUDE.md 是 Claude Code 在每次 Session 开始前必读的文件。写好它,Claude Code 立刻变成了解你代码库的资深开发者;不写它,每次都要重新解释一遍项目背景。

根据 r/ClaudeAI 社区、shanraisshan/claude-code-best-practice 仓库(84 条经验)和 Anthropic 官方文档,这是目前最完整的 CLAUDE.md 模板。


为什么 CLAUDE.md 如此重要

没有 CLAUDE.md 时:

  • Claude Code 猜测你的规范(有时猜错)
  • 每次 Session 开始要花时间解释背景
  • 可能重新实现你已经有的功能(auth、验证库等)
  • 可能修改你不想让它碰的文件

有了好的 CLAUDE.md:

  • Session 立即开始,无需额外解释
  • 违反规范的情况大幅减少(来自 UX Planet 2026 年数据:减少约 80% 的首次错误)
  • Claude Code 自动使用你已有的 auth、验证等基础设施
  • 你的时间花在审查输出上,而不是纠正假设

完整的 10 段模板

把下面这个模板复制到项目根目录的 CLAUDE.md,删除不适用的部分:

markdown
# [项目名称]

## 1. 项目概述
[2-3 句话说明这是什么项目、谁在用、解决什么问题]

示例:这是一个面向工程团队的 B2B 项目管理工具。
包含项目、任务、Sprint 管理和 GitHub 集成。
用户分为团队成员和管理员,通过 Stripe 付费订阅。

## 2. 技术栈
- 运行时: Node.js 22 / Python 3.12 / [你的运行时]
- 框架: Next.js 16(App Router,不是 Pages Router)
- 数据库: PostgreSQL(通过 Prisma ORM,不用裸 SQL)
- 认证: Clerk / Auth.js / JWT
- 样式: Tailwind CSS v4(不是 v3,配置方式已变)
- 测试: Jest + Playwright / Vitest
- 包管理: bun / pnpm / npm

(版本很重要——API 会变,Claude Code 的训练数据包含旧版本)

## 3. 核心命令
- 启动开发服务器: `npm run dev`
- 运行测试: `npm run test`
- 类型检查: `npm run typecheck`
- 构建: `npm run build`
- 数据库迁移: `npx prisma db push`(开发)/ `npx prisma migrate deploy`(生产)
- Lint: `npm run lint`

(这部分写了,Claude Code 才会自动运行测试验证改动)

## 4. 项目结构
src/
  app/          # Next.js App Router 页面和 API 路由
  components/   # 可复用 UI 组件
  lib/          # 业务逻辑、工具函数、SDK 封装
  hooks/        # 自定义 React Hooks
  types/        # TypeScript 类型定义
prisma/
  schema.prisma # 数据库 Schema

(目录描述让 Claude Code 知道新文件放哪,不用读 50 个文件推断)

## 5. 代码规范
- TypeScript strict 模式已开启,禁止使用 `any`
- 使用命名导出,不用默认导出(页面组件除外)
- 所有 API 路由通过 `src/lib/auth.ts` 做认证,不要重复实现
- 数据库查询放在 `src/lib/db/`,不要内联在 API 路由里
- 输入验证统一使用 Zod
- 只用 Tailwind 工具类,除非绝对必要不写自定义 CSS
- 文件命名:全部使用 kebab-case

## 6. 禁止修改区域(最重要的安全措施)
- src/lib/auth/ —— 认证逻辑单独维护,不要改
- prisma/migrations/ —— 永远不要直接修改 migration 文件
- .env.local —— 不要在代码里读写密钥
- src/lib/stripe/ —— Stripe 集成由另一个团队负责

## 7. 测试规范
- 单元测试:src/lib/ 下的工具函数
- 集成测试:API 路由
- E2E 测试:仅核心用户流程(结账、认证、核心功能)
- 完成任务前必须运行 `npm run test`
- 修复 Bug 时不要跳过测试——测试也要修

## 8. 数据库规范
- 不要删除表或字段——先标记为 deprecated
- 新表必须包含:id(UUID)、created_at、updated_at
- 多表写入使用数据库事务
- Prisma schema 中必须显式声明外键

## 9. 代码风格
- 函数最长 20 行——超过则提取为辅助函数
- 文件最长 200 行——超过则拆分为模块
- 优先组合而非继承
- 注释解释"为什么",而不是"是什么"

## 10. 当前工作(每次大任务前更新)
正在做:Stripe 订阅管理
下一步:邮件通知系统
最近完成:用户资料编辑

各段详解:怎么写才有效

第 1 段:项目概述

目标:让 Claude Code 知道它在什么类型的代码库里。

不好的写法(像宣传文案):

这是一个利用 AI 技术改变团队协作方式的创新 SaaS 平台。

好的写法(像事实描述):

这是面向工程团队的 B2B 项目管理工具。 包含项目、任务、Sprint 和 GitHub 集成。 用户分为团队成员和管理员,付费用户通过 Stripe 订阅。

第 2 段:技术栈

版本号很重要

  • Next.js 16(App Router,不是 Pages Router)——不写这个,Claude Code 可能生成 Pages Router 代码
  • Tailwind v4(不是 v3——配置方式已变)——v3 和 v4 配置完全不同
  • Bun 作为包管理器(不是 npm)——避免生成 npm 命令

第 3 段:核心命令

最被忽视的段落,但影响最大。

不写这段,Claude Code 改了代码但不知道怎么运行测试验证。写了之后,它会自动:

  1. 修改代码
  2. 运行测试
  3. 如果测试失败,自动修复
  4. 通过后才报告完成

第 6 段:禁止修改区域

最重要的安全保护

Claude Code 会尊重这个列表。如果某个任务需要修改禁区内的文件,它会先警告你,而不是直接改。

常见禁区:

  • 稳定的认证实现
  • Migration 历史
  • 有硬编码配置的文件
  • 需要特殊知识的第三方集成代码

高级技巧:让 CLAUDE.md 更强大

技巧 1:第 10 段每次更新

每次开始新任务前,更新"当前工作":

markdown
## 当前工作
正在做:实现用户通知功能(WebSocket + 站内信 + 邮件)
注意:notifications 表的 Schema 已经在 PR #234 里,等 merge
不要碰:src/lib/ws/ 正在被另一个同事修改
活跃分支:feature/notifications

这让每次 Session 都有精确的任务上下文,不是通用的项目背景。

技巧 2:链接到详细文档

对于复杂集成,在 CLAUDE.md 里链接到专门的说明文档:

markdown
## Stripe 集成
详细文档:参见 src/lib/stripe/STRIPE_DOCS.md
测试卡:https://stripe.com/docs/testing
重要:所有 Webhook 必须通过 src/lib/stripe/webhook-validator.ts 验证

技巧 3:标记废弃代码

如果代码库有正在迁移的部分:

markdown
## 废弃警告
src/lib/legacy-auth/ 正在被 src/lib/auth/ 替代
永远不要在 legacy-auth/ 里添加新代码
新的认证代码统一放在 src/lib/auth/

技巧 4:用 .claude/rules/ 补充领域规则

CLAUDE.md 写项目级通用规则。领域专用规则放在 .claude/rules/

.claude/rules/ ├── api-routes.md # API 路由写法规范 ├── database.md # 数据库迁移和查询规范 ├── testing.md # 测试规范 └── components.md # 组件规范

Claude Code 在处理 API 路由时读 api-routes.md,不是写按钮样式的时候。按需加载,保持上下文干净。


CLAUDE.md 的"黄金规则":删

写完后,过一遍黄金规则

删除所有不会让 Claude Code 犯错的内容。

只保留:

  1. 不写会犯错的规范(必须使用 Zod 而不是 推荐使用 Zod
  2. 它不可能猜到的项目特定信息(你的目录结构、禁区)
  3. 版本号和具体实现(App Router 而不是 Next.js

删掉:

  • 通用最佳实践(它已经知道了)
  • 废话和解释(没有操作意义的内容)
  • 过长的背景故事

目标:精准信息密度,不是文档完整性。


来源:blink.new CLAUDE.md 最佳实践指南 | shanraisshan/claude-code-best-practice | Anthropic 官方文档 | 整理:ClaudeEagle

相关文章推荐

教程完美 CLAUDE.md 写法指南:三大支柱结构、防踩坑清单和可直接复用的模板CLAUDE.md 完整写法指南:三大支柱结构(WHAT/WHY/HOW)、10 项防踩坑规则、渐进式披露策略、与 AGENTS.md 的选择,附可直接复用的模板和优化检查清单。2026/4/11教程CLAUDE.md 完全指南:给 Claude Code 持久记忆,让 AI 真正了解你的项目CLAUDE.md 完全指南:两种记忆机制对比(CLAUDE.md vs Auto Memory)、放置位置(项目/用户/组织三级作用域)、/init 快速生成、高效写法原则(简洁/具体/结构化)、@ 文件引用语法、按路径作用域的 .claude/rules/ 分组、自动记忆配置与常见问题排查。2026/3/13教程Claude Code 最佳实践官方指南:上下文管理、验证策略与自动化扩展Claude Code 官方最佳实践指南,涵盖上下文窗口管理(最核心约束)、提供验证途径让 Claude 自我检验、四阶段工作流(探索→计划→确认→编码)、CLAUDE.md 编写原则、权限管理、Subagent 使用技巧,以及 Writer/Reviewer 并行开发模式等高效实践。2026/2/28教程Claude Code 上下文窗口管理完全指南:防止 Token 浪费的 7 个核心策略Claude Code 上下文管理完整指南:7 个核心策略——主动 /compact(70% 时机)、一 Session 一任务、.claudeignore 源头控制、临时 Markdown 文件传递上下文、Subagent 隔离探索、Plan Mode 减少探索消耗、精炼 CLAUDE.md。按优先级排序,附优先级矩阵。2026/4/21教程Claude Code 项目初始化最佳实践:新项目 5 分钟搭建完美 AI 编程环境Claude Code 新项目最佳初始化流程:CLAUDE.md 标准模板(项目背景/技术栈/代码规范/禁止操作)、.claudeignore 初始配置、.claude/commands/ 常用命令预置、settings.json 权限与模型设置、--init 命令的自动化初始化、项目级 vs 全局配置的优先级说明,以及不同类型项目(Web前端/后端API/全栈/开源库)的专项初始化模板。2026/3/18教程Claude Code CLAUDE.md 深度指南:跨会话持久记忆、路径规则作用域与 Auto Memory 自动学习Claude Code CLAUDE.md 完整指南:两大记忆机制对比(CLAUDE.md 手动指令 vs Auto Memory 自动学习)、四级作用域(托管策略/项目/用户/本地)及优先级、/init 快速初始化、@ 导入语法、.claude/rules/ 路径级规则(YAML frontmatter 限定文件范围)、跨项目 symlink 共享,以及 Auto Memory 的工作原理、存储位置和四大常见问题排查。2026/3/5