实战 B5:Claude Code 大型项目实战——Worktrees 并行、分阶段重构与团队 Skills 共享
实战教程系列 系列 B:B1 配置实战 | B2 日常开发 | B3 审查与重构 | B4 多 Agent | B5 大型项目 ← 本文
# Claude Code 大型项目
## Worktrees 并行
- 多分支同时推进
- 隔离文件系统
- 批量迁移模式
## 分阶段重构
- 4 阶段节奏控制
- 小步快跑每步验证
- CommonJS→ESM 案例
## 团队 Skills
- .claude/skills/ 共享
- 版本管理策略
- 新成员零成本复用
## 核心原则
- 隔离、分阶段、共享
- Effort 节制
- 上下文管理
案例 1:Worktrees 并行开发——多分支同时推进
在大型项目中,Claude Code 的 Worktrees 允许多个独立分支并行开发:
主工作区:正在开发新功能
Worktree 1:重构 auth 模块(独立进行,不影响主工作区)
Worktree 2:修复生产 bug(紧急,需要隔离环境)
Worktree 3:技术验证——尝试新的缓存方案
每个 worktree 是独立的 Git 工作目录,有自己的文件系统视图。Claude Code 在 worktree 中的操作不会影响主工作区或其他 worktree。
使用方式
claude
/batch migrate all logger.error calls to use structured logging across all services
Claude Code 自动创建多个 worktree,在每个中独立执行迁移,完成后汇总结果。
案例 2:分阶段重构——大型迁移的节奏控制
场景:将整个代码库从 CommonJS 迁移到 ESM。涉及 200+ 文件。
错误做法
把所有文件改成 ESM 语法
→ 一次性改动太大,测试全红,不知道从哪修。
正确做法:分阶段
Phase 1: 基础设施
- 更新 package.json 添加 "type": "module"
- 更新 tsconfig.json
- 先改 5 个工具函数文件,确认基础设施正确
Phase 2: 按模块推进
- 每次改 1 个模块(10-20 个文件)
- 改完就跑这个模块的测试
- 任何模块测试失败,停下来修复再继续
Phase 3: 集成验证
- 运行全量测试
- 修复剩余的 import 路径问题
Phase 4: 清理
- 移除旧格式的兼容代码
- 更新文档
flowchart TB
P1[Phase1 基础设施] --> V1[验证配置]
V1 --> P2[Phase2 按模块推进]
P2 --> V2[逐模块测试]
V2 --> P3[Phase3 集成验证]
P3 --> V3[全量测试]
V3 --> P4[Phase4 清理]
P4 --> V4[移除兼容]
V4 --> D[完成迁移]
关键原则:小步快跑,每步验证。
案例 3:团队 Skills 共享
团队 Skills 通过 .claude/skills/ 目录在 Git 中共享。每个 Skill 独立一个目录,可以独立更新而不影响其他。
Skills 版本策略
.claude/skills/
release/SKILL.md ← v1.2: stable, 所有人使用
incident/SKILL.md ← v2.0: 新增 Slack 通知步骤
review-checklist/SKILL.md ← v1.0: 审查检查清单
新成员 clone 仓库后,所有 Skills 立即可用。Skill 更新通过正常的 PR 流程——谁改了 Skill 就要跑一遍验证。
Claude Code 大型项目的核心原则
- Worktree 隔离:大规模改动用 worktree,不污染主工作区
- 分阶段执行:200 个文件分 20 批,每批验证
- Skills 共享:团队经验编码为 Skills,新成员零成本复用
- Effort 节制:ultracode 只在真正需要时用,用完即关
- 上下文管理:长任务中用 /compact 保持 Token 在窗口内
下一章:系列 C:双工具协同实战
实操清单
- 使用 Worktrees 同时推进多个独立分支(开发 + 修复 + 验证)
- 将一次 200+ 文件的大重构拆分为 4-5 个阶段,每阶段独立验证
- 团队 Skills 通过
.claude/skills/目录纳入 Git 版本控制 - 新成员 onboarding 时,确保 clone 后 Skills 立即可用
- 长任务中定期运行
/compact保持 Token 在窗口内 - 建立团队 Effort 使用规范:日常=high,上线前=xhigh,ultracode=需审批