开发者狂喜!GitHub 官方开源:支持 Copilot/Cursor,规范即代码,27k Star 封神!

你是否曾觉得,传统软件开发流程中,需求文档和最终代码之间总有一道难以逾越的鸿沟?你是否希望 AI 能更深刻地理解你的"意图",而不仅仅是生成零散的代码片段?

今天,来自 GitHub 的官方开源项目 Spec Kit 来了!它带来了一种全新的开发范式 ------ 规范驱动开发 (Spec-Driven Development) ,旨在让你的组织能更专注于产品场景,而非编写千篇一律的模板代码。

这个项目目前开源一个月,就已经在 Github 上收获了接近 27k Star,非常火!

什么是规范驱动开发?

简单来说,就是让"规范"本身成为可执行的代码

在传统开发中,规范(Spec)通常只是指导编码的文档,一旦编码开始,它们就会被抛弃。而 Spec Kit 彻底颠覆了这一点:在这里,规范不再是脚手架,而是可以直接生成工作实现的"蓝图"。你的开发重心将从"如何写代码"转变为"如何精确地描述我想要什么"。

项目介绍

Spec Kit 是一套工具和方法论,它通过一系列结构化的"斜杠命令" (/command),引导开发者和 AI 协同工作,将一个高层次的产品想法,逐步细化为项目原则、功能规范、技术方案、任务列表,并最终自动执行实现。

Spec Kit 支持几乎所有主流的 AI 编程工具,比如 Claude Code、GitHub Copilot、Gemini CLI、Cursor、Windsurf、Qwen Code 等,你可以选自己习惯用的。

Spec Kit 适合什么场景?

  • 从零开始做新项目:直接根据需求生成完整应用。
  • 尝试多种方案:可以并行生成不同技术栈或设计的版本,方便对比。
  • 给老项目加功能:支持在已有系统上迭代开发,不用从头重写。

安装使用

Spec Kit 的安装方式如下,一共两种方式安装:

环境要求

  • Linux/macOS (或 Windows 上的 WSL2)
  • 一款支持的 AI 编码代理
  • Python 3.11+ 和 uv

安装之后就可以开始使用了,整个步骤也非常简单:

1. 定规则 :用 /constitution 命令设定项目的基本原则,比如代码质量要求、测试标准、性能指标等,相当于给项目定「规矩」。

2. 写需求 :用 /specify 命令描述你想做的功能,重点说「要实现什么效果」「用户怎么用」,不用管技术细节。比如:「做一个照片管理 app,能按日期分组建相册,能拖拽调整顺序,相册不能嵌套,照片用卡片式预览」。

3. 选技术 :用 /plan 命令告诉工具你想用什么技术栈。比如:「用 Vite 搭建,尽量用原生 HTML、CSS、JS,图片不上传,数据存在本地 SQLite 数据库里」。

3. 拆任务 :用 /tasks 命令让工具把实现计划拆成具体可执行的任务列表。

4. 自动实现 :最后用 /implement 命令,工具就会按任务列表自动生成代码,完成开发。

总结

Spec Kit 代表了软件开发演进的下一个方向:从"人机结对编程"走向"人机协同架构"。它不仅仅是一个工具集,更是一种思维模式的转变,旨在将开发者的创造力从繁琐的实现细节中解放出来,回归到对产品价值本身的思考上。

如果你对 AI 原生开发、软件工程的未来范式感兴趣,或者希望在你的团队中引入一种更高效、更结构化的 AI 协作方式,Spec Kit 绝对是当下最值得研究和实践的项目。

项目地址:https://github.com/github/spec-kit


推荐一个非常不错的开源 Java + 后端面试指南:JavaGuide (Github 收获150k+ Star)。这个项目的是作者大三开始准备秋招面试的时候创建的,目前已经持续维护 6 年多了,累计提交了 5800+ commit ,共有 590+ 多位贡献者共同参与维护和完善。

相关推荐
zhensherlock几秒前
Protocol Launcher 系列:Beorg 高效任务管理的协议支持
前端·javascript·typescript·node.js·自动化·github·js
2301_77563989几秒前
如何修改Oracle服务器默认的日期格式_NLS_DATE_FORMAT全局配置
jvm·数据库·python
2401_831419441 分钟前
React 中父子组件函数传递的正确调用方式
jvm·数据库·python
szccyw05 分钟前
如何在XSLT中将动态字段值(如name)安全插入HTML链接的URL参数中
jvm·数据库·python
芝士就是力量啊 ೄ೨5 分钟前
VSCode如何配置Python开发环境
ide·vscode·python
asdzx676 分钟前
告别手动校对:使用 Python 对比两个 PDF 文档的差异
开发语言·python·pdf
大大杰哥6 分钟前
DAG 学习笔记:从拓扑排序到并行执行
java
2501_913061348 分钟前
JVM虚拟机——面试中的八股文(下)
java·jvm·面试
qq_460978409 分钟前
如何在 PHP 包含文件中动态排除当前页面的导航项
jvm·数据库·python
京师20万禁军教头9 分钟前
36面向对象(高级)-类变量(静态变量)和类方法(静态方法)
java