这 15 条实践来自同时运行 6 个生产项目的真实经验,不是理论,是反复踩坑后留下的模式。
核心结论:Claude Code 的使用体验差异,90% 来自配置——CLAUDE.md、规则文件、自定义命令。配好了,它像资深团队成员;不配,它只是个聪明但不了解你的代码库的实习生。
第一类:项目配置(最高影响力)
实践 1:写 CLAUDE.md(单个最高影响力的操作)
写一个好的 CLAUDE.md 花 10 分钟,但能节省之后每次 Session 开头解释背景的时间。
必须包含的核心内容:
# 项目名
简单说明这是什么。
## 技术栈
- 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 变成一个词的命令:
# .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
git add -A && git commit -m "重构前的检查点"如果改坏了,git reset 一步回到上一个好状态。不这样做,你要手动撤销 20 个文件的改动。
习惯化:把这条命令加进你的 Shell alias:
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 自己跑测试
# 在 CLAUDE.md 里写清楚测试命令
## 命令
- 运行测试: pnpm test:unit
# 在任务描述里加上
"完成后运行测试确认没有破坏现有功能"这样 Claude Code 会:
- 实现功能
- 运行测试
- 如果测试失败,自动修复
- 全部通过后才报告完成
不用你手动 copy 报错信息再贴回去,自动闭环。
实践 12:每个 Session 专注一个任务
反直觉但有效:即使你有 5 件事要做,也分成 5 个 Session(或用 /clear 清空后开始下一个),而不是一个 Session 里做所有的事。
原因:Claude Code 的上下文里混入了多个不相关任务的中间结果,反而影响每个任务的质量。
第四类:高级技巧(低使用率但高价值)
实践 13:用 Hooks 实现自动化
在 .claude/hooks/ 配置 Hooks,每次文件写入后自动执行:
# .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