Skip to content

OpenSpec、Spec Kit 与本项目 ​

这三个项目不是互相替代的同类产品。

OpenSpec ​

OpenSpec 是规范与变更生命周期工具。它擅长:

  • 用 proposal、specs、design、tasks 描述一个 change;
  • 通过 schema 组织工件依赖;
  • 给 Agent 提供原生 instructions;
  • 校验规范;
  • 在完成后归档 change,并同步主规范。

它回答的是:这个变更要做什么,相关工件是否齐全,原生任务是什么。

OpenSpec 的任务 checkbox 和工件状态不是代码已经测试、集成的证明。

Spec Kit ​

GitHub Spec Kit 是一套规范驱动工作流。它擅长:

  • constitution、spec、plan、tasks 等完整规划路径;
  • feature 级目录和用户故事;
  • 原生 workflow、hooks、preset 与扩展;
  • 标记任务阶段、story 和 [P] 并行候选;
  • 通过不同 coding agent integration 执行官方流程。

它回答的是:一个 feature 如何从需求走到计划和实现工作流。

Spec Kit 已经有自动化和 resume,不能把它描述成“只有 Markdown”。但其原生流程不等于本项目的任务级 worktree、统一回执、跨 provider 账本和 Git 集成门。

Spec Autonomous ​

本项目位于两者上层:

  • 读取并尊重它们的原生工件;
  • 把一个或多个 change / feature 放进 milestone roadmap;
  • 生成有来源映射的执行任务图;
  • 为宿主提供 fresh-context 工作包;
  • 管理 worktree、并发冲突、回执、验证、恢复和集成;
  • 验证成功后再回写原生任务;
  • 用同一套 CLI / MCP 协议支持两种 provider。

它回答的是:这些规范如何可靠地持续交付。

选择关系 ​

你的情况应该怎么选
只想写和管理 OpenSpec change使用 OpenSpec
喜欢 Spec Kit 的 feature、constitution 和官方工作流使用 Spec Kit
想让多个阶段或 Agent 可验证、可恢复地交付在 OpenSpec / Spec Kit 之上加 Spec Autonomous
想换掉现有规范格式本项目不是为此设计的

一个具体例子 ​

“团队邀请”在 OpenSpec 中可能是 openspec/changes/team-invites,在 Spec Kit 中可能是 specs/003-team-invites。

Spec Autonomous 不复制一份 team-invites.sa-spec。它只记录:

  • phase 指向哪个原生目录;
  • 当时的源 hash;
  • 原生任务如何映射到执行任务;
  • 哪些 attempt 做过什么;
  • 哪个 Git revision 通过了哪些验证;
  • 哪些原生 checkbox 可以安全回写。

这样团队仍可继续使用自己熟悉的 SDD 工具。

基于 MIT License 发布