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 生成新代码 更新测试 实现完成

相关推荐
sell-cloud4 小时前
Prompt Engineering要凉了?Fable 5.5能“猜“意图,但银行正在封杀AI Agent——企业AI的真正护城河是什么
人工智能·prompt
Navicat中国6 小时前
Navicat 18 内置 AI 助手让数据库开发从繁琐操作迈向智能协作
大数据·人工智能·数据库开发
4SAPI6 小时前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php
魔乐社区6 小时前
翼芯・智算测试与适配优化专区,让国产算力“选得准、跑得通、用得好“
人工智能·开源·大模型
XCDoris8 小时前
郴州logo设计机构
大数据·人工智能·python
Goboy8 小时前
一个人带三个Agent,我用全新TRAE从0到1搭了个资讯周刊站
人工智能·trae
俊哥V8 小时前
每日 AI 研究简报 · 2026-10-19
人工智能·ai
AI_AGENT_DEV_AI8 小时前
AI英语教培智能体的开发
人工智能
物联网软硬件开发-轨物科技9 小时前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人
海宇数据9 小时前
零信任架构实战:基于海宇网上踪迹欺诈行为识别构建自动化信贷资信评估网关
运维·人工智能·架构·自动化