实战

Claude Code 真实项目 15 条最佳实践:6 个生产项目总结的完整配置与工作流指南

来自 6 个生产项目真实经验的 15 条 Claude Code 最佳实践:项目配置(CLAUDE.md/规则文件/自定义命令/.claudeignore)、提问方式(目标优于指令/分阶段执行/引用已有模式)、工作流习惯(提前 commit/主动 compact/一任务一 Session),以及 Hooks 自动化和 Kit 打包。

2026/4/217分钟 阅读ClaudeEagle

这 15 条实践来自同时运行 6 个生产项目的真实经验,不是理论,是反复踩坑后留下的模式。

核心结论:Claude Code 的使用体验差异,90% 来自配置——CLAUDE.md、规则文件、自定义命令。配好了,它像资深团队成员;不配,它只是个聪明但不了解你的代码库的实习生。


第一类:项目配置(最高影响力)

实践 1:写 CLAUDE.md(单个最高影响力的操作)

写一个好的 CLAUDE.md 花 10 分钟,但能节省之后每次 Session 开头解释背景的时间。

必须包含的核心内容:

markdown
# 项目名

简单说明这是什么。

## 技术栈
- Next.js 15(App Router)
- Supabase(auth + 数据库)
- Stripe(支付)
- Tailwind CSS v4

## 目录结构
- /src/app — 页面和 API 路由
- /src/lib — 共享工具和服务
- /src/components — React 组件(使用 shadcn/ui)

## 规范
- 始终使用 TypeScript strict 模式
- 服务端组件优先,只在必要时用 'use client'
- 错误处理:使用 Result 模式,不用 try/catch
- 测试:使用 Vitest,测试文件和源文件放在一起
- 不使用默认导出(页面除外)

## 命令
- 开发: pnpm dev
- 测试: pnpm test
- 构建: pnpm build
- Lint: pnpm lint

写好这个,Claude Code 立刻变成了解你项目的开发者。

实践 2:用 .claude/rules/ 组织领域规则

CLAUDE.md 写全局规则,.claude/rules/ 写领域专用规则:

.claude/rules/ ├── api-routes.md # API 路由规范 ├── database.md # 数据库规范 ├── testing.md # 测试规范 └── components.md # 组件规范

关键:Claude Code 只在处理相关任务时加载对应规则。写 API 路由时读 api-routes.md,不是设置 CSS 的时候。上下文精准,不是什么都塞进去。

实践 3:建 .claude/commands/ 目录

把你反复输入的长 Prompt 变成一个词的命令:

markdown
# .claude/commands/new-feature.md

按照我们的标准模式创建新功能:
1. 在 /src/app/api/ 创建 API 路由
2. 在 /supabase/migrations/ 创建数据库 migration
3. 在 /src/components/ 创建 React 组件
4. 在每个新文件旁边创建 Vitest 测试文件
5. 如果需要,更新侧边栏导航

之后只需输入 /new-feature,不用每次重新输入那一大段。

值得创建自定义命令的场景

  • PR 描述生成
  • 数据库 migration 创建
  • 组件模板
  • 安全审查
  • 性能分析

实践 4:配置 .claudeignore

减少噪音,让 Claude Code 专注于重要的代码:

node_modules/ .next/ dist/ *.lock *.log coverage/ .env*

上下文越小越精准,响应越快越准确。


第二类:提问方式(中高影响力)

实践 5:说"是什么"和"为什么",不说"怎么做"

差的提问方式(给了具体实现指令):

在 src/lib 里创建一个叫 auth.ts 的文件, 写一个 verifyToken 函数,接受 JWT 字符串, 用 jose 库返回解码后的 payload

好的提问方式(给了目标和约束):

我需要在 API 路由里做 JWT 验证。 用户通过 Supabase 认证,但我需要在 edge functions 里验证 token,那里用不了 Supabase 客户端。

