AI编程新范式:规范驱动开发SpecKit框架完全指南

AI编程新范式:规范驱动开发SpecKit框架完全指南

告别"氛围编程",让AI写代码从此有章可循


引言:为什么需要规范驱动开发?

在AI辅助编程时代,你是否遇到过这些困扰:

  • ❌ 直接让AI写代码,不知道它会生成什么
  • ❌ 需求模糊,AI基于模式补全而非真正理解意图
  • ❌ 缺少文档,代码写完才补文档
  • ❌ 架构缺失,技术决策在编码后才确定

规范驱动开发(Spec-Driven Development, SDD) 应运而生!

SpecKit是GitHub于2025年推出的开源工具包,专门为AI辅助编程设计。核心理念是:让规范可执行,直接生成可运行实现


一、SpecKit核心工作流

SpecKit采用五阶段结构化工作流,每一步都有明确的检查点:

复制代码
📋 constitution → 📝 specify → 🎯 plan → ✅ tasks → 🚀 implement
   (项目原则)    (需求规范)   (技术方案) (任务拆分)  (代码实现)

核心优势

传统开发流程 SpecKit流程
需求文档 → 代码实现(可能偏离) 规范定义 → 代码实现(确保一致)
文档可能过时 规范即文档,与代码同步演进
AI直接写代码 AI按规范生成代码

二、环境准备与安装

2.1 系统要求

在开始之前,确保你的系统已安装:

  • Python 3.11+(推荐3.11或更高版本)
  • Git(用于从GitHub安装)
  • uv包管理器(Python包管理工具)
  • 支持的AI助手(Claude Code、Cursor、GitHub Copilot等)

2.2 安装依赖工具

安装uv包管理器(如果尚未安装):

bash 复制代码
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

2.3 检查安装状态

在终端执行以下命令,确认环境就绪:

bash 复制代码
# 检查Python版本(需要3.11+)
python --version

# 检查Git
git --version

# 检查uv包管理器
uv --version

2.4 安装SpecKit CLI

方式一:全局安装(推荐)

bash 复制代码
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git

安装完成后,验证安装:

bash 复制代码
specify --version

方式二:直接使用(无需全局安装)

bash 复制代码
uvx --from git+https://github.com/github/spec-kit.git specify <命令>

三、项目初始化

3.1 创建新项目

bash 复制代码
# 创建新项目并初始化
uvx --from git+https://github.com/github/spec-kit.git specify init my-project

# 进入项目目录
cd my-project

3.2 在已有项目中初始化

bash 复制代码
# 进入项目根目录
cd your-project

# 在当前目录初始化
specify init --here

初始化过程中,系统会提示:

  1. 选择要集成的AI助手(如Claude、Cursor等)
  2. 选择脚本类型(Bash或PowerShell)

3.3 项目结构说明

初始化完成后,项目目录会生成以下结构:

复制代码
your-project/
├── .specify/              # SpecKit核心配置目录
│   ├── scripts/          # 自动化脚本
│   ├── templates/        # 文档模板
│   └── memory/
│       └── constitution.md  # 项目宪章
├── specs/                 # 功能规范、计划、文档存放目录
│   ├── 001-xxx/
│   ├── 002-xxx/
│   └── ...
└── CLAUDE.md             # AI助手配置文件(以Claude为例)

四、核心命令详解

SpecKit提供两大类命令:核心工作流命令可选增强命令

4.1 核心工作流命令

命令一:/speckit.constitution - 建立项目原则

用途:定义项目的核心原则、治理规范和版本控制策略

使用时机:项目开始时(可选但强烈推荐)

示例

复制代码
# 在AI助手(如Claude Code)中输入
/speckit.constitution

# 或带描述输入
/speckit.constitution 我们的项目遵循:
1. 测试驱动开发(TDD)是强制的
2. 代码必须有详细的文档注释
3. 使用TypeScript + React

输出结果

  • .specify/memory/constitution.md - 项目宪章文档

命令二:/speckit.specify - 创建功能规范

用途:将功能需求转化为清晰的规范文档

使用时机:开发新功能的第一步

示例

复制代码
# 在AI助手中输入需求描述
/speckit.specify 开发一个用户注册功能。用户可以通过邮箱和密码注册账号,系统需要验证邮箱格式,密码强度至少8位包含字母和数字。

