OpenSpec 简单说:它是一个“面向 AI 编程助手的规格驱动开发框架”。它不是 OpenAPI,也不是数据库 schema 工具,而是把需求、设计、任务、验收标准放进代码仓库,让你和 AI 在写代码前先对齐“到底要改什么”。官方 README 也明确说它用于 “spec-driven development for AI coding assistants”,目标是避免需求只散落在聊天记录里导致 AI 乱猜。
核心思想
OpenSpec 把项目里的规格当成一等公民,默认创建一个 openspec/ 目录:
openspec/
├── specs/ # 当前系统行为的事实来源
├── changes/ # 每个待实现变更一个独立目录
│ └── /
│ ├── proposal.md # 为什么做、做什么、范围是什么
│ ├── design.md # 技术方案、架构决策
│ ├── tasks.md # 实现清单
│ └── specs/ # 本次变更的规格增量
└── config.yaml
官方文档把 specs/ 定义为系统当前行为的“source of truth”,changes/ 则是待合并的修改;完成后再把变更合并进主规格。
最重要的概念是 Delta Specs
OpenSpec 不要求你每次重写完整 PRD,而是写“增量规格”: