首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【转】如何使用 Spec Kit 工具进行规范驱动开发

【转】如何使用 Spec Kit 工具进行规范驱动开发

作者头像
保持热爱奔赴山海
修改2026-03-28 20:27:36
修改2026-03-28 20:27:36
80
举报
文章被收录于专栏:AIAI

在传统软件开发流程中,规范只是编码前的临时脚手架,开发者一旦进入编码阶段,便将规范束之高阁。而进入 AI 时代,「规范驱动开发」想彻底改变这一现状,即让规范贯穿整个软件开发生命周期、让规范变得可执行、让规范成为代码。

规范驱动开发的工作流一般有三个阶段:

需求 -> 设计 -> 任务如果每一阶段的规范都依赖人工完成,会给人带来不小的负担。所以,业界推出了相应的工具来自动化规范的编写和流程的管理,从而为开发者减轻负担。

本文即介绍一个「规范驱动开发」工具的使用,它叫 Spec Kit,由 GitHub 推出,与市面上流行的 AI 助手(如 Cursor、VS Code、Claude、Windsurf 等)均能很好的集成。

1 安装 Spec Kit 和初始化一个项目

安装 Spec Kit 前,首先要安装 uvuv 命令安装成功后,可以使用如下命令查看 uv 的版本。

代码语言:javascript
复制
uv --version

接着,就可以使用 uv 命令安装 Spec Kit 了。

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

Spec Kit 安装成功后,可以使用 specify init 命令来初始化一个项目。

代码语言:javascript
复制
specify init spec-kit-demo

然后,Spec Kit 会让我们选择对应的 AI 助手,我想在 Copilot 中使用它,所以选择 Copilot。

Spec Kit 初始化项目时选择 AI 助手
Spec Kit 初始化项目时选择 AI 助手

接着,Spec Kit 让我们选择生成脚本的类型,因为我使用的是 Mac OS,所以选择 Shell。

Spec Kit 初始化项目时选择脚本类型
Spec Kit 初始化项目时选择脚本类型

选择完成后,项目开始初始化。初始化完成后,Spec Kit 会在项目 spec-kit-demo 下生成一个 .specify 文件夹,其下又会生成 memoryscripts/bashtemplates 三个子文件夹。

Spec Kit 项目初始化后生成的文件
Spec Kit 项目初始化后生成的文件
  • Memory Spec Kit 的记忆目录,包含一个 constitution.md 文件。Constitution 意为宪章,所以该文件用于指定整个开发流程中不可违背的根本原则。
  • Scripts/bash 一组 Shell 脚本,供大语言模型调用来生成 Spec Kit 工作流中各个阶段的规范文件。
  • Templates 生成规范文件时的参考模板。

2 在 Copilot 中使用斜杠命令来生成规范

Spec Kit 的工作流包含五个阶段:Constitution、Specify、Plan、Tasks、Implement,分别用于指定宪章(根本原则)、需求(不包含技术栈)、细化需求(包含技术栈与架构)、具体任务、实现。

下面我们使用 VS Code 打开上一步初始化完成的项目 spec-kit-demo,然后尝试使用 Spec Kit 来做一个博客聚合网站。

2.1 Constitution

Constitution 阶段用于指定整个项目生命周期都不可违背的根本原则。

为了简便起见,这个博客聚合网站暂时不想做后端,所以数据需要使用 JSON 的方式存在前端。下面在 Copilot Chat 中使用斜杠命令 /speckit.constitution 来指定一下这个基本原则。

代码语言:javascript
复制
/speckit.constitution 该项目为一个纯前端的演示项目,暂不涉及后端服务,若有请求 API 获取数据的场景,一概使用本地 JSON 模拟。

执行完成后,可以看到 .specify 文件夹下的 memory/constitution.md 文件被更新,我们的要求被更加细化的写进了「宪章」。

Spec Kit Constitution
Spec Kit Constitution

2.2 Specify

下面进入 Specify 阶段,该阶段需要进行需求概述,不需要指定开发所使用的技术栈。

在 Copilot Chat 中使用斜杠命令 /speckit.specify 来指定一下这个博客聚合网站的页面和功能。

代码语言:javascript
复制
/speckit.specify 帮我创建一个博客聚合网站,有博客提交、博客审核、审核状态和博客展示功能。该网站的使用者有两类,一类是管理员,另一类是访客。访客无需登录即可进行博客提交、查看所有博客、查看审核状态;管理员需要登录才能进行博客审核。

执行完成后,可以看到 Spec Kit 会在项目 spec-kit-demo 的同一级生成一个 specs 文件夹,然后在其下生成一个 002-blog-aggregation 子文件夹,子文件夹下会生成一个 spec.md 文件,然后将我们的需求自动拆分为一个个 Story 并写入该文件。

