|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
作者:微信文章
1、 speckit是啥?2 、git worktree是啥? 2.1 git worktree解决什么问题? 2.2 git worktree示例3、二者如何融合?以及得到什么好处?4、一个完整的示例5、后续1、 speckit是啥?
speckit的地址是:https://github.com/github/spec-kit, speckit是一个An open source toolkit that allows you to focus on product scenarios and predictable outcomes instead of vibe coding every piece from scratch,这里采用的理念是SDD(Specification Driven Development), 直接将specification转换为落地系统。现有两种编程: vide(chat first, then build. explore ideas and iterate as you discover needs, 比较适合简单的,头脑风暴的这种原型开发), 以及spec(plan first, then build, create requirements and design before coding starts, 比较适合复杂的,规范的这种产品级别的研发)。以前零碎使用AI coding的时候,比较多用vibe coding, 太爽了,但是后面随着使用AI coding频率越来越多,拿到的AI结果反馈越来越多,反而比较喜欢上用SDD多一些。虽然后面有变种openspec(), 但还是喜欢用speckit多一些。
一个speckit完整的工作流范式如下:
/speckit.constitution->/speckit.specify->/speckit.clarify->/speckit.plan->/speckit.tasks->/speckit.analyze->/speckit.implement
各个命令的功能职责详情如下:
| 命令分类 | 命令 | 命令描述 | | 必须 |
/speckit.constitution
|
Create or update project governing principles and development guidelines
| | 必须 |
/speckit.specify
|
Define what you want to build (requirements and user stories)
| | 必须 |
/speckit.plan
|
Create technical implementation plans with your chosen tech stack
| | 必须 |
/speckit.tasks
|
Generate actionable task lists for implementation
| | 必须 |
/speckit.implement
|
Execute all tasks to build the feature according to the plan
| | 可选 |
/speckit.clarify
|
Clarify underspecified areas (recommended before /speckit.plan; formerly /quizme)
| | 可选 |
/speckit.analyze
|
Cross-artifact consistency & coverage analysis (run after /speckit.tasks, before /speckit.implement)
| | 可选 |
/speckit.checklist
|
Generate custom quality checklists that validate requirements completeness, clarity, and consistency (like "unit tests for English")
|
一般来说,在实际使用过程中,虽然后面有三个可选命令,但是我都会使用speckit.clarify(需求(specification)澄清)以及speckit.analyze(specification, plan,以及tasks对齐拉通)。这样减少了AI编程中产生的数据幻觉和架构腐化。
2、git worktree是啥?
git worktree 允许在同一个仓库中同时检出多个分支到不同的目录,避免频繁切换分支带来的上下文切换成本。Manage multiple working trees attached to the same repository. 使得研发人员可以并行开发,详细信息可见:https://git-scm.com/docs/git-worktree
一般需要执行的例子如下:
mkdir .trees
git worktree add .trees/ui_feature
git worktree add .trees/testing_feature
git worktree add .trees/quality_feature
git branch -a查看分支
为.trees文件夹下的每一个worktree准备一个终端并启动Claude Code
使用git merge进行合并
git worktree remove --force .tree/ui_feature删除worktree
git branch -D ui_feature testing_feature quality_feature删除相应分支
3、二者如何融合?以及得到什么好处?先根据功能数量分配git worktree, 然后再每个worktree中启动claude code 并运用speckit. 这样最大程度的并行开发。Claude Code创始人Boris Cherny就非常提Spin up 3–5 git worktrees at once, each running its own Claude session in parallel.
4、一个完整的示例这个是在做ADE(Architecture Discovery Engine)时用speckit+git worktree的一个实例,详情如下。
-------------------需求开始-------------------
阶段1: 稳定性和性能(2周)
目标: 修复关键问题,提升性能
实现SQL解析缓存
添加架构验证
拆分AdeMain
提取CodeGenerator接口
添加循环检测
阶段2: 可扩展性(3周)
目标: 支持企业规模项目
实现分块处理
添加倒排索引
实现插件架构
并行Excel生成
添加Builder模式
阶段3: AI增强 - 快速胜利(1-2周)
目标: 验证AI增强价值
实现语义Controller分组
构建RAG问答原型
测量准确率提升
收集用户反馈
-----------需求----结束---------------------------------------worktree 开始--------------------
阶段1: 稳定性和性能(6个)
- 002-stability-performance - 阶段主分支
- 002-01-sql-cache - SQL解析缓存
- 002-02-architecture-validation - 架构验证
- 002-03-split-ademain - 拆分AdeMain
- 002-04-codegen-interface - CodeGenerator接口
- 002-05-cycle-detection - 循环依赖检测
阶段2: 可扩展性(6个)
- 003-scalability - 阶段主分支
- 003-01-chunked-processing - 分块处理
- 003-02-inverted-index - 倒排索引
- 003-03-plugin-architecture - 插件架构
- 003-04-parallel-excel - 并行Excel生成
- 003-05-builder-pattern - Builder模式
阶段3: AI快速胜利(5个)
- 004-ai-quick-wins - 阶段主分支
- 004-01-semantic-grouping - 语义Controller分组
- 004-02-rag-prototype - RAG问答原型
- 004-03-accuracy-measurement - 准确率测量
- 004-04-user-feedback - 用户反馈系统
----------------worktree 结束-----------------------------
团队分配:
团队开发(核心团队 + AI团队并行)
核心团队(阶段1 - 稳定性和性能):
- 开发者A: 002-01-sql-cache + 002-05-cycle-detection
- 开发者B: 002-02-architecture-validation + 002-04-codegen-interface
- 开发者C: 002-03-split-ademain
AI团队(阶段3 - AI快速胜利,完全独立):
- 开发者D: 004-01-semantic-grouping
- 开发者E: 004-02-rag-prototype
补充说明一下,worktree是作为原来项目的副本存在的,所以特别占空间,再实现功能后,需要进行删除,在上面例子里面有提到每个阶段有主干分支,主干分支下的各个worktree在提交代码后,都需要进行删除,保证不耗用太大的存储。
5、后续
speckit是比较早的做法了,目前用得比较多的AI workflow或者framework有superpowers, everything-claude-code,以及bmad-method等,都有各自适用的场景(考虑项目规模,项目复杂度,人员协同等), 需要结合实际项目来进行技术选型。
| 对比维度 | everything-claude-code | Superpowers | spec-kit | BMAD-Method | | 核心定位 | Claude Code 的增强插件集合 | 项目启动与规划增强器
| 规范驱动开发框架 | 企业级多代理协作框架 | | 核心理念 | 提供开箱即用的专业代理、技能、命令,让 Claude Code 能力全面升级。 | 从模糊想法到清晰计划,通过结构化的流程精细化任务管理。 | 规范至上,AI 严格按照预定义规则(宪法)编码,确保风格统一 | 模拟成熟团队,多代理分工协作,处理极度复杂的任务。 | | 最佳适用场景 | 任何使用 Claude Code 进行开发,希望立即获得专业级能力(如代码审查、多代理协作、TDD)的用户。 | 从 0 到 1 的项目,创意孵化与 MVP 构建,或需要将复杂任务拆解的阶段。 | 中大型项目、团队协作项目、需要长期维护、对代码质量和一致性要求高的项目。 | 金融、SaaS 等对安全性、稳定性、协作性要求极高的超复杂企业级项目。 | | 优点 | 功能极其丰富,社区驱动,持续更新,能大幅提升 Claude Code 在各种场景下的表现 | 流程清晰,能有效利用 AI 进行项目梳理和规划,降低项目启动风险。 | 产出代码质量高、风格统一,便于团队协作和项目维护,减少技术债务。 | 处理复杂性能力极强,产出稳健,接近人类顶级团队协作水平。 | | 缺点 | 功能多,有一定的学习和配置成本(但安装向导已简化此过程)。对于简单任务可能功能过剩。 | 相比直接使用 AI 工具,多了一个前置规划流程,需要用户参与和思考。 | 前期规范制定有学习成本,对个人或快速原型项目来说可能“杀鸡用牛刀”。 | 框架非常重,学习曲线陡峭,不适合个人或小型项目。 |
目前我正在重度研究AI相关内容,欢迎大家指导和交流,在下面微信可以加到我:
|
|