简介
Spec Kit 是GitHub官方推出的规范驱动开发(Spec-Driven Development)工具包,旨在通过将规范转化为可执行代码的方式,彻底改变传统软件开发流程。这个创新的框架让开发者能够专注于产品场景和需求定义,而不是编写重复的底层代码,大幅提升开发效率和质量。
🔗 GitHub地址:
https://github.com/github/spec-kit
🚀 核心价值:
规范即代码 · AI驱动开发 · 多技术栈支持 · 企业级就绪
项目背景:
-
开发范式变革:由GitHub发起,旨在重新定义软件开发流程
-
AI时代适配:充分利用大型语言模型的能力进行代码生成
-
开源生态:MIT许可证,鼓励社区贡献和扩展
-
企业需求:解决大型组织中的开发标准化和效率问题
核心理念:
-
规范优先:将规范作为开发过程的核心资产
-
AI协作:人类定义需求,AI负责实现
-
可执行性:规范直接生成可工作的实现代码
-
过程标准化:统一的开发流程和质量标准
技术特色:
-
🤖 AI集成:深度集成Claude、Gemini、Copilot等AI编码助手
-
📋 标准化流程:明确的阶段划分和职责分离
-
🔧 多技术栈:支持.NET、JavaScript、Python等多种技术生态
-
🏢 企业级:包含治理框架和合规性支持
-
📊 可视化:开发进度和架构的可视化管理
主要功能
1. 核心架构体系

