本教程面向已掌握Claude Code基础操作的开发者,提供六套经过实战验证的工作流模板。每套模板覆盖一个高频开发场景——从绿场项目搭建到Bug诊断、从功能开发到代码重构、从文档生成到技术调研。每个模板都包含CLAUDE.md配置片段、Hook设置、Skill组合策略和具体操作步骤,复制即用、按需裁剪。学完本教程,你将拥有一个可复用的工作流工具箱,把Claude Code从"对话式工具"升级为"流程化开发环境"。
适用人群:有3个月以上Claude Code使用经验的开发者,希望从零散使用进化到系统化工作流的工程师。
在深入每个模板之前,先理解Claude Code工作流设计的核心原则。
graph TB
subgraph "工作流设计三层模型"
A[指令层 CLAUDE.md] --> B[流程层 Hooks + Skills]
B --> C[执行层 Agent行为]
end
subgraph "六大场景模板"
T1[绿场项目启动]
T2[Bug诊断修复]
T3[功能开发迭代]
T4[代码重构优化]
T5[文档批量生成]
T6[技术调研探索]
end
C --> T1
C --> T2
C --> T3
C --> T4
C --> T5
C --> T6
style A fill:#4A90D9,color:#fff
style B fill:#7B68EE,color:#fff
style C fill:#9370DB,color:#fff
三层模型说明:
| 层级 | 组件 | 作用 | 配置位置 |
|---|---|---|---|
| 指令层 | CLAUDE.md | 定义项目规则、偏好、约束 | 项目根目录 |
| 流程层 | Hooks + Skills | 自动化触发、领域知识注入 | .claude/ 目录 |
| 执行层 | Agent行为 | Claude实际执行的步骤序列 | 运行时动态决定 |
设计工作流的关键:在指令层设定边界,在流程层自动化重复步骤,在执行层给予Agent足够的灵活性。过度约束会导致死板,过度自由会导致不可预测。
接到一个全新项目需求,从空目录开始,需要Claude Code帮你搭建项目骨架、配置工具链、初始化Git工作流。
# 项目:[项目名称]
## 技术栈决策
- 前端:Next.js 15 + TypeScript + Tailwind CSS
- 后端:Node.js + Express + PostgreSQL
- 测试:Vitest + Playwright
- 部署:Docker + GitHub Actions
## 项目结构约定
- src/ 源代码目录
- tests/ 测试目录,镜像src/结构
- docs/ 文档目录
- scripts/ 工具脚本
## 开发规则
- 所有新文件必须有对应的测试文件
- API端点必须有JSDoc注释
- 组件使用PascalCase命名
- 工具函数使用camelCase命名
- 提交信息遵循Conventional Commits规范
## 工作流偏好
- 先创建目录结构,再填充代码
- 每个模块完成后立即运行测试验证
- 使用git worktree进行并行开发
第一步:创建项目骨架
# 在项目目录启动Claude Code
claude
# 发送指令
> 我要创建一个Next.js 15全栈项目,请帮我:
> 1. 初始化项目结构(src/, tests/, docs/, scripts/)
> 2. 配置TypeScript + Tailwind CSS + ESLint + Prettier
> 3. 设置Vitest单元测试框架
> 4. 创建基本的CI/CD配置(GitHub Actions)
> 5. 初始化Git仓库并创建.gitignore
第二步:配置开发环境
> 现在配置Docker开发环境:
> 1. 创建docker-compose.yml(app + postgres + redis)
> 2. 创建Dockerfile(多阶段构建)
> 3. 创建.env.example
> 4. 添加dev/prod配置分离
第三步:验证骨架
> 运行所有验证命令:
> 1. npm run build 确认构建通过
> 2. npm run test 确认测试框架正常
> 3. npm run lint 确认代码规范工具正常
> 把结果告诉我,有错误就修复
问题1:Claude Code生成的TypeScript配置与Next.js版本不兼容。
解决方案:在CLAUDE.md中明确版本号,并在指令中强调"使用Next.js 15的最新配置格式"。如果仍有问题,先让Claude Code运行npx create-next-app@latest生成标准配置,再在此基础上定制。
问题2:项目初始化后上下文窗口不够用。
解决方案:将项目初始化拆分为独立阶段,每阶段完成后用/compact压缩上下文。骨架搭建完成后,后续工作在新的对话中进行。
生产环境出现Bug,需要Claude Code协助定位根因、编写修复代码、添加回归测试。
在.claude/settings.json中配置Bug修复专用Hook:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Bash",
"command": "if echo \"$CLAUDE_TOOL_INPUT\" | grep -q 'test'; then echo '[Bug修复流] 测试已执行,检查结果...'; fi"
}
]
}
}
第一步:信息收集
> 以下是一个Bug报告:
>
> **现象**:用户在购物车页面点击"结算"后,页面白屏,控制台报错
> "Cannot read properties of undefined (reading 'price')"
>
> **复现路径**:
> 1. 添加商品到购物车
> 2. 其中一个商品设为"已下架"状态
> 3. 点击结算按钮
>
> **相关文件**:
> - src/pages/cart.tsx
> - src/services/cart-service.ts
> - src/types/cart.ts
>
> 请先阅读这三个文件,分析可能的根因。
第二步:根因定位
> 基于你的分析,请:
> 1. 确认根因是什么(给出具体的代码行)
> 2. 解释为什么"已下架"商品会触发这个错误
> 3. 列出所有可能受影响的代码路径
> 4. 不要急于修复,先等我的确认
第三步:修复与回归测试
> 根因确认。现在请:
> 1. 修复bug(注意:不要只做null check,要从数据源头处理)
> 2. 添加单元测试覆盖这个边界情况
> 3. 检查是否有类似的未处理边界(全局搜索可能的undefined访问)
> 4. 运行完整测试套件确认没有引入新问题
Bug修复流的核心原则是分阶段沟通:先让Claude Code阅读代码并分析,确认分析后再修复,修复后验证。避免一次性说"帮我修这个bug",这会导致Claude Code跳过根因分析直接修补症状。
flowchart LR
A[信息收集<br/>读取相关文件] --> B[根因分析<br/>定位问题代码]
B --> C{人工确认<br/>分析正确?}
C -->|是| D[编写修复代码]
C -->|否| A
D --> E[添加回归测试]
E --> F[运行完整测试]
F --> G{测试通过?}
G -->|是| H[提交修复]
G -->|否| D
在已有项目上开发新功能,需要从需求分解到代码实现的完整流程。
在项目CLAUDE.md中追加功能开发规则:
## 功能开发流程
1. 收到功能需求后,先输出实现计划(不写代码)
2. 计划经确认后,使用TDD方式开发:先写测试,再写实现
3. 每完成一个子模块,运行测试并报告结果
4. 所有新代码必须符合已有的项目架构模式
5. 功能完成后,更新相关文档
## 代码风格参考
- 参考 src/examples/ 目录中的代码风格
- API路由遵循 src/routes/ 中的现有模式
- 数据库操作使用 src/repositories/ 中的Repository模式
第一步:需求分解
> 我要开发一个"用户通知系统"功能,需求如下:
> - 用户可以在设置中选择接收通知的方式(邮件/站内信/短信)
> - 系统事件(订单状态变更、促销活动等)触发通知
> - 用户可以在通知中心查看历史通知
> - 支持通知的已读/未读状态管理
>
> 请先分析需求,输出:
> 1. 需要新建的文件列表
> 2. 需要修改的现有文件列表
> 3. 数据库Schema变更
> 4. API端点设计
> 5. 实现顺序建议(依赖关系排序)
> 不要写任何代码,只输出计划。
第二步:TDD开发循环
> 计划确认。按以下顺序开发:
>
> 第一步:数据库Schema + Migration
> - 创建migration文件
> - 编写Schema测试
> - 运行migration验证
>
> 完成后告诉我结果,我确认后进入下一步。
> 第二步:Repository层
> - 创建NotificationRepository
> - 先写CRUD操作的单元测试
> - 再写实现代码
> - 运行测试确认通过
第三步:渐进式实现
每个层次(Repository → Service → Controller → UI)都遵循相同的"测试先行、逐步构建"模式。关键是在每一步结束时暂停,让你确认方向正确。
利用Worktree隔离开发:
# 创建功能分支的隔离环境
claude worktree add feature/notification-system
# 在隔离环境中开发,不影响主分支
# 完成后合并回主分支
利用Skill注入领域知识:
如果你有项目特定的开发规范Skill,在功能开发前加载它:
> /skill:brainstorming
>
> 帮我头脑风暴通知系统的技术方案,考虑:
> 1. 实时性要求(WebSocket vs SSE vs 轮询)
> 2. 通知的存储策略
> 3. 多渠道投递的可靠性
现有代码需要重构——可能是技术债务清理、架构升级、或性能优化。
## 重构规则
- 重构必须保持所有现有测试通过
- 每次只重构一个维度(不要同时重构命名和架构)
- 重构前先确认有足够的测试覆盖
- 如果测试覆盖不足,先补充测试再重构
- 重构完成后运行完整测试套件
- 不改变公共API的行为签名(除非明确要求)
第一步:评估现状
> 请帮我评估 src/services/payment-service.ts 的重构需求:
> 1. 计算圈复杂度(识别过于复杂的方法)
> 2. 找出超过50行的方法
> 3. 识别重复代码模式
> 4. 检查测试覆盖率
> 5. 给出重构优先级排序
第二步:安全重构
> 按你的建议,先处理"提取重复逻辑"这一项:
> 1. 只做这一个维度的重构
> 2. 不要修改任何方法签名
> 3. 不要改变任何公共行为
> 4. 重构后运行测试确认全部通过
> 5. 用git diff展示变更摘要
第三步:验证
> 重构完成。请验证:
> 1. 运行完整测试套件
> 2. 运行 lint 检查
> 3. 运行类型检查
> 4. 确认构建通过
> 如果全部通过,准备提交信息(遵循Conventional Commits)
重构流的黄金法则是单维度渐进式重构。Claude Code倾向于一次做太多事——同时重命名变量、提取函数、调整架构。必须在CLAUDE.md中明确约束"每次只重构一个维度",并通过分步骤指令来强制执行。
需要为现有代码库批量生成文档——API文档、组件文档、架构文档。
## 文档规范
- API文档使用OpenAPI 3.0格式
- 组件文档使用JSDoc + Storybook格式
- 架构文档使用Markdown + Mermaid图表
- 文档语言:中文
- 代码示例必须可运行
- 文档放在 docs/ 目录,镜像 src/ 目录结构
第一步:自动提取API信息
> 请扫描 src/routes/ 目录下所有路由文件,为每个端点生成:
> 1. OpenAPI 3.0规范的YAML描述
> 2. 请求/响应的Schema定义
> 3. 至少2个使用示例(正常case和错误case)
>
> 输出到 docs/api/openapi.yaml
> 注意:只根据实际代码生成,不要编造不存在的端点
第二步:组件文档生成
> 扫描 src/components/ 目录,为每个React组件生成:
> 1. Props的TypeScript接口文档
> 2. 使用示例代码
> 3. 组件间的依赖关系图(Mermaid格式)
>
> 输出到 docs/components/ 目录
第三步:架构全景图
> 基于整个代码库的理解,生成架构文档:
> 1. 系统架构图(Mermaid)
> 2. 数据流图(从用户请求到响应的完整路径)
> 3. 模块依赖关系图
> 4. 关键设计决策说明
>
> 输出到 docs/architecture.md
对于大型代码库,使用-p模式批量生成文档:
# 为每个源文件生成对应的文档
find src/routes -name "*.ts" -type f | while read file; do
claude -p "为 $file 生成API文档,输出到 docs/api/$(basename $file .ts).md。只根据代码内容生成,不要编造。" \
--allowedTools "Read,Grep,Glob,Write"
done
注意:使用
--allowedTools限制Claude Code只能读取和写入,防止在批量文档生成时意外修改源代码。
面对一个不熟悉的技术领域,需要Claude Code协助快速调研、整理知识、形成技术方案。
第一步:结构化调研
> 我需要调研"在Node.js中实现分布式事务"这个主题,请帮我:
>
> 1. 列出主流的分布式事务方案(Saga、2PC、TCC等)
> 2. 每种方案的核心原理(简明扼要)
> 3. 各方案在Node.js生态中的实现库/框架
> 4. 各方案的适用场景和局限性
> 5. 性能对比(延迟、吞吐量、一致性级别)
>
> 输出格式:对比表格 + 推荐方案
第二步:深入选定方案
> 基于调研结果,我们选择Saga模式。请深入分析:
> 1. Saga编排 vs Saga协调的对比
> 2. 在我们项目中(Express + PostgreSQL + Redis)的实现方案
> 3. 补偿事务的设计模式
> 4. 需要引入的npm包
> 5. 实现一个最小可行的PoC代码
第三步:生成决策文档
> 将以上调研整理为技术决策记录(ADR):
> 1. ADR-001: 分布式事务方案选型
> 2. 包含:背景、决策、理由、后果
> 3. 格式参考 docs/adr/template.md
>
> 输出到 docs/adr/001-distributed-transaction.md
在技术调研中使用MCP工具扩展信息来源:
# 如果配置了Context7 MCP,可以实时查询最新文档
> 使用context7查询TypeORM关于事务的最新文档
# 如果配置了Web搜索Skill,可以获取最新社区讨论
> /ducksearch 搜索 "Node.js distributed transaction saga pattern 2026 best practice"
graph TB
subgraph "复杂度与适用场景矩阵"
direction TB
L1["低复杂度<br/>文档生成 / 技术调研"]
L2["中复杂度<br/>Bug修复 / 功能开发"]
L3["高复杂度<br/>绿场启动 / 代码重构"]
end
T5[模板五:文档生成] --> L1
T6[模板六:技术调研] --> L1
T2[模板二:Bug修复] --> L2
T3[模板三:功能开发] --> L2
T1[模板一:绿场启动] --> L3
T4[模板四:代码重构] --> L3
style L1 fill:#52B788,color:#fff
style L2 fill:#4A90D9,color:#fff
style L3 fill:#E63946,color:#fff
| 模板 | 核心原则 | 人工介入点 | 关键Skill | 典型耗时 |
|---|---|---|---|---|
| 绿场启动 | 分阶段构建 | 架构决策确认 | brainstorming | 2-4小时 |
| Bug修复 | 先分析后修复 | 根因确认 | debugging, systematic-debugging | 30分钟-2小时 |
| 功能开发 | TDD渐进式 | 计划确认+每层验证 | brainstorming, TDD | 4-8小时 |
| 代码重构 | 单维度渐进 | 评估确认+每维度验证 | verification | 1-3小时 |
| 文档生成 | 基于事实 | 准确性审核 | md2pdf, chart-craft | 1-2小时 |
| 技术调研 | 结构化递进 | 方案选择决策 | deep-research, ducksearch | 1-3小时 |
实际项目中,六大模板很少孤立使用。以下是常见的组合模式:
组合一:新项目启动 = 模板一 + 模板三 + 模板五
flowchart LR
A[模板一<br/>绿场启动] --> B[模板三<br/>功能开发]
B --> C[模板五<br/>文档生成]
A1[搭建骨架<br/>配置工具链] --> B1[TDD开发<br/>迭代实现]
B1 --> C1[批量生成<br/>API+组件文档]
组合二:生产问题处理 = 模板二 + 模板四
flowchart LR
A[模板二<br/>Bug修复] --> B[模板四<br/>代码重构]
A1[诊断根因<br/>编写修复] --> B1[清理技术债<br/>防止复发]
组合三:技术升级 = 模板六 + 模板四 + 模板五
flowchart LR
A[模板六<br/>技术调研] --> B[模板四<br/>代码重构]
B --> C[模板五<br/>文档生成]
A1[评估方案<br/>选定技术] --> B1[渐进迁移<br/>保持兼容]
B1 --> C1[更新文档<br/>记录决策]
每个模板都可以通过三个维度进行定制:
维度一:CLAUDE.md指令扩展
根据你的项目特点,在CLAUDE.md中添加领域特定的规则。例如,对于一个金融系统:
## 金融系统特殊规则
- 所有金额计算必须使用decimal.js,禁止使用浮点数
- 涉及用户资金的修改必须记录审计日志
- API响应不得暴露内部错误堆栈
- 数据库事务隔离级别默认为SERIALIZABLE
维度二:Hook自动化扩展
在流程层添加项目特定的自动化检查。例如,强制代码质量门禁:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Write|Edit",
"command": "echo '[$(date)] 文件修改: $CLAUDE_TOOL_INPUT' >> .claude/change-log.txt"
}
],
"PostToolUse": [
{
"matcher": "Bash",
"command": "if echo \"$CLAUDE_TOOL_RESULT\" | grep -q 'FAIL\\|ERROR'; then echo '⚠️ 测试失败,建议使用 /skill:systematic-debugging'; fi"
}
]
}
}
维度三:Skill组合扩展
根据工作流需要加载特定Skill:
| 工作流 | 推荐Skill组合 |
|---|---|
| 绿场启动 | brainstorming → frontend-design(如涉及UI) |
| Bug修复 | systematic-debugging → verification |
| 功能开发 | brainstorming → TDD → verification |
| 代码重构 | verification → receiving-code-review |
| 文档生成 | md2pdf → chart-craft |
| 技术调研 | deep-research → ducksearch |
下面用一个完整的案例演示如何组合使用模板一、三、五来开发一个用户管理模块。
# 启动Claude Code
claude
> 创建一个Express + TypeScript项目骨架,包含:
> - src/routes/ 路由目录
> - src/services/ 业务逻辑目录
> - src/repositories/ 数据访问目录
> - src/models/ 数据模型目录
> - tests/ 测试目录
> - 配置好Vitest + ESLint + TypeScript
> 开发用户管理模块,需求:
> - 用户注册(邮箱+密码)
> - 用户登录(JWT认证)
> - 用户信息查询/更新
> - 密码修改
>
> 先输出实现计划,不写代码。
确认计划后,按TDD流程逐步实现:
> 按计划第一步:创建User模型和Repository层
> 先写测试:CRUD操作的正向/反向case
> 再写实现代码
> 运行测试确认通过后告诉我结果
> 为用户管理模块生成:
> 1. API文档(OpenAPI格式)
> 2. 模块架构图(Mermaid)
> 3. 数据流图
> 输出到 docs/user-management/
最终项目结构:
project/
├── src/
│ ├── routes/
│ │ └── user-routes.ts # API路由
│ ├── services/
│ │ └── user-service.ts # 业务逻辑
│ ├── repositories/
│ │ └── user-repository.ts # 数据访问
│ └── models/
│ └── user.ts # 用户模型
├── tests/
│ ├── routes/
│ │ └── user-routes.test.ts
│ ├── services/
│ │ └── user-service.test.ts
│ └── repositories/
│ └── user-repository.test.ts
├── docs/
│ └── user-management/
│ ├── openapi.yaml
│ └── architecture.md
├── CLAUDE.md
└── package.json
在实际使用中,以下反模式会显著降低Claude Code的效率:
# 反模式
> 帮我开发一个完整的电商平台,包括用户系统、商品管理、购物车、
> 订单系统、支付集成、后台管理,全部做完
# 正确做法
> 开发电商平台用户注册功能。先输出实现计划。
一次指令超过3个功能模块会导致上下文窗口溢出、代码质量下降、错误难以定位。
# 反模式
> 修了这个bug后直接开发下一个功能
# 正确做法
> 运行完整测试套件,确认所有测试通过后告诉我结果
Claude Code倾向于乐观估计自己的代码质量——必须用客观的测试结果来验证。
# 反模式
## 开发规则
- 写好代码
- 注意安全
- 保持简洁
# 正确做法
## 开发规则
- 所有API端点必须验证请求参数(使用zod schema)
- 密码使用bcrypt加密,saltRounds=12
- 数据库查询使用参数化查询,禁止字符串拼接
- 错误响应使用统一的ErrorResponse格式
CLAUDE.md越具体,Claude Code的输出越符合预期。笼统的指令导致不确定的输出。
/compact在长对话中,上下文窗口会被历史消息填满。当对话超过20轮以上时,Claude Code的理解能力会下降。解决方案:
# 在关键节点压缩上下文
> /compact
>
> 以上已完成用户模块开发。现在开始商品管理模块。
> 商品模块需求:...
| 评估维度 | 说明 |
|---|---|
| 适合训练营类型 | 进阶训练营(已有Claude Code基础)、企业内训(标准化开发流程) |
| 预计教学时长 | 6-8小时(含实操练习) |
| 实操占比 | 70%实操 + 30%理论 |
| 学员基础要求 | 3个月以上Claude Code使用经验,熟悉至少一种后端框架 |
| 最佳教学顺序 | 模板一 → 模板二 → 模板三 → 模板四 → 模板五 → 模板六 → 组合实战 |
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
