引言
"Build high-quality software faster. Focus on product scenarios and predictable outcomes instead of vibe coding every piece from scratch."
这是「一天一个开源项目」系列的第 55 篇文章。今天介绍的项目是 Spec Kit (GitHub)。
不想每次都从零开始 vibe coding?Spec Kit 是 GitHub 开源的规范驱动开发(Spec-Driven Development)工具包 :让规范可执行 ,直接生成可运行实现,而非仅作参考。提供 constitution → specify → plan → tasks → implement 结构化工作流,配合 Specify CLI 和 /speckit. 斜杠命令 *,支持 Claude Code、Cursor、GitHub Copilot、Gemini CLI 等 20+ AI 编码助手。
你将学到什么
- 规范驱动开发(Spec-Driven Development)的理念
- Spec Kit 的五步工作流
- Specify CLI 与斜杠命令
- 支持的 AI 编码助手
- 快速开始与典型用法
前置知识
- 对 AI 辅助编程有基本了解
- 使用过 Claude Code、Cursor 等工具(可选)
项目背景
项目简介
Spec Kit 是 GitHub 开源的规范驱动开发工具包 。传统开发中,规范是脚手架,代码才是主角;规范驱动开发则让规范可执行,直接生成实现。Spec Kit 提供结构化流程:先建立项目原则(constitution),再定义需求(specify),制定技术方案(plan),拆解任务(tasks),最后执行实现(implement)。
团队
- 团队:GitHub
- 理念:意图驱动、规范先行、多步精炼、依赖先进 AI 能力
项目数据
- 📄 License: MIT
- 🌐 官网 : github.github.com/spec-kit
- 📚 文档 : GitHub README
- 💬 社区 : GitHub Issues
主要功能
核心工作流
| 步骤 | 命令 | 说明 |
|---|---|---|
| 1. 建立原则 | /speckit.constitution |
创建项目治理原则和开发指南 |
| 2. 定义需求 | /speckit.specify |
描述要构建什么(what/why),不涉及技术栈 |
| 3. 技术方案 | /speckit.plan |
指定技术栈和架构,生成实现计划 |
| 4. 任务拆解 | /speckit.tasks |
从计划生成可执行任务列表 |
| 5. 执行实现 | /speckit.implement |
按任务顺序执行,生成代码 |
可选命令 :/speckit.clarify(澄清需求)、/speckit.analyze(跨产物一致性分析)、/speckit.checklist(质量检查清单)
使用场景
- 绿地开发(0-to-1):从零生成规范、计划、任务和实现
- 棕地扩展:在现有项目中迭代添加功能、现代化改造
- 创意探索:并行尝试多种技术栈和架构方案
快速开始
安装 Specify CLI:
bash
# 推荐:持久安装
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
# 或一次性运行
uvx --from git+https://github.com/github/spec-kit.git specify init my-project
初始化项目:
bash
# 新建项目
specify init my-project --ai claude
# 在当前目录初始化
specify init . --ai claude
# 或
specify init --here --ai cursor-agent
# 检查环境
specify check
在 AI 助手中使用斜杠命令:
bash
/speckit.constitution Create principles focused on code quality, testing standards, UX consistency
/speckit.specify Build an application that helps organize photos in albums by date, with drag-and-drop reordering
/speckit.plan Use Vite with vanilla HTML/CSS/JS, local SQLite for metadata
/speckit.tasks
/speckit.implement
支持的 AI 助手
官方支持:Claude Code、Cursor、GitHub Copilot、Gemini CLI、Codex、Qwen Code、Windsurf、Kiro CLI、Mistral Vibe、Kimi Code 等
通用模式 :--ai generic --ai-commands-dir <path> 支持自定义助手
项目优势
| 对比项 | Spec Kit | 纯 Vibe Coding | 传统 PRD |
|---|---|---|---|
| 规范角色 | 可执行,直接生成实现 | 无 | 仅作参考 |
| 工作流 | 结构化五步 | 无 | 文档为主 |
| 技术栈 | 可指定,可探索 | 临时决定 | 需单独设计 |
| 任务依赖 | 自动排序 | 无 | 手动管理 |
| AI 集成 | 20+ 助手 | 视工具而定 | 无 |
项目详细剖析
开发阶段
| 阶段 | 重点 | 活动 |
|---|---|---|
| 0-to-1(绿地) | 从零生成 | 高层需求 → 规范 → 计划 → 实现 |
| 创意探索 | 并行实现 | 多技术栈、多架构、多 UX 探索 |
| 迭代增强(棕地) | 棕地现代化 | 迭代加功能、改造遗留系统 |
目录结构(初始化后)
bash
.specify/
├── memory/
│ └── constitution.md # 项目原则
├── specs/
│ └── 001-feature-name/
│ ├── spec.md # 功能规范
│ ├── plan.md # 实现计划
│ ├── tasks.md # 任务列表
│ ├── data-model.md # 数据模型
│ └── ...
├── scripts/ # 脚本
└── templates/ # 模板
实验目标
- 技术无关:验证规范驱动开发不绑定特定技术
- 企业约束:支持云厂商、技术栈、合规等组织约束
- 用户中心:适配不同用户群体和开发方式
- 创意与迭代:支持并行探索和迭代增强
项目地址与资源
官方资源
- 🌟 GitHub : github.com/github/spec...
- 🌐 官网 : github.github.com/spec-kit
- 📚 文档 : README、spec-driven.md
- 💬 Issues : GitHub Issues
适用人群
- 希望减少 vibe coding、提升可预测性的开发者
- 需要结构化 AI 开发流程的团队
- 绿地与棕地项目并存的团队
- 使用 Claude Code、Cursor、Copilot 等 AI 编码助手的用户
欢迎来我中的个人主页找到更多有用的知识和有趣的产品