Spec-kit 使用总结
·
Spec-kit 使用总结
Spec-Kit 是 GitHub 开源的规格驱动开发工具包,通过与 AI 编码工具(GitHub Copilot、Claude Code 等)深度集成,以「规格优先」为核心思想,帮助开发者规范开发流程、提升代码质量,尤其适合需求明确的中小型项目快速落地。
源码地址:https://github.com/github/spec-kit
主要功能与核心流程
核心功能
- 规格优先开发要求先明确需求规格(What/Why),再进入技术实现(How),避免过早陷入技术细节。
- 四阶段闭环工作流
Specify(规格化):定义用户需求、业务逻辑、成功标准Plan(规划):基于规格设计技术方案(架构、技术栈、依赖等)Tasks(任务分解):将规划拆解为可执行的具体任务(含优先级与依赖)Implement(实现):基于 TDD 原则生成测试用例与业务代码
- AI 工具深度集成支持 Claude Code、GitHub Copilot 等工具自动生成文档、测试和代码,并可通过自然语言交互调整输出。
- 测试驱动约束强制先生成测试用例,再实现业务代码,确保代码符合规格且可验证。
环境准备与安装
以Claude Code + Windows为例
- Claude Code
- Python:Python 3.8+
安装步骤
-
安装uv包管理器
pip install uv -
验证Claude Code安装
claude doctor -
从零开始构建项目
uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME>(若已有项目)集成Spec-Kit
cd <现有项目目录> uvx --from git+https://github.com/github/spec-kit.git specify init --here
-
启动Claude Code
cd <PROJECT_NAME> # 启动claude claude -
验证安装
再claude code 中检查是否有
/specify命令可以用关键命令
命令 功能 使用时机 输出文件 /specify描述功能需求 项目开始时 spec.md /plan技术规划 需求明确后 plan.md /tasks任务分解 规划完成后 tasks.md
完整工作流程
-
Build(构建)
按照上述安装步骤完成环境配置,确认所有命令可用,准备开始规格驱动开发
-
Specify(规格化)
- 专注于什么和为什么,而不是技术栈
- 清晰描述用户需求
示例
/speckit.specify 我需要构建一个智能人机五子棋对战系统,支持人和电脑进行五子棋博弈
执行
/specify命令后,Claude Code会生成详细的规格文档(spec.md)。你需要审查并修改:重点关注:
- 业务逻辑准确性:是否符合你的业务需求
- 功能完整性:是否遗漏重要功能
- 边界条件:错误处理、异常情况
- 性能要求:响应时间、并发用户数等
- 安全要求:认证、授权、数据保护
-
Plan(规化)
- 基于规格制定技术方案,明确技术栈与架构。
示例
/speckit.plan 开发环境为windows,使用语言为C++,项目五子棋算法可以采用五元组算法,使用easyx辅助画图
Claude Code会生成详细的技术计划
plan.md,包括:- 架构设计:系统整体架构
- 技术栈选择:前后端技术栈
- 数据库设计:数据模型和关系
- API端点规划:RESTful API设计
- 部署策略:部署和运维方案
-
Tasks(任务分解)
- 将规划拆解为可执行的具体任务,明确优先级与依赖。
示例
/speckit.tasks 将上述规格和计划分解为可执行的开发任务
生成的任务列表需要你:
- 优先级排序:调整任务执行顺序
- 任务细化:对复杂任务进一步分解
- 依赖关系:确认任务间的依赖关系
-
Implement(实现)
- 基于 TDD 原则,先生成测试用例,再实现代码。
示例
/speckit.implement
让Claude生成代码时遵循:- 必须先写测试(TDD原则)
- 获得测试批准后再生成实现代码
- 通过迭代测试和审查完善代码
生成项目编译运行效果如下,虽然刚生成的项目代码编译可能会出现报错,但是将报错信息给AI之后能够很快解决

项目目录结构一般如下:
my-project/
├── spec.md # 需求规格文档(用户视角:功能、场景、标准)
├── plan.md # 技术规划文档(开发者视角:架构、技术栈、接口)
├── tasks.md # 任务分解列表(含优先级、依赖、耗时)
├── tests/ # 测试目录
│ ├── unit/ # 单元测试(如单个函数:落子校验、胜负判定)
│ ├── integration/ # 集成测试(如模块交互:UI 层调用逻辑层)
│ └── e2e/ # 端到端测试(如完整对战流程)
├── src/ # 源代码目录
│ ├── core/ # 核心逻辑(如算法、数据结构)
│ ├── ui/ # 界面相关(如 EasyX 绘图代码)
│ └── main.cpp # 程序入口
├── docs/ # 辅助文档(如接口说明、算法流程图)
└── README.md # 项目说明(安装、运行、注意事项)
常见问题与解决方案
- AI生成的规格/计划不符合需求
- 解决:在命令中补充更具体的约束(如 “必须支持悔棋功能,最多悔棋 3 步”),或手动修改
spec.md/plan.md后重新执行后续命令。
- 解决:在命令中补充更具体的约束(如 “必须支持悔棋功能,最多悔棋 3 步”),或手动修改
- 代码编译报错
- 解决:将完整错误信息反馈给 AI,明确请求 “修复编译错误”,AI 通常会定位语法问题或依赖缺失。
更多推荐



所有评论(0)