第二种方式给了 Claude Code 做架构决策的空间。它可能发现你已经有类似的验证逻辑,或者建议比 jose 更适合的方案。让它思考,而不只是执行。

实践 6:大任务分阶段执行

不要用一个 Prompt 要求整个功能。分阶段:

阶段 1 - 规划 "我需要加 Stripe 订阅系统。你的实现方案是什么?" → 评审计划,发现问题 阶段 2 - 实现第一部分 "我们先做 Stripe Webhook handler" → 运行测试,验证代码 阶段 3 - 实现第二部分 "现在加定价页面" → 继续验证

每个阶段得到完整关注。Claude Code 不会因为要记住第 1 步而在第 5 步做错。

实践 7:引用已有代码模式

添加 /api/projects 路由。 参考 /api/teams 的模式——用同样的错误处理、 认证中间件和响应格式。

Claude Code 会读那个文件并精确复制模式。这比用语言描述模式可靠得多。

实践 8:先要计划,再要代码

对于涉及 3 个以上文件的任务:

说明一下你会怎么实现用户通知功能。 先不要写代码——只说方案。

评审方案,发现问题,然后再说"好,按这个方案实现。"

比起等 15 个文件改完再发现方向错了,这种方式省大量时间。


第三类:工作流习惯(中影响力,长期复利)

实践 9:大改动前先 commit

bash
git add -A && git commit -m "重构前的检查点"

如果改坏了,git reset 一步回到上一个好状态。不这样做,你要手动撤销 20 个文件的改动。

习惯化:把这条命令加进你的 Shell alias:

bash
alias cc-checkpoint="git add -A && git commit -m 'checkpoint'"

在 Claude Code 开始大改动前输入 cc-checkpoint

实践 10:上下文长了用 /compact

研究表明,LLM 在上下文窗口装满时性能下降。Claude Code 会把大量 Token 花在处理旧的、不相关的上下文上。

信号

  • Claude Code 开始重复之前说过的话
  • 响应变慢
  • 开始犯之前不会犯的错误

此时用 /compact(压缩但保留关键信息)。不要等到崩溃,在 70% 时主动压缩。

# 定向压缩示例 /compact 只保留:用户认证模块的实现状态和 TODO 列表

实践 11:让 Claude Code 自己跑测试

markdown
# 在 CLAUDE.md 里写清楚测试命令
## 命令
- 运行测试: pnpm test:unit

# 在任务描述里加上
"完成后运行测试确认没有破坏现有功能"

这样 Claude Code 会:

  1. 实现功能
  2. 运行测试
  3. 如果测试失败,自动修复
  4. 全部通过后才报告完成

不用你手动 copy 报错信息再贴回去,自动闭环。

实践 12:每个 Session 专注一个任务

反直觉但有效:即使你有 5 件事要做,也分成 5 个 Session(或用 /clear 清空后开始下一个),而不是一个 Session 里做所有的事。

原因:Claude Code 的上下文里混入了多个不相关任务的中间结果,反而影响每个任务的质量。


第四类:高级技巧(低使用率但高价值)

实践 13:用 Hooks 实现自动化

.claude/hooks/ 配置 Hooks,每次文件写入后自动执行:

yaml
# .claude/hooks/post-write.yaml
- name: auto-lint
  on: file_write
  match: "*.ts,*.tsx"
  command: "npx eslint --fix {file}"

- name: auto-format
  on: file_write
  match: "*.ts,*.tsx,*.css"
  command: "npx prettier --write {file}"

Claude Code 每次写文件后自动 lint 和 format,你看到的输出已经是规范的代码。

其他有用的 Hooks:

  • 写 TypeScript 文件后自动类型检查
  • 写 migration 文件后自动运行迁移
  • 提交前自动运行测试套件

实践 14:打包项目专属的配置 Kit

把你项目的整套配置打包成模板,方便复用和团队共享:

