AI 编程利器——Spec Kit

1. 🌱 Spec Kit

1.1. 更快地构建高质量软件

一个开源工具包,让你专注于产品场景和可预测的结果,而不是从头开始对每个部分进行氛围式编码。

2. 目录

3. 🤔 什么是规范驱动开发?

规范驱动开发颠覆了传统的软件开发方式。几十年来,代码一直是核心——规范只是我们搭建后、在开始编码的"真正工作"时就被丢弃的脚手架。规范驱动开发改变了这一点:规范变得可执行,直接生成可工作的实现,而不仅仅是指导它们。

4. ⚡ 快速开始

4.1. 安装 Specify CLI

选择你偏好的安装方式:

4.1.1. 选项 1:持久化安装(推荐)

一次安装,随处使用:

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git

然后直接使用该工具:

specify init
specify check

要升级 Specify,请参阅升级指南获取详细说明。快速升级:

uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git

4.1.2. 选项 2:一次性使用

无需安装,直接运行:

uvx --from git+https://github.com/github/spec-kit.git specify init

持久化安装的好处:

  • 工具保持安装状态并在 PATH 中可用
  • 无需创建 shell 别名
  • 使用 uv tool list、uv tool upgrade、uv tool uninstall 更好地管理工具
  • 更清晰的 shell 配置

4.2. 建立项目原则

在项目目录中启动你的 AI 助手。助手将可以使用 /speckit.* 命令。使用 /speckit.constitution 命令创建你的项目治理原则和开发指南,这些将指导所有后续的开发工作。

/speckit.constitution 创建专注于代码质量、测试标准、用户体验一致性和性能要求的原则

4.3. 创建规范

使用 /speckit.specify 命令描述你想要构建的内容。专注于做什么和为什么,而不是技术栈。

/speckit.specify 构建一个能帮助我整理照片到独立相册的应用程序。相册按日期分组,并且可以在主页通过拖放重新组织。相册从不嵌套在其他相册内。在每个相册内,照片以类似磁贴的界面预览。

4.4. 创建技术实施计划

使用 /speckit.plan 命令来提供你的技术栈和架构选择。

/speckit.plan 应用程序使用 Vite 并尽可能减少库的数量。尽可能使用原生的 HTML、CSS 和 JavaScript。图片不会上传到任何地方,元数据存储在本地 SQLite 数据库中。

4.5. 分解为任务

使用 /speckit.tasks 从你的实施计划创建一个可操作的任务列表。

/speckit.tasks

4.6. 执行实施

使用 /speckit.implement 来执行所有任务,并根据计划构建你的功能。

/speckit.implement

有关详细的分步说明,请参阅我们的综合指南。

5. 📽️ 视频概览

想看看 Spec Kit 的实际运作吗?观看我们的视频概览!

6. 🤖 支持的 AI 代理

代理 支持 备注
Qoder CLI ✅
Amazon Q Developer CLI ⚠️ Amazon Q Developer CLI 不支持斜杠命令的自定义参数。
Amp ✅
Auggie CLI ✅
Claude Code ✅
CodeBuddy CLI ✅
Codex CLI ✅
Cursor ✅
Gemini CLI ✅
GitHub Copilot ✅
IBM Bob ✅ 基于 IDE 的代理,支持斜杠命令
Jules ✅
Kilo Code ✅
opencode ✅
Qwen Code ✅
Roo Code ✅
SHAI (OVHcloud) ✅
Windsurf ✅

7. 🔧 Specify CLI 参考

specify 命令支持以下选项:

7.1. 命令

命令 描述
init 从最新模板初始化一个新的 Specify 项目
check 检查已安装的工具 (git, claude, gemini, code/code-insiders, cursor-agent, windsurf, qwen, opencode, codex, shai, qoder)

7.2. specify init 参数与选项

参数/选项 类型 描述
参数 新项目目录的名称(如果使用 --here 则可选,或使用 . 表示当前目录)
--ai 选项 要使用的 AI 助手:claude,gemini,copilot,cursor-agent,qwen,opencode,codex,windsurf,kilocode,auggie,roo,codebuddy,amp,shai,q,bob, 或 qoder
--script 选项 要使用的脚本变体:sh (bash/zsh) 或 ps (PowerShell)
--ignore-agent-tools 标志 跳过对 AI 代理工具(如 Claude Code)的检查
--no-git 标志 跳过 git 仓库初始化
--here 标志 在当前目录初始化项目,而不是创建新目录
--force 标志 在当前目录初始化时强制合并/覆盖(跳过确认)
--skip-tls 标志 跳过 SSL/TLS 验证(不推荐)
--debug 标志 启用详细的调试输出以进行故障排除
--github-token 选项 用于 API 请求的 GitHub 令牌(或设置 GH_TOKEN/GITHUB_TOKEN 环境变量)

7.3. 示例

# 基本项目初始化
specify init my-project

# 使用特定 AI 助手初始化
specify init my-project --ai claude

# 使用 Cursor 支持初始化
specify init my-project --ai cursor-agent