输出结果

  • specs/001-xxx/spec.md - 功能规范文档
  • 包含用户故事、验收标准、功能点列表

命令三:/speckit.plan - 创建实施计划

用途:基于规范生成技术实施计划

使用时机:规范文档确认后

示例

复制代码
/speckit.plan

输出结果

  • specs/001-xxx/plan.md - 技术实施计划
  • 包含技术栈选择、架构设计、API设计、数据模型等

命令四:/speckit.tasks - 生成可执行任务

用途:将计划分解为具体的开发任务

使用时机:技术方案确认后

示例

复制代码
/speckit.tasks

输出结果

  • specs/001-xxx/tasks.md - 任务清单
  • 每个任务包含:任务ID、描述、预估时间、依赖关系

命令五:/speckit.implement - 执行实施

用途:根据任务执行代码实现

使用时机:任务拆分完成后

示例

复制代码
/speckit.implement

输出结果

  • 自动生成代码文件
  • 每行代码可追溯至规范

4.2 可选增强命令

/speckit.clarify - 澄清规范需求

用途:解决规范中的模糊点

使用时机 :在 /speckit.plan 之前使用

复制代码
/speckit.clarify

/speckit.analyze - 一致性分析

用途:检查规范、计划、任务之间的一致性

使用时机 :在 /speckit.tasks 之后、/speckit.implement 之前使用

复制代码
/speckit.analyze

/speckit.checklist - 生成质量检查清单

用途:验证需求完整性

使用时机 :在 /speckit.plan 之后使用

复制代码
/speckit.checklist

/speckit.taskstoissues - 转换为GitHub Issues

用途:将任务转换为GitHub Issues

使用时机:需要团队协作时

复制代码
/speckit.taskstoissues

五、完整实战案例

案例:开发个人待办事项应用

第一步:初始化项目

bash 复制代码
specify init todo-app
cd todo-app

第二步:定义项目原则

复制代码
# 在Claude Code中执行
/speckit.constitution

# 输入提示词
创建以代码质量、用户体验一致性和性能要求为重点的原则。
包括:
- 使用React + TypeScript
- 本地存储优先
- 响应式设计
- 单元测试覆盖率>80%

第三步:定义功能规范

复制代码
/speckit.specify 创建一个个人待办事项网页应用,支持:
1. 添加新任务(包含任务名称、优先级、截止日期)
2. 标记任务为完成状态
3. 删除任务
4. 按优先级和截止日期排序
5. 任务数据保存在浏览器本地存储中
6. 支持深色模式切换

第四步:生成技术方案

复制代码
/speckit.plan

系统会生成技术方案文档,包括:

  • 技术栈:React 18 + TypeScript + Tailwind CSS
  • 架构设计:组件结构、状态管理
  • API设计:本地存储接口
  • 数据模型:Task接口定义

第五步:拆分任务

复制代码
/speckit.tasks

生成任务清单示例:

复制代码
[ ] TASK-001: 创建项目基础结构 (2h)
[ ] TASK-002: 实现Task数据模型 (1h)
[ ] TASK-003: 实现本地存储服务 (2h)
[ ] TASK-004: 开发TaskList组件 (3h)
[ ] TASK-005: 开发AddTask表单组件 (2h)
[ ] TASK-006: 实现任务过滤和排序 (2h)
[ ] TASK-007: 添加深色模式支持 (1h)
[ ] TASK-008: 编写单元测试 (3h)

第六步:执行实现

复制代码
/speckit.implement

AI会按照任务清单逐步实现代码,每个实现都可追溯到具体需求。


六、常用命令速查表

命令对照表

命令 用途 输出文件
/speckit.constitution 建立项目原则 .specify/memory/constitution.md
/speckit.specify 创建功能规范 specs/xxx/spec.md
/speckit.plan 创建实施计划 specs/xxx/plan.md
/speckit.tasks 生成任务清单 specs/xxx/tasks.md
/speckit.implement 执行代码实现 源代码文件

CLI命令速查

bash 复制代码
# 初始化新项目
specify init <项目名>

# 在当前目录初始化
specify init --here

# 检查支持的AI助手
specify check

# 查看帮助
specify --help

七、最佳实践建议

7.1 循序渐进

