SpecKit学习

什么是 SpecKit

SpecKit 是由 GitHub 开源的规范驱动开发(Spec-Driven Development, SDD)工具包,它通过将"规范变为可执行"的方式,彻底改变了传统的软件开发流程。

核心理念

传统开发流程:需求 → 编码 → 测试 → 文档

SpecKit 开发流程:规范 → AI 执行 → 自动实现 → 持续演进

主要特点

  • 规范即源码:规范不再是一次性的设计文档,而是项目的核心资产
  • AI 原生:深度集成 14+ 种 AI 编码助手(Claude Code, GitHub Copilot, Cursor 等)
  • 结构化开发:通过明确的阶段和命令,确保开发过程可控、可追溯
  • 开源免费:MIT 许可证,GitHub 28K+ stars

核心概念

Spec-Driven Development (SDD)

1. Spec-First(规范优先)

在开发之前编写详细的规范文档,用于指导 AI 辅助开发。

2. Spec-Anchored(规范锚定)

开发完成后保留规范,用于功能演进和维护。

3. Spec-as-Source(规范即源码)

规范成为唯一的源文件,人类只修改规范,AI 负责更新代码。

架构层次说明

1. 开发者层
  • 开发者通过 CLI 或 AI 助手与 SpecKit 交互
  • AI 助手负责理解规范并生成代码
2. SpecKit 核心
  • Specify CLI: 命令行工具,提供项目初始化和检查功能
  • Slash Commands: 结构化命令集,控制开发流程各阶段
  • 模板系统: 提供标准化的文档模板
3. 规范体系

五个核心制品(Artifacts),形成完整的规范链:

  • Constitution → Specification → Plan → Tasks → Implementation
4. 输出产物

根据规范自动生成的代码、测试和文档

核心组件

核心命令

/speckit.constitution

定义项目的不可协商规则和开发指南。

用途

  • 编码规范(代码风格、命名约定)
  • 架构原则(DRY、SOLID 等)
  • 安全要求
  • 性能标准
  • 测试策略
/speckit.specify

描述要构建的功能,关注"是什么"和"为什么"。

关键要素

  • 用户故事
  • 功能需求
  • 非功能需求
  • 边界条件
  • 验收标准
/speckit.clarify

通过系统化提问消除规范中的模糊性。

工作方式

  • AI 自动识别不明确的需求
  • 提出具体的澄清问题
  • 记录答案到 Clarifications 部分
/speckit.plan

制定技术实现方案,选择技术栈和架构。

包含内容

  • 技术栈选型
  • 系统架构设计
  • 数据模型设计
  • API 设计
  • 第三方集成方案
/speckit.tasks

将计划分解为可执行的独立任务。

任务特征

  • 原子性:每个任务独立完成一个功能点
  • 可测试:每个任务都有明确的验证标准
  • 有序性:任务按依赖关系排序
  • 并行标记 :使用 [P] 标记可并行执行的任务
/speckit.implement

执行所有任务,构建功能。

执行策略

  • 按照任务顺序逐个实现
  • 在每个检查点验证测试通过
  • 遵循 TDD(测试驱动开发)原则

工作流程

  1. 读取 tasks.md
  2. 按顺序执行每个任务
  3. 运行相关测试验证
  4. 记录实现进度
  5. 处理依赖关系
/speckit.analyze

验证规范、计划和任务之间的一致性。

检查项

  • 规范中的需求是否都有对应任务
  • 任务是否符合技术方案
  • 是否存在冲突或遗漏

工作流程

代码仓库 SpecKit CLI AI 助手 开发者 代码仓库 SpecKit CLI AI 助手 开发者 loop [每个任务] specify init my-project 创建 .speckit/ 目录 项目初始化完成 /speckit.constitution 生成 constitution.md 宪法文档已创建 /speckit.specify\n描述功能需求 生成 specification.md 规范文档已创建 /speckit.clarify 提出澄清问题 回答问题 更新 specification.md /speckit.plan 生成 plan.md 技术方案已创建 /speckit.tasks 生成 tasks.md 任务清单已创建 /speckit.implement 读取任务详情 生成测试代码 生成实现代码 运行测试验证 任务 X 完成 所有任务已完成 specify check 质量检查报告

安装与配置

  • Claude Code ,GitHub Copilot,Cursor, Gemini CLI 或其他的任何一种AI助手

  • uv安装

    复制代码
    macOS/Linux:
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    Windows:
    pip install uv