project-kit/ ├── CLAUDE.md # 项目规范 ├── .claude/ │ ├── rules/ # 领域规则 │ ├── commands/ # 自定义命令 │ └── hooks/ # 自动化 Hooks └── .claudeignore # 文件排除规则

新项目或新团队成员,一次性复制这个 Kit,立刻有完整的 Claude Code 配置。

实践 15:大改动前先审查再批准

Claude Code 的 "balanced" 模式会在高风险操作前请求确认,但默认批准模式可能太宽松了。

对于以下操作,在批准前主动检查:

  • 修改超过 5 个文件的重构
  • 数据库 Schema 变更
  • 认证或权限相关代码
  • 任何接触 DO NOT MODIFY 区域的改动

简单方法:在大改动前问 Claude Code:

在执行前,列出你会修改哪些文件,以及每个文件的改动摘要。

复利效应:这些实践叠加起来

CLAUDE.md(10 分钟) + .claude/rules/(30 分钟) + 自定义命令(20 分钟) + .claudeignore(5 分钟) ──────────────────────── = 初始投入:约 1 小时 = 每次 Session 节省:15-30 分钟 = 错误率下降:约 60-80%

这不是线性叠加,是复利。每个配置让其他配置更有效。CLAUDE.md 的规范 + 自定义命令 + Hooks,三者结合后效果远超单独使用任何一个。


来源:aiorg.dev 15 条最佳实践 | Anthropic 官方文档 | 整理:ClaudeEagle

相关文章推荐

实战Claude Code 每日工作流:顶级开发者真正在用的 10 分钟 AI 日常使用方式Claude Code 每日高效工作流:早晨 10 分钟启动仪式(读昨天/规划今天/清收件箱)、单任务 Session 模式、CLAUDE.md 上下文存储、代码 Review 和 Debug 系统化方法、重构渐进策略,以及下班前整理习惯,来自真实重度用户的日常实践。2026/4/17实战CLAUDE.md 最佳实践:如何写出让 Claude Code 事半功倍的项目配置文件CLAUDE.md 是 Claude Code 最重要的项目配置文件。5 条黄金法则 + 高级技巧 + 模板,让你写出真正高效的项目配置。2026/4/7实战实战者说:Harper Reed 分享 Claude Code 真实工作流——TDD、预提交钩子与 prompt_planHarper Reed(奥巴马 2012 竞选技术总监)分享 Claude Code 真实工作流:GPT-4o 打磨想法→推理模型生成 spec.md→生成 prompt_plan.md→Claude 自动执行计划,配合 TDD、Linting 和 Pre-commit Hooks 三大防御性实践,实现 30-45 分钟完成完整开发计划。2026/3/2实战从 Cursor 用户到 Claude Code 深度用户:最实用的使用技巧合集Builder.io CTO Steve Sewell 从 Cursor 切换到 Claude Code 的实战经验:跳过权限提示的正确姿势、终端非直觉操作大全、消息队列让 Claude 24/7 工作、让 Claude 自动建立项目配置、自定义斜杠命令,以及处理 18000 行超大文件的独特能力。2026/2/28实战Harper Reed 的 Claude Code 实战工作流:Spec 驱动开发 + TDD + 提交计划的黄金组合Harper Reed 分享的 Claude Code Spec 驱动开发工作流:用推理模型(o1/o3)生成规格说明和提示计划,Claude Code 按计划逐步执行并自动追踪进度。配合 TDD、Linting、Pre-commit Hooks 三大防御性编码实践,团队在 30-45 分钟内完成新功能开发。2026/2/28实战用 Claude Code 构建生产级应用:真实项目中学到的 10 个经验教训Claude Code 生产级应用实战经验:10 个真实项目中学到的教训,包括测试先行的重要性、CLAUDE.md 的长期价值、长会话管理、AI 代码 review 标准,以及让 Claude Code 越用越好的积累方式。2026/4/11