🎯 开发工作流概览
这套工作流结合了 Git Worktree、OpenSpec 和 自动化工具, 让你能高效地管理并行开发任务,保持代码库整洁,同时确保代码质量。
📁 Git Worktree
多分支并行开发
📋 OpenSpec
结构化开发流程
⚡ Automation
自动化工具集成
并行开发
同时处理多个功能,无需频繁切换分支
结构化思考
通过 OpenSpec artifacts 清晰设计和实现
自动化
Skill 自动化重复性任务,提高效率
核心优势
这套工作流特别适合中大型项目,能够有效避免分支冲突,保持代码质量和开发节奏。
🔀 Git Worktree 管理
Git Worktree 允许你同时检出多个分支到不同的目录,实现真正的并行开发。
为什么使用 Worktree?
-
1
避免切换分支
每个功能有独立的工作目录,不用频繁 checkout
-
2
并行开发
可以同时修改多个功能,互不干扰
-
3
热切换
编辑器可以打开多个 worktree,快速切换
-
4
安全隔离
未完成的功能在独立目录,不影响主分支
使用场景
当你需要同时处理多个 bug、feature 或进行紧急修复时,worktree 能极大提高效率。
💻 多窗口并行开发场景
看看同时处理多个任务时,Git Worktree 如何让你的开发效率倍增!
无需切换
4个窗口同时打开,想编辑哪个就点哪个,不需要 git checkout
完全隔离
每个分支有独立的工作目录,未完成的代码不会互相干扰
极速切换
编辑器的标签页切换比 git checkout 快 100 倍
专注任务
紧急 bug 插进来?直接切到 fix-auth-bug 窗口处理
想象一下没有 Worktree 的场景...
你需要频繁 git checkout,每次都要等待索引刷新,未完成的代码要么 stash 要么 commit,很容易出错!
有了 Worktree,每个任务有独立的"房间",互不干扰,想在哪工作就在哪工作!
🌿 创建新分支 - /worktree
使用 /worktree <branch-name> 命令创建一个新的开发分支和独立工作目录。
/worktree 做了什么?
-
1
自动提交未保存的更改
确保 main 分支干净,避免冲突
-
2
创建新分支
git worktree add ../<branch-name> -b <branch-name>
-
3
返回完整路径
告诉你新 worktree 在哪里
-
4
列出所有 worktree
显示当前所有的并行分支
🔍 /opsx:explore - 探索模式
进入探索模式,这是一个纯粹的思考空间。在这里你可以探索想法、调查问题、澄清需求——但不能写代码。
explore 模式能做什么?
-
1
探索代码库
查找现有实现,理解架构模式
-
2
比较方案
评估不同技术方案的优劣
-
3
提问和澄清
向 AI 提问,获得建议和方向
-
4
可视化设计
创建 ASCII 图表,梳理架构
重要限制
Explore 模式不允许写代码。这是有意的设计,强制你先思考清楚再动手。
📝 /opsx:new - 创建 Change
当你对要做什么有了清晰的想法后,使用 /opsx:new 创建一个新的 change,开始正式的开发流程。
/opsx:new 会创建什么?
-
1
创建 change 目录
openspec/changes/<change-name>/
-
2
创建 proposal.md
记录问题、目标、范围、成功标准
-
3
创建 design.md
设计概览、架构、关键决策
-
4
创建 .change-metadata.json
记录 change 状态和配置
命名建议
使用 kebab-case 命名,如:add-sam2-tool、fix-auth-bug、refactor-api
🚀 /opsx:ff - 快速生成 Artifacts
FF = Fast Forward,快速生成所有需要的 artifacts 文件,包括 spec、tasks 等。
📄 design.md
📄 .change-metadata.json
生成的 Artifacts
-
1
specs/<capability>/spec.md
详细的功能规格说明,包含需求
-
2
tasks.md
分步任务列表,可追踪进度
-
3
test-plan.md
测试计划和验证步骤
-
4
dependencies.md
依赖关系和风险评估
⚙️ /opsx:apply - 实现任务
根据生成的 tasks.md 开始实现功能。OpenSpec 会追踪任务进度,确保每个步骤都完成。
实现流程
-
1
读取 tasks.md
解析任务列表和依赖关系
-
2
逐个实现
按照任务顺序实现功能
-
3
创建文件
生成必要的代码文件和配置
-
4
更新状态
标记任务为已完成
可以手动实现
也可以不使用 /opsx:apply,手动按照 tasks.md 的步骤实现,完成后使用 /opsx:verify 验证。
✅ /opsx:verify - 验证实现
功能实现完成后,使用 /opsx:verify 验证实现是否符合 artifacts 中的设计。
验证检查项
-
1
Proposal 检查
是否达到了成功标准?范围是否正确?
-
2
Design 检查
是否遵循了设计决策?架构是否一致?
-
3
Spec 检查
是否满足所有需求?场景是否覆盖?
-
4
Tasks 检查
所有任务是否完成?是否有遗漏?
-
5
测试检查
是否通过测试计划?是否有测试覆盖?
📦 /opsx:archive - 归档 Change
验证通过后,使用 /opsx:archive 归档 change,同步 delta specs 到 main specs。
归档流程
-
1
移动到 archive
openspec/changes/archive/<date>-<name>/
-
2
同步 delta specs
将变更的需求同步到 openspec/specs/
-
3
提交 spec 变更
创建 git commit 记录 spec 更新
-
4
更新状态
标记 change 为 archived
Delta Spec 同步
Delta specs 记录了需求的变更(ADDED/MODIFIED/REMOVED),归档时会自动合并到 main specs。
🔀 合并与清理 - /merge-worktree
功能开发完成后,使用 /merge-worktree 合并分支并自动清理。
/merge-worktree 执行步骤
-
1
列出所有 worktree
让你选择要合并的分支
-
2
切换到 main
git checkout main
-
3
合并分支
git merge --no-ff 创建合并提交
-
4
推送到远程
git push origin main (如果配置了)
-
5
清理 worktree
删除 worktree 目录和分支
-
6
同步 delta specs
将变更的 spec 同步到 main specs
🤖 自动化工具集成
使用自定义 Skill 自动化重复性任务,提高开发效率。
tool-integrator
自动搭建新工具脚手架,生成目录结构、配置文件、历史卡片组件和开发文档
log-capture
捕获和分析日志,帮助调试问题
openspec-sync
自动同步 delta specs 到 main specs
自定义 Skill
你可以在 .claude/skills/ 目录下添加自己的 skill,自动化特定的工作流程。
🎉 总结
这套工作流的核心思想是:结构化思考 + 自动化执行 + 并行开发
需求
新功能/bug
/worktree
创建分支
/opsx:new
创建 change
/opsx:ff
生成 artifacts
/opsx:apply
实现功能
/opsx:verify
验证实现
/opsx:archive
归档 change
/merge-worktree
合并清理
最佳实践
1. 每个功能使用独立的 worktree
2. 复杂功能先 explore 再实现
3. 完成后及时合并清理,避免 worktree 堆积
4. 善用自动化工具减少重复劳动