# 使用 Qoder 支持初始化
specify init my-project --ai qoder

# 使用 Windsurf 支持初始化
specify init my-project --ai windsurf

# 使用 Amp 支持初始化
specify init my-project --ai amp

# 使用 SHAI 支持初始化
specify init my-project --ai shai

# 使用 IBM Bob 支持初始化
specify init my-project --ai bob

# 使用 PowerShell 脚本初始化 (Windows/跨平台)
specify init my-project --ai copilot --script ps

# 在当前目录初始化
specify init . --ai copilot

# 或者使用 --here 标志
specify init --here --ai copilot

# 强制合并到当前(非空)目录,无需确认
specify init . --force --ai copilot

# 或者
specify init --here --force --ai copilot

# 跳过 git 初始化
specify init my-project --ai gemini --no-git

# 启用调试输出以进行故障排除
specify init my-project --ai claude --debug

# 使用 GitHub 令牌进行 API 请求(对公司环境有帮助)
specify init my-project --ai claude --github-token ghp_your_token_here

# 检查系统要求
specify check

7.4. 可用的斜杠命令

运行 specify init 后,你的 AI 编码代理将可以访问这些用于结构化开发的斜杠命令:

7.4.1. 核心命令

规范驱动开发工作流的必备命令:

命令 描述
/speckit.constitution 创建或更新项目治理原则和开发指南
/speckit.specify 定义你想要构建的内容(需求和用户故事)
/speckit.plan 使用你选择的技术栈创建技术实施计划
/speckit.tasks 为实施生成可操作的任务列表
/speckit.implement 根据计划执行所有任务以构建功能

7.4.2. 可选命令

用于增强质量和验证的附加命令:

命令 描述
/speckit.clarify 澄清未明确说明的领域(推荐在 /speckit.plan 之前使用;以前称为 /quizme)
/speckit.analyze 跨工件一致性 & 覆盖率分析(在 /speckit.tasks 之后、/speckit.implement 之前运行)
/speckit.checklist 生成自定义质量检查清单,验证需求完整性、清晰度和一致性(例如"英语的单元测试")

7.5. 环境变量

变量 描述
SPECIFY_FEATURE 覆盖非 Git 仓库的功能检测。设置为功能目录名称(例如 001-photo-albums),以便在不使用 Git 分支时处理特定功能。必须在您正在使用的代理环境中,在使用 /speckit.plan 或后续命令之前设置。

8. 📚 核心理念

规范驱动开发是一个强调以下方面的结构化流程:

  • 意图驱动开发,其中规范先定义"做什么",再定义"怎么做"
  • 创建丰富的规范,使用防护栏和组织原则
  • 多步骤精炼,而不是从提示词一次性生成代码
  • 高度依赖先进 AI 模型的规范解释能力

9. 🌟 开发阶段

阶段 重点 关键活动
0 到 1 开发 (“绿地开发”) 从零生成 从高层次需求开始生成规范
规划实施步骤
构建生产就绪的应用程序
创意探索 并行实施 探索多样化的解决方案
支持多种技术栈和架构实验
用户体验模式
迭代增强 (“棕地开发”) 棕地现代化 迭代添加功能
现代化遗留系统
适应流程

10. 🎯 实验目标

我们的研究和实验专注于:

10.1. 技术独立性

  • 使用多样化的技术栈创建应用程序
  • 验证规范驱动开发是一个不依赖于特定技术、编程语言或框架的过程的假设

10.2. 企业约束

  • 演示关键任务应用程序的开发
  • 整合组织约束(云提供商、技术栈、工程实践)
  • 支持企业设计系统和合规要求

10.3. 以用户为中心的开发

  • 为不同的用户群体和偏好构建应用程序
  • 支持各种开发方法(从氛围式编码到 AI 原生开发)

10.4. 创意与迭代过程

  • 验证并行实施探索的概念
  • 提供强大的迭代功能开发工作流
  • 扩展流程以处理升级和现代化任务

11. 🔧 先决条件

  • Linux/macOS/Windows
  • 一个受支持的 AI 编码代理
  • uv 用于包管理
  • Python 3.11+
  • Git

如果在使用某个代理时遇到问题,请提交 issue 以便我们改进集成。

12. 📖 了解更多

详见:github/spec-kit

13. 🔍 故障排除

13.1. Linux 上的 Git 凭据管理器

如果你在 Linux 上遇到 Git 身份验证问题,可以安装 Git 凭据管理器:

#!/usr/bin/env bash
set -e
echo "正在下载 Git 凭据管理器 v2.6.1..."
wget https://github.com/git-ecosystem/git-credential-manager/releases/download/v2.6.1/gcm-linux_amd64.2.6.1.deb
echo "正在安装 Git 凭据管理器..."
sudo dpkg -i gcm-linux_amd64.2.6.1.deb
echo "正在配置 Git 使用 GCM..."
git config --global credential.helper manager
echo "正在清理..."
rm gcm-linux_amd64.2.6.1.deb