规范驱动开发工具包
一句话简介
Spec Kit 是一个基于 Python 的开源工具包,帮助团队通过规范驱动开发(Spec-Driven Development)方法,从需求规范到实现全程规范化地构建高质量软件。
标签
适用应用场景
- 从需求规范自动生成代码实现与测试
- 在团队中推行规范化开发流程
- 辅助AI编码助手遵循预定义规范生成代码
- 管理项目需求与实现之间的一致性
README 中文摘要
项目概述
Spec Kit 是一个开源工具集,把传统的"代码先行"翻转成"规范驱动开发"(Spec-Driven Development,SDD):规范本身成为可执行产物,直接生成可工作的实现,而不是写完就丢的脚手架。其目标是让团队聚焦于产品场景和可预期的结果,避免从零开始"凭感觉编码"。
核心工作流
完整流程包含六个阶段,由一组斜杠命令驱动(在 Codex CLI 的 skills 模式下使用 $speckit-*,GitHub Copilot CLI 通过 /agents 调用):
- 建立项目原则——使用
/speckit.constitution创建治理准则与开发方针。 - 撰写功能规范——使用
/speckit.specify描述"做什么"与"为什么",暂不指定技术栈。 - 澄清需求——使用
/speckit.clarify(计划前的推荐步骤)以结构化问答方式补齐未明确点。 - 生成技术方案——使用
/speckit.plan指定技术栈与架构。 - 拆解任务——使用
/speckit.tasks产出可执行任务清单;可用/speckit.taskstoissues转为 GitHub Issues。 - 执行实现——使用
/speckit.implement按计划构建;完成后用/speckit.converge评估剩余工作并追加任务。
可选命令 /speckit.analyze 用于跨制品的一致性与覆盖度分析,/speckit.checklist 可生成类似"英语单元测试"的需求完整性校验清单。
安装与初始化
依赖 uv(推荐)或 pipx、Python 3.11+、Git。
# 安装 CLI(替换为最新发布标签,保留 v 前缀,例如 v0.12.11)
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z
# 初始化项目并指定编码代理集成
specify init my-project --integration copilot
cd my-project
# 自管理命令
specify self check # 检查是否有新版本
specify self upgrade --dry-run # 预览升级
specify self upgrade # 立即升级到最新稳定版
specify self upgrade --tag vX.Y.Z[suffix] # 锁定到指定标签
支持 30+ 款 AI 编码代理(CLI 与 IDE),可通过 specify integration list 查看当前可用集成。集成若声明 requires_cli: True,CLI 会校验代理 CLI 是否已安装;可加 --ignore-agent-tools 跳过校验。
Specify CLI 关键命令
specify init <project_name> [--integration <agent>] [--here] [--force]
specify integration list # 列出可用集成
specify extension search # 搜索扩展
specify extension add <extension-name> # 安装扩展(增加新能力)
specify preset search # 搜索预设
specify preset add <preset-name> # 安装预设(改造现有工作流)
specify bundle search [<query>] # 在目录栈中发现 bundle
specify bundle info <bundle-id> # 查看将要安装的组件清单
specify bundle install <bundle-id> # 一键安装角色化 bundle
specify bundle list | update | remove # 维护已安装 bundle
specify bundle catalog list|add|remove # 管理目录源
specify bundle validate --path ./my-bundle # 本地校验 bundle
specify bundle build --path ./my-bundle # 生成可分发 .zip
扩展、预设与 Bundle
模板在运行时按优先级自上而下解析,首个匹配生效:
| 优先级 | 组件类型 | 路径 |
|---|---|---|
| 1 | 项目本地覆盖 | .specify/templates/overrides/ |
| 2 | Presets | .specify/presets/templates/ |
| 3 | Extensions | .specify/extensions/templates/ |
| 4 | 核心内置 | .specify/templates/ |
- Extension 用于新增命令与模板(例如 Jira 集成、V 模型测试追踪、健康诊断)。
- Preset 用于改造既有产物与指令(例如强制法规追溯、本地化工作流、测试优先排序)。
- Bundle 通过
bundle.yml清单把一组扩展、预设、步骤和流程打包成"角色化套件"(产品经理、安全研究员、开发者等),由优先级目录栈(项目 > 用户 > 内置)解析;install操作幂等且仅作用于项目根目录,remove不会删除其他 bundle 仍在使用的组件;所有消费/创作命令均支持离线运行。
开发阶段
| 阶段 | 焦点 |
|---|---|
| 0-to-1(绿地) | 从高层需求生成规范、规划与生产级应用 |
| 创造性探索 | 并行实现多套方案、技术栈与 UX 模式 |
| 迭代增强(棕地) | 迭代加特性、现代化遗留系统、改造流程 |
环境要求
- Linux / macOS / Windows
- 受支持的 AI 编码代理
- uv(推荐)或 pipx
- Python 3.11+、Git
参考文档
完整 CLI 手册与 SDD 方法论详见项目内 docs/installation.md、docs/upgrade.md、spec-driven.md 以及官方文档站 https://github.github.io/spec-kit/。
摘要更新于 2026-07-14 00:31:29
· 原文 36289 字符
· md5 957941444778…