推荐做法

  • 严格按照 constitution → specify → plan → tasks → implement 顺序执行
  • 每个阶段完成后进行人工审核
  • 规范变更时重新执行流程

避免做法

  • 跳过规范阶段直接写代码
  • 规范模糊不清就开始实施
  • 忽略一致性检查

7.2 规范文档质量

好的规范应该包含

  • ✅ 清晰的用户故事
  • ✅ 明确的验收标准
  • ✅ 完整的功能点列表
  • ✅ 边界条件和异常处理

避免

  • ❌ 技术细节混杂在需求中
  • ❌ 模糊的描述(如"优化性能")
  • ❌ 缺少可测试的标准

7.3 团队协作

  • 使用 /speckit.taskstoissues 将任务同步到GitHub Issues
  • specs/ 目录纳入版本控制
  • 定期review规范文档的演进

八、支持的AI助手

SpecKit目前已支持20+主流AI编码助手:

AI助手 状态 说明
Claude Code ✅ 完全支持 推荐使用
Cursor ✅ 完全支持 推荐使用
GitHub Copilot ✅ 完全支持 VS Code集成
Gemini CLI ✅ 支持 Google AI助手
Codex ✅ 支持 OpenAI模型

九、常见问题FAQ

Q1: SpecKit与传统开发方式有何不同?

A: 传统开发中,规范只是脚手架,代码才是主角。SpecKit让规范成为"唯一真相来源",代码是对规范的实现,所有文档、测试都围绕规范展开。

Q2: 必须按顺序执行所有命令吗?

A: 核心命令建议按顺序执行,确保每个阶段有明确的产出。可选命令可根据需要灵活使用。

Q3: 规范文档如何与代码同步?

A: SpecKit的工作流确保规范变更会触发重新规划和实施。建议将specs目录纳入版本控制,规范变更有迹可循。

Q4: 支持Windows系统吗?

A: 完全支持!初始化时可选择PowerShell脚本。Windows用户推荐使用PowerShell或Git Bash。

Q5: 如何处理需求变更?

A:

    1. 更新对应的规范文档(spec.md
    1. 重新执行 /speckit.plan
    1. 更新任务清单
    1. 增量实施变更部分

十、总结

SpecKit代表了AI辅助编程的新方向------从"氛围编程"走向"规范驱动"。通过结构化的工作流,让AI真正理解需求、按规范生成代码。

核心价值

  • 🎯 可预测:AI按规范生成代码,结果可预期
  • 📚 可追溯:每行代码都能追溯到需求
  • 🔄 可演进:规范与代码同步更新
  • 👥 可协作:规范成为团队共识

快速开始

bash 复制代码
# 1. 安装
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git

# 2. 初始化项目
specify init my-project
复制代码
# 3. 在AI助手中执行工作流
/speckit.constitution
/speckit.specify "你的需求描述"
/speckit.plan
/speckit.tasks
/speckit.implement

相关资源


关注我们,获取更多AI编程实战技巧!

觉得有用?点个"在看",分享给更多开发者!👇

相关推荐
前端布鲁伊2 小时前
零代码上线一个图片处理网站,我是如何使唤AI干活的?
前端·ai编程
阿拉斯攀登2 小时前
【RK3576 安卓 JNI/NDK 系列 04】JNI 核心语法(下):字符串、数组与对象操作
android·驱动开发·rk3568·瑞芯微·rk安卓驱动·jni字符串操作
weiyvyy2 小时前
接口开发的完整流程:从需求到验证
驱动开发·嵌入式硬件·硬件架构·硬件工程
踩着两条虫3 小时前
去“AI味儿”实操手册:从“机器脸”到“高级脸”,只差这三步!
前端·vue.js·ai编程
woshihonghonga3 小时前
解决Eclipse的Copilot终端依赖问题
stm32·mcu·eclipse·copilot·ai编程
会上树的机器人4 小时前
我用 AI Agent 重构了一个嵌入式 C++ SLAM模块——完整工作流复盘与踩坑实录
人工智能·语言模型·ai编程
与虾牵手4 小时前
OpenClaw 接入大模型 API 完整教程:2026 Skills 开发从零到跑通
aigc·ai编程
flyfox4 小时前
Kiro AI IDE 深度使用指南:从入门到高效开发
前端·人工智能·ai编程