Spec Kit Specify
Spec Kit Specify

2.3 Plan

下面进入 Plan 阶段,Plan 阶段是对需求的近一步细化,以及对所用技术栈和架构的指定。

在 Copilot Chat 中使用斜杠命令 /speckit.plan 来指定这个前端项目的技术栈为 TypeScript + React,样式库为 Tailwind CSS,然后细述各个页面的功能。

代码语言:javascript
复制
/speckit.plan 请基于 TypeScript 和 React 实现该项目,样式库请使用 Tailwind CSS。请严格遵照 TypeScript 标准语法和最佳实践,遵照 React 标准项目结构、路由配置和组件设计规范,实现的页面要美观、大方、易用。博客提交是一个表单页面;博客审核是一个管理员页面,展示博客的名称和通过状态;审核状态是一个展示博客是否通过的页面;博客展示是一个列表页面,按照提交时间倒序展示所有已审核通过的博客。

执行完成后,可以看到,specs/002-blog-aggregation 文件夹下生成了一个新文件 plan.md,技术栈、代码结构被写入了该文件。

Spec Kit Plan
Spec Kit Plan

2.4 Tasks

下面进入 Tasks 阶段,该阶段用于指定具体的实现步骤。

在 Copilot Chat 使用斜杠命令 /speckit.tasks 来指定这些页面的基本实现步骤。

代码语言:javascript
复制
/speckit.tasks 请首先为管理员实现一个登录页面,登录后可以对所提交的博客进行管理,如审核通过和驳回。然后实现访客可以浏览的页面:博客提交、博客展示、审核状态。访客提交博客时需要填写博客名称、博客创建时间、博主名称和博客地址。访客提交博客后,管理员可以在后台看到新提交的博客,并进行审核或驳回;审核通过后,博客会显示到博客展示页面;驳回后,博客的被驳回状态会在审核状态页面显示。

执行完成后,specs/002-blog-aggregation 文件夹下生成了一个新文件 tasks.md,详细实现步骤被写入了该文件。

Spec Kit Tasks
Spec Kit Tasks

至此,所有需要人工介入的步骤都以完成。

下面我们将 Spec Kit 生成的、与项目 spec-kit-demo 同一级的 specs 文件夹拷贝到 spec-kit-demo.specify 目录下。

Spec Kit Specs
Spec Kit Specs

拷贝完成后,进入 Spec Kit 的第五步,实现阶段。

2.5 Implement

这一步无需提示词,直接在 Copilot Chat 使用斜杠命令 /speckit.implement 进行实现即可。

代码语言:javascript
复制
/speckit.implement

可以看到,代码结构、包管理文件 package.json 、打包配置文件 vite.config.ts 等先被自动创建;接着,main.tsxApp.tsx、各个页面组件、可服用组件、工具类等被依次创建。

Spec Kit 生成的代码
Spec Kit 生成的代码

几分钟后,整个项目编码完成,Copilot Chat 提示我们可以安装和运行了。

3 运行和测试

下面,按照提示的命令进行依赖安装和项目运行。

代码语言:javascript
复制
npm install
npm run dev

还算顺利,没有错误,项目被成功启动。浏览器访问相应地址,可以看到,一个博客聚合网站被使用「规范驱动开发」的方式实现了。

Spec Kit Blog Demo
Spec Kit Blog Demo

4 小结

综上,本文首先初始化了一个 Spec Kit 样例项目;然后以实现一个博客聚合网站为需求,在 VS Code 的 Copilot AI 助手中依次执行了 Spec Kit 的 Constitution、Specify、Plan、Tasks、Implement 阶段;最后生成了完整的项目代码并进行了启动和测试。

总体感觉,使用 Spec Kit 开发一个新项目(0 到 1)比 Vibe Coding 要靠谱一些,但 Spec Kit 这种「规范驱动开发」的模式能否胜任真实的项目演进(1 到 N),还有待进一步的探索。

本文完整样例工程已提交至 GitHub,欢迎有需要的同学参考。

参考资料 [1] GitHub: Spec Kit, a toolkit to help you get started with Spec-Driven Development - https://github.com/github/spec-kit [2] YouTube: GitHub 最火的 Spec Kit 项目深度解析 - https://www.youtube.com/watch?v=PtIGaAPzCR0 [3] YouTube: The ONLY guide you’ll need for GitHub Spec Kit - https://www.youtube.com/watch?v=a9eR1xsfvHg

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 安装 Spec Kit 和初始化一个项目
  • 2 在 Copilot 中使用斜杠命令来生成规范
    • 2.1 Constitution
    • 2.2 Specify
    • 2.3 Plan
    • 2.4 Tasks
    • 2.5 Implement
  • 3 运行和测试
  • 4 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档