2. 功能详情
核心命令行工具:
-
specify init:项目初始化,设置开发环境
-
specify check:系统依赖和工具检查
-
多AI支持:Claude、Gemini、Copilot、OpenCode、Cursor
-
跨平台:支持Linux、macOS、Windows(WSL2)
规范驱动流程:
-
/constitution:制定项目治理原则和开发准则
-
/specify:定义功能需求和用户故事
-
/plan:创建技术实施方案和架构设计
-
/tasks:生成可执行的任务分解清单
-
/implement:执行所有任务并生成最终实现
开发阶段支持:
-
0到1开发(Greenfield):从零开始创建新项目
-
创意探索:多技术栈并行探索和比较
-
迭代增强(Brownfield):现有系统现代化和功能添加
企业级特性:
-
治理框架:宪法机制确保代码质量和一致性
-
合规支持:内置企业约束和合规要求处理
-
多团队协作:支持大型组织的协同开发
-
知识管理:规范和经验的知识库积累
3. 技术规格
系统要求:
# 操作系统
Linux: Ubuntu 18.04+, CentOS 7+
macOS: 10.15+ (Catalina及以上)
Windows: WSL2 (Windows 10/11)
# 开发工具
Python: 3.8+
uv: 最新版本包管理器
Git: 版本控制系统
# AI工具要求
Claude Code: 可选
Gemini CLI: 可选
GitHub Copilot: 可选
支持的技术栈:
-
前端:React、Vue、Angular、Blazor、纯HTML/CSS/JS
-
后端:Node.js、.NET、Python、Java、Go
-
数据库:SQLite、PostgreSQL、MySQL、MongoDB
-
架构:微服务、单体、无服务器、事件驱动
输出格式:
-
规范文档:Markdown格式的需求和设计文档
-
API规范:OpenAPI/Swagger格式的接口定义
-
数据模型:数据库Schema和实体关系图
-
任务清单:结构化的开发任务和依赖关系
-
实现代码:完整的可执行应用程序代码
安装与配置
1. 环境准备
基础要求:
# 安装uv包管理器(如果尚未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 验证安装
uv --version
python --version
git --version
# 安装AI编码助手(至少选择一个)
# Claude Code、Gemini CLI、GitHub Copilot等
2. 安装步骤
标准安装:
# 使用uv直接安装Spec Kit
uvx --from git+https://github.com/github/spec-kit.git specify init
# 或克隆仓库后安装
git clone https://github.com/github/spec-kit.git
cd spec-kit
uv sync
项目初始化:
# 创建新项目
specify init my-project --ai claude
# 或在当前目录初始化
specify init --here --ai copilot
# 使用特定AI代理
specify init project-name --ai gemini
specify init project-name --ai claude
specify init project-name --ai copilot
# 高级选项
specify init project-name --ai claude --script ps # PowerShell脚本
specify init project-name --no-git # 跳过Git初始化
specify init project-name --debug # 调试模式
验证安装:
# 检查系统依赖
specify check
# 验证AI工具集成
# 确保选择的AI编码助手正确安装和配置
3. 配置说明
项目结构:
my-project/
├── memory/
│ ├── constitution.md # 项目宪法和原则
│ └── constitution_update_checklist.md
├── specs/
│ └── 001-feature-name/
│ ├── spec.md # 功能规范
│ ├── plan.md # 实施计划
│ ├── tasks.md # 任务清单
│ ├── data-model.md # 数据模型
│ └── research.md # 技术研究
├── scripts/ # 自动化脚本
├── templates/ # 模板文件
└── CLAUDE.md # AI会话记录
宪法配置示例:
# 项目宪法
## 代码质量原则
- 测试覆盖率必须达到85%以上
- 遵循SOLID设计原则
- 使用语义化版本控制
- 代码注释率不低于20%
## 用户体验准则
- 响应式设计支持移动端和桌面端
- 加载时间不超过3秒
- 无障碍访问WCAG 2.1 AA标准
- 一致的设计语言和交互模式
## 技术标准
- 使用RESTful API设计
- 数据库迁移必须可回滚
- 环境配置与代码分离
- 监控和日志全覆盖
## 合规要求
- GDPR数据保护合规
- 安全漏洞及时修复
- 第三方依赖安全扫描
- 定期安全审计
AI代理配置:
# 隐式配置通过环境变量
ai_provider: "claude"
model_version: "latest"
temperature: 0.3
max_tokens: 4000
# 自定义设置
preferred_tech_stack:
frontend: "react"
backend: "node.js"
database: "postgresql"
code_style:
indent: 2
quote_style: "single"
semicolons: false
quality_gates:
test_coverage: 85
complexity_threshold: 10
duplication_tolerance: 5
使用指南
1. 基本工作流
使用Spec Kit的基本流程遵循严格的阶段划分:宪法制定 → 规范定义 → 技术规划 → 任务分解 → 实现执行。每个阶段都有明确的输入输出和质量标准。
2. 阶段详解
阶段1: 制定宪法 (/constitution)
# 在AI编码助手会话中
/constitution
# 提示内容:
创建专注于代码质量、测试标准、用户体验一致性和性能要求的原则。
包含这些原则如何指导技术决策和实施选择的治理机制。
输出产物:
-
memory/constitution.md:项目宪法文档 -
治理清单和合规要求
-
质量标准和验收准则
阶段2: 定义规范 (/specify)
# 定义功能需求
/specify
# 示例提示:
开发Taskify,一个团队生产力平台。应该允许用户创建项目、添加团队成员、
分配任务、评论并在看板之间移动任务。在这个功能的初始阶段,让我们有多个用户
但用户将预先声明、预定义。我想要五个用户属于两个不同类别:一个产品经理
和四个工程师。创建三个不同的示例项目。为每个任务的状态设置标准看板列,
如"待办"、"进行中"、"评审中"和"已完成"。
输出产物:
-
specs/001-feature-name/spec.md:功能规范文档 -
用户故事和验收标准
-
UI设计和交互流程
阶段3: 技术规划 (/plan)
# 制定技术方案
/plan
# 示例提示:
我们将使用.NET Aspire生成这个,使用Postgres作为数据库。
前端应该使用Blazor服务器,具有拖放任务板、实时更新功能。
应该创建一个具有项目API、任务API和通知API的REST API。
输出产物:
-
specs/001-feature-name/plan.md:技术实施方案 -
架构设计和组件规划
-
技术选型和依赖管理
阶段4: 任务分解 (/tasks)
# 生成任务清单
/tasks
# 自动基于规划生成可执行任务
输出产物:
-
specs/001-feature-name/tasks.md:详细任务清单 -
任务依赖关系和优先级
-
预估工作量和资源分配
阶段5: 实现执行 (/implement)
# 执行实现
/implement
# 自动执行所有任务并生成代码
输出产物:
-
完整的可执行应用程序代码
-
测试套件和文档
-
部署配置和运维脚本
3. 最佳实践
规范编写技巧:
# 优秀规范的特征
## 明确性
- 使用具体、可衡量的需求
- 避免模糊和主观的描述
- 包含明确的验收标准
## 完整性
- 覆盖所有用户场景和边缘情况
- 包含错误处理和恢复流程
- 指定性能和非功能需求
## 可测试性
- 每个需求都应该是可验证的
- 包含测试策略和验证方法
- 定义监控和度量指标
## 一致性
- 使用统一的术语和定义
- 遵循项目宪法中的原则
- 保持与现有系统的一致性
AI提示工程:
# 有效的AI交互提示
## 上下文提供
- 明确项目背景和业务目标
- 提供相关技术约束和要求
- 引用现有的规范和设计决策
## 指令清晰度
- 使用明确的动作动词
- 指定期望的输出格式
- 提供示例和参考实现
## 迭代改进
- 基于反馈逐步完善规范
- 请求解释和替代方案
- 验证假设和技术选择
## 质量控制
- 要求符合宪法原则
- 验证技术可行性和性能
- 检查安全性和合规性
项目管理:
# 分支管理策略
git checkout -b 001-feature-name
# 实现完成后
git add .
git commit -m "feat: implement feature-name according to spec"
git push origin 001-feature-name
# 创建Pull Request进行代码审查
gh pr create --title "实现功能名称" --body "根据规范001实现功能"
应用场景实例
案例1:团队生产力平台开发
场景:开发一个名为Taskify的团队任务管理平台
解决方案:使用Spec Kit从零开始构建完整的企业级应用。
宪法制定:
# Taskify项目宪法
## 核心原则
- 用户中心设计:优先考虑最终用户体验
- 数据持久性:确保任务数据永不丢失
- 实时协作:支持多用户同时操作
- 性能优先:界面响应时间<100ms
## 技术标准
- 前端:Blazor Server with SignalR
- 后端:.NET 8 with Entity Framework
- 数据库:PostgreSQL with full-text search
- 部署:Docker容器化部署
## 质量要求
- 单元测试覆盖率 >90%
- 集成测试覆盖所有用户流程
- 负载测试支持100+并发用户
- 安全审计和漏洞扫描
规范定义:
# Taskify核心功能规范
## 用户管理
- 5个预定义用户:1产品经理 + 4工程师
- 无密码登录系统
- 用户角色和权限管理
## 项目管理
- 创建、编辑、删除项目
- 项目描述和元数据管理
- 项目成员分配和管理
## 任务看板
- 标准看板列:待办、进行中、评审中、已完成
- 拖放任务移动功能
- 任务分配和重新分配
- 实时状态更新和同步
## 协作功能
- 任务评论和讨论
- @提及和通知系统
- 活动时间线和审计日志
技术规划:
# Taskify技术实施方案
## 架构设计
- 前端:Blazor Server App with MudBlazor UI
- 后端:.NET 8 Web API with SignalR Hub
- 数据库:PostgreSQL with Entity Framework Core
- 实时通信:SignalR for real-time updates
## 组件规划
- Identity组件:用户管理和认证
- Projects组件:项目CRUD操作
- Tasks组件:任务管理和看板
- Notifications组件:实时通知系统
## 数据模型
- User:用户信息和权限
- Project:项目定义和元数据
- Task:任务属性和状态
- Comment:任务评论和讨论
实施成果:
-
开发时间:从数月缩短到数周
-
代码质量:符合所有宪法定义的标准
-
测试覆盖率:达到95%的测试覆盖率
-
用户体验:获得用户一致好评
-
维护成本:降低60%的维护工作量
案例2:多技术栈探索项目
场景:评估不同技术栈对于电商平台开发的适用性
解决方案:使用Spec Kit并行探索React、Vue和Blazor三种实现。
探索策略:
# 电商平台技术评估宪法
## 评估标准
- 开发效率:实现相同功能所需时间
- 性能表现:加载速度和运行时性能
- 开发者体验:工具链和开发环境
- 生态系统:第三方库和社区支持
## 统一需求
- 相同的功能集和用户体验
- 一致的数据模型和API设计
- 可比较的性能度量标准
- 相同的测试场景和基准
## 质量保证
- 独立的实现团队
- 相同的验收标准
- 客观的性能测试
- 真实的用户反馈
并行实施:
# 创建三个并行项目分支
specify init ecommerce-react --ai claude
specify init ecommerce-vue --ai gemini
specify init ecommerce-blazor --ai copilot
# 使用相同的规范文件
cp specs/001-ecommerce-core/spec.md ecommerce-react/specs/001-core/
cp specs/001-ecommerce-core/spec.md ecommerce-vue/specs/001-core/
cp specs/001-ecommerce-core/spec.md ecommerce-blazor/specs/001-core/
评估结果:
-
React:最佳生态系统和社区支持
-
Vue:最优雅的开发体验和文档
-
Blazor:最好的.NET集成和企业特性
-
决策依据:基于客观数据而非主观偏好
案例3:遗留系统现代化
场景:将传统ASP.NET Web Forms应用现代化为现代架构
解决方案:使用Spec Kit进行增量式重构和功能增强。
现代化策略:
# 遗留系统现代化宪法
## 迁移原则
- 增量式重构,非重写
- 保持向后兼容性
- 逐步替换老旧组件
- 确保业务连续性
## 技术目标
- 从Web Forms迁移到Blazor
- 从ADO.NET迁移到Entity Framework
- 从IIS迁移到D容器化部署
- 添加API优先的架构
## 质量要求
- 零停机迁移
- 性能逐步提升
- 功能对等保证
- 团队技能平滑过渡
实施方法:
# 分阶段现代化计划
## 阶段1:API层添加
- 创建RESTful API端点
- 实现现有功能的API版本
- 保持Web Forms界面不变
## 阶段2:前端逐步替换
- 新功能使用Blazor实现
- 旧功能逐步重写
- 混合运行模式支持
## 阶段3:数据访问现代化
- 引入Entity Framework Core
- 实现数据库迁移脚本
- 优化查询性能
## 阶段4:完整现代化
- 移除Web Forms依赖
- 全面转向现代架构
- 优化部署和运维
实施效果:
-
风险控制:零业务中断的平滑迁移
-
性能提升:页面加载时间减少70%
-
开发效率:新功能开发速度提高3倍
-
维护成本:系统维护工作量减少50%
-
技术债务:显著减少技术债务积累
案例4:企业合规系统开发
场景:为金融机构开发符合严格监管要求的合规系统
解决方案:利用Spec Kit的宪法机制确保合规性。
合规宪法:
# 金融合规系统宪法
## 监管要求
- GDPR数据保护合规
- FINRA交易记录保留
- SOX内部控制要求
- PCI DSS安全标准
## 审计要求
- 完整的操作审计日志
- 不可篡改的记录保存
- 实时合规检查
- 定期审计报告
## 安全要求
- 端到端加密
- 多因素认证
- 角色基础访问控制
- 安全漏洞管理
## 性能要求
- 亚秒级查询响应
- 99.99%系统可用性
- 线性扩展能力
- 灾难恢复能力
实施成果:
-
合规认证:一次性通过所有监管审计
-
安全记录:零安全漏洞和合规违规
-
系统性能:满足所有性能指标要求
-
开发效率:在严格约束下仍保持高效开发
-
客户信任:建立极高的客户信任和满意度
生态系统与社区
1. 社区资源
获取帮助:
-
📚 官方文档:GitHub README和详细使用指南
-
💬 社区讨论:GitHub Discussions和问题跟踪
-
🐛 问题报告:通过GitHub Issues报告问题
-
💡 功能建议:提交新功能请求和改进建议
贡献指南:
-
Fork项目仓库
-
创建特性分支 (
git checkout -b feature/AmazingFeature) -
提交更改 (
git commit -m 'Add some AmazingFeature') -
推送到分支 (
git push origin feature/AmazingFeature) -
发起Pull Request
支持渠道:
-
GitHub Issues:主要的问题跟踪和功能请求
-
社区论坛:开发者讨论和经验分享
-
文档贡献:帮助改进教程和示例
-
生态扩展:开发插件和集成工具
2. 相关项目集成
AI生态系统:
-
Claude Code:Anthropic的AI编程助手
-
Gemini:Google的AI开发工具
-
GitHub Copilot:微软的AI配对程序员
-
OpenCode:开源AI编码工具
开发工具链:
-
uv:现代化的Python包管理器
-
Git:版本控制系统集成
-
Docker:容器化部署支持
-
CI/CD:持续集成和交付管道
企业集成:
-
GitHub Enterprise:企业级代码托管
-
Azure DevOps:微软开发运维平台
-
JIRA:项目管理和问题跟踪
-
Slack:团队沟通和通知
总结
Spec Kit代表了软件开发范式的根本性变革,将规范从指导文档提升为可执行的开发资产。通过规范驱动开发方法,它让开发者能够专注于业务需求和用户体验,而将实现细节交给AI编码助手处理。
核心优势:
-
🚀 开发效率:大幅减少重复编码工作
-
📋 质量保证:通过宪法机制确保代码质量
-
🤖 AI协同:人类与AI的最佳协作模式
-
🏢 企业就绪:完整的治理和合规框架
-
🔄 流程标准化:一致且可重复的开发过程
适用场景:
-
绿色地带项目从零开始开发
-
棕色地带项目现代化和重构
-
多技术栈评估和比较
-
企业级合规系统开发
-
团队协作和知识管理
技术特色:
-
规范可执行:将需求直接转化为实现代码
-
多AI支持:灵活选择最适合的AI编码助手
-
宪法治理:确保项目符合质量和合规标准
-
完整工具链:从需求到部署的完整支持
-
开源生态:活跃的社区贡献和扩展
🌟 GitHub地址:
https://github.com/github/spec-kit
🚀 快速开始:
uvx --from git+https://github.com/github/spec-kit.git specify init💬 社区支持:
通过GitHub Issues获取帮助和支持
立即体验Spec Kit,开启规范驱动开发的新纪元!
最佳实践建议:
-
🏁 初学者:从简单项目开始熟悉工作流
-
🔧 经验开发者:探索多AI代理和高级功能
-
🏢 企业用户:建立组织级的宪法和标准
-
🔍 技术决策者:使用多技术栈比较功能
-
📊 项目经理:利用规范进行进度和质量管控
Spec Kit持续演进和发展,欢迎加入社区共同塑造软件开发的未来!