GitHub 新神器!Spec-Kit 如何让 AI 从“聊天机器人”变身“资深架构师”?

Spec-Kit 规范驱动开发指南

从环境搭建到全自动代码生成的完整工作流

AI 编程 Spec-Driven GitHub Tools

Spec-Kit 是 GitHub 推出的规范驱动开发工具包。它通过结构化的流程(规格 -> 计划 -> 任务 -> 实现),让 AI 编码更可控、更高效。

Step 1-2环境准备与安装

首先需要确保安装了最新版本的 Python,然后使用 uv 包管理器安装 Spec-Kit CLI。

# 1. 下载并安装最新版本 Python
# 2. 安装 uv 包管理器
pip install uv

# ⚠️ 注意:Windows 用户需添加环境变量
# 路径示例:$USER_HOME\AppData\Roaming\Python\Python313\Scripts

# 3. 持久化安装 specify-cli (推荐)
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git

# 4. 验证安装
specify check

Step 3项目初始化

创建新项目或在当前目录初始化。您可以指定 AI 助手(如 Claude)和脚本类型。

# 创建新项目目录
specify init my-project

# 或在当前目录初始化 (指定 AI 为 Claude)
specify init . --ai claude

# 指定脚本类型 (Windows PowerShell)
specify init . --ai claude --script ps

Step 4创建项目宪法 (Constitution)

自动化程度:⭐⭐⭐⭐ 半自动 - 你描述原则方向,AI 负责扩展和完善

使用 /speckit.constitution 命令创建项目原则。这将生成 CONSTITUTION.md,AI 后续生成的所有内容都将遵循此规定。

/speckit.constitution 示例内容
语言规范:
  • 所有项目文档、注释、提交信息必须使用简体中文
  • 代码变量名和函数名使用英文,但注释使用中文
  • 用户界面文本、错误提示和日志信息使用简体中文
代码质量:
  • 遵循 Clean Code 原则
  • 单元测试覆盖率 > 80%
  • 使用 SOLID 原则
性能与安全:
  • 页面加载 < 2秒,接口响应 < 500ms
  • 遵循 OWASP Top 10,禁止硬编码密钥

Step 5编写功能规格 (Specify)

自动化程度:⭐⭐⭐⭐⭐ 全自动 - 你只需描述"做什么",AI 自动生成完整规格

使用 /speckit.specify 描述功能需求,AI 将生成 SPEC.md

# 命令示例:构建照片相册管理应用
/speckit.specify 构建一个照片相册管理应用:

核心功能:
1. 相册管理 (按日期分组,拖放排序,扁平结构)
2. 照片展示 (瓷砖式预览,懒加载,支持 JPEG/PNG/WebP)
3. 数据存储 (本地存储,SQLite 元数据,支持导出导入)

用户故事:
- 作为用户,我想拖动相册来重新排序
- 作为用户,我想在网格布局中查看照片
- 作为用户,我想让数据保持私密(仅本地)

Step 6需求澄清 (Clarify)

自动化程度:⭐⭐⭐⭐⭐ 全自动

运行 /speckit.clarify,AI 会自动分析 SPEC.md,主动提问以澄清模糊想法(例如:是否需要离线模式?响应时间具体要求?)。

Step 7制定技术计划 (Plan)

自动化程度:⭐⭐⭐⭐⭐ 全自动

使用 /speckit.plan 提供技术实现细节,生成包含架构设计、数据模型的 PLAN.md

技术实现方案示例
  • 前端: Vite 5.x, 原生 HTML5/CSS3/ES2023, 无 UI 框架 (轻量级)
  • 后端/数据: SQLite (sql.js), IndexedDB 存储二进制图片
  • 性能优化: Intersection Observer 懒加载, 虚拟滚动, 缩略图策略
  • 约束: 零外部运行时依赖, PWA 支持, 移动端适配

Step 8分解任务 (Tasks)

自动化程度:⭐⭐⭐⭐⭐ 全自动

运行 /speckit.tasks,分析规格和计划,生成可执行的 TASKS.md

TASKS.md 预览
阶段一:项目搭建
阶段二:数据库层
阶段三:UI 组件

Step 9执行实现 (Implement)

自动化程度:⭐⭐⭐⭐⭐ 全自动 - 从需求到代码的最终落地

运行 /speckit.implement,AI 将读取任务列表,按顺序生成代码文件并更新任务状态。

进阶用法:
  • 只执行特定阶段:/speckit.implement --phase 2
  • 执行单个任务:/speckit.implement --task "创建相册组件"
  • 更新规格后重新生成任务:/speckit.tasks --update
  • 代码审查:/speckit.review
  • 检查测试覆盖率:/speckit.test --coverage

最佳实践建议

Constitution 编写
  • 具体可衡量: 定义 "覆盖率 > 80%"
  • 技术无关: 关注原则而非具体技术栈
  • 团队共识: 与团队共同制定
Spec 编写
  • 用户视角: 描述用户能看到什么
  • 避免技术细节: 不在 Spec 中指定技术栈
  • 验收标准: 明确的完成标准
Plan 编写
  • 技术选型理由: 说明为什么选择
  • 架构图: 文字或 ASCII 图描述
  • 数据流: 清晰描述数据流动