SpecKit CLI
复制代码
  uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
  specify --version

项目初始化

创建新项目
复制代码
# 初始化项目
specify init my-awesome-app  #首次会让你选择AI助手,命令终端
#或者指定AI
specify init my-awesome-app --ai claude
#指定AI和终端((Windows/powershell)
specify init my-awesome-app --ai copilot --script ps

cd my-awesome-app
tree /F ./

生成的目录结构

复制代码
my-awesome-app/
├─.claude
│  └─commands
│          speckit.analyze.md
│          speckit.checklist.md
│          speckit.clarify.md
│          speckit.constitution.md
│          speckit.implement.md
│          speckit.plan.md
│          speckit.specify.md
│          speckit.tasks.md
│          speckit.taskstoissues.md
│
└─.specify
    │  init-options.json
    │
    ├─memory
    │      constitution.md
    │
    ├─scripts
    │  └─powershell
    │          check-prerequisites.ps1
    │          common.ps1
    │          create-new-feature.ps1
    │          setup-plan.ps1
    │          update-agent-context.ps1
    │
    └─templates
            agent-file-template.md
            checklist-template.md
            constitution-template.md
            plan-template.md
            spec-template.md
            tasks-template.md

配置 AI 助手

Claude Code 配置

在 Claude Code 中,SpecKit 的命令会自动识别,无需额外配置。

GitHub Copilot 配置

确保安装了 GitHub Copilot Chat 扩展,命令会自动可用。

Cursor 配置
  1. 打开 Cursor 设置
  2. 启用自定义命令支持
  3. SpecKit 命令会自动加载

使用指南

Step 1: 初始化项目
Step 2: 定义项目宪法

AI助手中执行/speckit.constitution

复制代码
AI 会引导你定义项目原则,如一些基本的原则:
- 使用 C++ + QT
- 所有响应使用标准 JSON 格式
Step 3: 编写功能规范

执行:/speckit.specify

复制代码
对于功能的描述和约束
Step 4: 澄清需求

执行:/speckit.clarify

复制代码
细节描述
Step 5: 制定技术方案

执行:/speckit.plan

复制代码
技术选型
Step 6: 分解任务

执行:/speckit.tasks

Step 7: 执行实现

执行:/speckit.implement

复制代码
AI 会按照任务顺序逐个实现

持续演进策略

代码库 AI 助手 规范文档 开发者 用户 代码库 AI 助手 规范文档 开发者 用户 用户需求描述 完善需求 分解功能任务 规范保持最新\n代码自动生成 新需求:用户需求说明 更新 specification.md /speckit.plan 更新 plan.md /speckit.tasks 更新 tasks.md /speckit.implement 生成新代码 更新测试 实现完成

相关推荐
马丁聊GEO2 分钟前
解码AI用户心智,筑牢可信GEO根基——悠易科技深度参与《中国AI用户态度与行为研究报告(2026)》发布会
人工智能·科技
nap-joker7 分钟前
Fusion - Mamba用于跨模态目标检测
人工智能·目标检测·计算机视觉·fusion-mamba·可见光-红外成像融合·远距离/伪目标问题
一只幸运猫.18 分钟前
2026Java 后端面试完整版|八股简答 + AI 大模型集成技术(最新趋势)
人工智能·面试·职场和发展
Promise微笑24 分钟前
2026年国产替代油介损测试仪:油介损全场景解决方案与技术演进
大数据·网络·人工智能
深海鱼在掘金31 分钟前
深入浅出 LangChain —— 第三章:模型抽象层
人工智能·langchain·agent
生信碱移31 分钟前
PACells:这个方法可以鉴定疾病/预后相关的重要细胞亚群,作者提供的代码流程可以学习起来了,甚至兼容转录组与 ATAC 两种数据类型!
人工智能·学习·算法·机器学习·数据挖掘·数据分析·r语言
workflower39 分钟前
具身智能行业应用-生活服务业
大数据·人工智能·机器人·动态规划·生活
GitCode官方1 小时前
基于昇腾 MindSpeed LLM 玩转 DeepSeekV4-Flash 模型的预训练复现部署
人工智能·开源·atomgit
大刘讲IT1 小时前
AI重塑企业信息价值标准:从“系统供给”到“用户定义”的企业数字化新范式
人工智能·经验分享·ai·制造
流年似水~1 小时前
MCP协议实战:从零搭建一个让Claude能“看见“数据库的工具服务
数据库·人工智能·程序人生·ai·ai编程