OpenSpec 规格驱动开发框架
OpenSpec 是面向 AI 编码助手的规格驱动开发(SDD)框架,通过 Markdown 规格文件让 AI 先规划再写代码,支持跨仓库协作与团队共享需求。
过去 7 天收获 4 颗 Star
爱鲜报评分
0 人评分
73k
星数
否
中文
TypeScript
主语言
是
活跃
147
贡献者
人工分析
EDITORIAL推荐理由
OpenSpec 将规格驱动开发落地为轻量 CLI 与 Markdown 工作流,让 AI 编码助手在动手前先产出可审阅的计划,显著降低返工风险。它支持 30+ 工具、跨仓库 Stores 与团队共享规格,适合从个人项目到企业级协作。项目自身用 OpenSpec 开发,并提供完整文档与活跃社区。
适用场景
- 使用 AI 编码助手进行功能开发前的规划与需求澄清
- 团队跨仓库协作时统一需求与变更规格
- 个人项目保持 AI 与开发者对需求理解一致
- 将 PRD 转化为可执行任务清单并跟踪实现
- 为已有项目(棕地)增量引入规格驱动流程
优点
- 纯 Markdown 规格,无特殊语法,学习成本低
- 支持 30+ AI 编码工具,集成广泛
- 提供探索、提案、实现、归档的完整闭环
- Stores 支持跨仓库共享规格与团队协作
- 单文件安装,无需 Node.js,部署简单
缺点
- Stores 功能仍处于 beta 阶段
- 需要团队养成先写规格再编码的习惯
- 对不熟悉 SDD 流程的开发者有一定适应成本
- 部分高级工作流需手动切换配置 profile
OpenSpec 是什么
OpenSpec 是一个面向 AI 编码助手的**规格驱动开发(Spec-Driven Development, SDD)**框架。它把「先规划、再编码」的工程实践固化为轻量 CLI 与 Markdown 工作流,让 AI 在写代码之前先产出可审阅的提案、规格、设计与任务清单。
项目理念强调:流动而非僵化、迭代而非瀑布、简单而非复杂、面向棕地而非仅绿地、可从个人项目扩展到企业。
核心工作流
OpenSpec 通过一组斜杠命令驱动完整闭环:
/opsx:explore:无压力的探索模式,AI 阅读代码、权衡方案,帮助你在动手前理清思路。/opsx:propose <需求>:生成变更目录,包含proposal.md(动机与变更)、specs/(需求与场景)、design.md(技术方案)、tasks.md(实现清单)。/opsx:apply:按任务清单逐项实现并勾选完成。/opsx:archive:将完成的变更归档,并更新主规格。
规格使用纯 Markdown 编写,需求与场景以自然语言描述,无需学习特殊语法。例如:
## ADDED Requirements
### Requirement: Theme selection
The app SHALL let users switch between light and dark themes,
defaulting to the system preference.
#### Scenario: User toggles dark mode
- **WHEN** the user clicks the theme toggle
- **THEN** the app switches to dark mode and persists the choice
团队与跨仓库协作
对于团队场景,OpenSpec 提供 Stores(beta):将规划放在独立仓库中,沿用相同的 openspec/ 结构(specs 与 changes),通过 git push 共享。这样一份变更计划可以覆盖 API 服务、Web 应用与共享库等多个仓库,平台团队维护规格、产品团队只读引用,避免 Wiki 漂移。
安装与初始化
OpenSpec 提供单文件安装脚本,无需 Node.js(Alpine Linux 需先安装 libstdc++ 与 libgcc):
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/Fission-AI/OpenSpec/main/scripts/binary/install.sh | sh
也支持 npm、Homebrew、pnpm、yarn、bun 与 Nix 等安装方式。安装后在项目目录执行:
cd your-project
openspec init
openspec init 会为所选工具生成正确的命令形式(如 Cursor 使用 /opsx-propose,Codex 使用 $openspec-propose)。
适用与注意
OpenSpec 适合希望让 AI 编码过程更可控的开发者与团队,尤其是跨仓库、多角色协作的场景。需要注意的是,Stores 仍处于 beta;团队需要逐步养成先写规格再编码的习惯;高级工作流需通过 openspec config profile 切换配置。
评论
- 暂无评论,来写第一条吧。