spec-kit 是 github 开源的一个工具包,用于实现规格驱动开发(Spec-Driven Development)。它与 AI 编码工具(如GitHub Copilot、Claude Code、Gemini CLI)集成,帮助开发者构建更高质量的软件。
解决的核心痛点:
1)”氛围编码”问题:传统 AI 编码中,你描述目标,得到代码块,但往往”看起来对,但实际不工作”
2)缺乏结构化流程:从想法到实现缺乏清晰的步骤和检查点
3)质量不一致:生成的代码缺乏统一的质量标准和测试覆盖
主要功能:
1)规格优先开发:先写规格说明,再生成代码
2)四阶段工作流:Specify(规格化) → Plan(规划) → Tasks(任务分解) → Implement(实现)
3)强制测试驱动开发(TDD):必须先生成测试,再生成实现代码
4)与 AI 工具无缝集成:支持 Claude Code、GitHub Copilot 等
官方文档:https://github.com/github/spec-kit/blob/main/README.md
spec-kit 的安装通过 uv 工具完成,在 powershell 执行以下命令:
通过 uv 直接安装时,可能会遇到 git 网络连接失败失败的问题
可以先手动克隆仓库,再本地安装:
1)在 git bash 执行以下命令
claude code 教程
2)从本地仓库安装 specify-cli,在 powershell 执行以下命令,仓库路径要准确
安装后执行出现各种信息,即表示安装成功
spec-kit 支持新项目 和现有项目两种初始化方式:
- 新项目初始化
若从零开始创建项目,执行以下命令:
- 示例:,创建名为 my-task 的项目,使用 Claude Code 作为 AI 代理)
- 效果:在当前目录生成 spec-kit 项目结构,如 .specify/、specs/ 等目录
- 现有项目初始化
若在已有项目中集成 spec-kit,进入项目根目录执行:
- 使用 表示在当前目录初始化,不会创建新子文件夹;建议先备份项目或使用 Git 版本控制,以防覆盖已有文件
初始化完成后,项目目录中会生成 目录,包含以下结构:
- :存储项目级原则和规范
- :spec-kit 的调用脚本
- : 执行命令时使用的模板文件
在当前项目目录 claude 下,输入:
执行完成后自动创建中文的项目宪章,如果生成的内容中有不满意或者想修改的部分,可以指挥 AI 继续修改或者手动改一改。 PS:constitution.md 是spec 里最重要的内容之一,它是让后续迭代符合基本要求的保证。
所有 spec-kit 命令都以开头:
常用的核心命令包括:、、、
主要用于项目初始化阶段或引入新的技术规范时,用于补充说明需求中的边界条件,生成验证清单,类似于文本形式的测试用例。
描述需要实现的需求:
执行完成后,可以看到项目已经新建了 1-task-list 分支,并且已经有了 spec.md 和预生成的 checklist 文件夹。
spec.md 将模糊的用户需求转化为可测试、无歧义的功能规格 ,包含用户故事、功能需求、成功标准等。spec.md 是 AI 整理后对需求的理解,如果觉得描述有不完善的地方,可以使用着重阐述。
描述想要如何实现需求:
执行完成后多了以下一些产物,基于功能规范,AI 自动生成详细的技术实现计划,包括数据模型、接口契约、外部依赖、性能/安全要求
此时可以查看 plan.md 中的规划与设想是否相同
输入:
产物是 tasks.md,它将技术方案(Plan)拆解为 AI 和开发者可以一步步执行、可跟踪、可闭环的任务单元,每个任务包含前置条件、执行步骤、依赖关系。
输入:
AI 逐一执行任务列表中的任务,自动编写代码、创建文件、运行测试,并实时报告进度。开发者只需审查代码是否符合规范,一般通过测试就没什么问题。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/272989.html原文链接:https://javaforall.net
