Spec Kit 是 GitHub 官方开源的规范驱动开发(Spec-Driven Development, SDD) 工具包,通过“规范→计划→任务→实现”的结构化流程,将 AI 从“代码生成工具”转变为“软件开发伙伴”。以下是完整的安装与使用步骤,覆盖环境准备、安装、初始化、核心工作流及实战技巧。
一、环境准备
在安装 Spec Kit 前,需确保系统满足以下条件:
- 操作系统:支持 Linux、macOS(或 Windows 上的 WSL2);
- Python:版本 ≥ 3.11(需安装
uv包管理器,用于安装 Spec Kit CLI); - AI 编程代理:选择一款支持的 AI 工具(如 Claude Code、GitHub Copilot、Cursor、Gemini CLI 等);
- 版本控制:安装 Git(用于项目版本管理)。
二、安装 Spec Kit
Spec Kit 的安装通过 uv工具完成,分为全局安装和项目初始化两步:
1. 全局安装 Spec Kit CLI
打开终端,执行以下命令安装 specify-cli(Spec Kit 的命令行工具):
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
- •验证安装:执行
specify --version,若输出类似specify-cli @ git+https://github.com/github/spec-kit.git的版本信息,则安装成功。
2. 解决“命令未找到”问题(可选)
若安装后执行 specify提示“command not found”,需将工具路径添加至系统 PATH:
-
•macOS/Linux:找到
uv工具路径(执行uv tool list --verbose),将bin目录添加至~/.zshrc或~/.bashrc:echo 'export PATH="/opt/homebrew/Cellar/uv/0.7.6/libexec/tools/specify-cli@0.1.0/bin:$PATH"' >> ~/.zshrc source ~/.zshrc -
•Windows:通过 WSL2 安装后,路径会自动添加至
PATH,无需额外配置。
三、初始化项目
Spec Kit 支持新项目和现有项目两种初始化方式:
1. 新项目初始化
若从零开始创建项目,执行以下命令:
specify init <PROJECT_NAME> --ai <AI_AGENT>
- •示例:
specify init my-task-app --ai claude(创建名为my-task-app的项目,使用 Claude Code 作为 AI 代理); - •效果:在当前目录生成 Spec Kit 项目结构(
.specify/、specs/等目录)。
2. 现有项目初始化
若在已有项目中集成 Spec Kit,进入项目根目录执行:
specify init . --ai <AI_AGENT>
- •注意:使用
.表示在当前目录初始化,不会创建新子文件夹;建议先备份项目或使用 Git 版本控制,以防覆盖已有文件。
四、核心工作流:从“想法”到“代码”
Spec Kit 的核心流程通过5个斜杠命令驱动,覆盖“规范定义→计划生成→任务分解→代码实现→质量检查”全链路。以下以“任务管理应用”为例,演示完整流程:
1. 第一步:制定项目“宪法”(/speckit.constitution)
-
•作用:定义项目的最高准则(如技术栈、代码质量、性能要求),确保 AI 生成的所有内容符合团队规范;
-
•命令:在 VS Code 的 AI 助手里输入
/speckit.constitution; -
•实战示例(任务管理应用):
“优先使用原生 Web API,避免非必要的第三方库;所有代码必须遵循 TDD(测试驱动开发)模式,测试覆盖率不低于90%;UI 响应时间保持在100ms以内。”
-
•输出:AI 生成
.specify/memory/constitution.md,记录上述原则,后续所有步骤均需遵守。
2. 第二步:定义功能需求(/speckit.specify)
-
•作用:将模糊的用户需求转化为可测试、无歧义的功能规格,包含用户故事、功能需求、成功标准;
-
•命令:输入
/speckit.specify,描述功能需求; -
•实战示例(任务管理应用):
“构建一个任务管理应用,用户可以创建任务、分配优先级(高/中/低)、设置截止日期,并标记任务完成。任务可以按优先级和截止日期过滤。”
-
•输出:AI 在
specs/001-task-management/spec.md生成详细功能规范,包括:- •用户故事:“作为用户,我希望能创建任务,输入任务名称、优先级、截止日期,点击‘创建’后保存到列表中”;
- •功能需求(FR) :“FR-001:系统必须允许用户创建任务;FR-002:任务必须支持优先级(高/中/低)设置”;
- •成功标准(SC) :“SC-001:任务创建的响应时间应小于100ms;SC-002:任务列表必须正确显示优先级标签”。
3. 第三步:生成技术方案(/speckit.plan)
-
•作用:基于功能规范,AI 自动生成详细的技术实现计划,包括数据模型、接口契约、外部依赖、性能/安全要求;
-
•命令:输入
/speckit.plan,指定技术栈(如“使用原生 JavaScript 和 Web Components 构建 UI,数据存储在 IndexedDB 中”); -
•输出:AI 在
specs/001-task-management/目录下生成:- •plan.md:架构决策(如“使用 Web Components 实现组件化开发”)、技术选型(如“IndexedDB 存储任务数据”);
- •data-model.md:IndexedDB 中
tasks表的结构定义(如“id(主键)、name(任务名称)、priority(优先级)、dueDate(截止日期)”); - •quickstart.md:项目本地环境设置指南(如“运行
npm install安装依赖,npm run dev启动应用”)。
4. 第四步:分解任务列表(/speckit.tasks)
-
•作用:AI 将技术方案自动分解为可执行的任务单元,每个任务包含前置条件、执行步骤、依赖关系;
-
•命令:输入
/speckit.tasks; -
•输出:AI 生成
specs/001-task-management/tasks.md,包含分阶段任务:- •阶段1:项目设置:“创建项目目录结构、安装依赖(如
web-components库)”; - •阶段2:数据库初始化:“创建 IndexedDB 数据库、定义
tasks表结构”; - •阶段3:核心 CRUD 功能:“实现任务创建接口、任务列表展示组件、任务过滤功能”。
- •阶段1:项目设置:“创建项目目录结构、安装依赖(如
5. 第五步:执行任务生成代码(/speckit.implement)
-
•作用:AI 逐一执行任务列表中的任务,自动编写代码、创建文件、运行测试,并实时报告进度;
-
•命令:输入
/speckit.implement; -
•实战体验:
- •AI 自动创建
src/components/task-list.js(任务列表组件)、src/db/database.js(IndexedDB 封装)等文件; - •每完成一个任务,在
tasks.md中打勾(如“任务1:项目设置完成”); - •开发者只需审查代码是否符合规范,无需手动编写重复代码。
- •AI 自动创建
五、质量保障:避免“代码与需求脱节”
Spec Kit 提供3个辅助命令,确保代码质量与需求一致性:
1. /speckit.clarify:消除需求模糊点
- •作用:AI 主动识别规范中的模糊点(如“任务过滤的逻辑”“优先级的显示方式”),通过选择题让用户澄清;
- •示例:若规范中“任务过滤”描述模糊,AI 会提问:“任务过滤是否支持多条件组合(如‘高优先级+截止日期本周’)?”用户选择后,AI 将答案更新到规范中。
2. /speckit.analyze:检查一致性与完整性
- •作用:分析规范、计划、任务之间的一致性(如“技术方案是否覆盖了所有功能需求”“任务是否遗漏了依赖关系”),生成一致性报告;
- •示例:若计划中的“数据模型”未包含“任务创建时间”字段,而规范中“成功标准”要求“显示任务创建时间”,AI 会提示“需补充‘created_at’字段到数据模型”。
3. /speckit.checklist:生成需求满足检查清单
- •作用:基于规范生成需求满足检查清单(如“是否实现了任务创建功能?”“是否验证了任务优先级?”),辅助人工审查;
- •示例:清单包含“FR-001:任务创建功能是否实现?”“SC-001:任务创建响应时间是否小于100ms?”等项目,开发者只需逐一勾选确认。
六、实战技巧:提升开发效率
- 1.优先使用“宪章”约束 AI:在
/speckit.constitution中明确“禁止使用未授权的第三方库”“必须支持本地存储”等原则,避免 AI “自由发挥”; - 2.迭代优化规范:若生成的代码不符合需求,无需修改代码,只需更新规范(如“任务过滤需支持多条件组合”),然后重新运行
/speckit.plan和/speckit.implement; - 3.开启“yolo 模式” :在
/speckit.implement时选择“yolo 模式”(全程托管),让 AI 自动执行所有任务,开发者只需在最后审查代码,进入“心流”状态; - 4.利用“压缩视图” :对于老项目,先让 AI 文档化现有代码库(如“分析
src/目录结构、识别核心模块”),生成“压缩视图”(.specify/specs/000-existing-system/research.md),后续开发均参考该视图,避免“代码与需求脱节”。
七、常见问题解决
- 1.安装后“specify”命令未找到:参考“二、安装 Spec Kit”中的“解决‘命令未找到’问题”步骤,将工具路径添加至
PATH; - 2.AI 生成的代码不符合规范:检查规范是否明确(如“是否遗漏了测试覆盖率要求”),若规范模糊,使用
/speckit.clarify澄清; - 3.需求变更后如何更新:修改规范(如“添加任务排序功能”),然后重新运行
/speckit.plan(生成新的技术方案)、/speckit.tasks(分解新任务)、/speckit.implement(生成新代码),实现“需求→代码”的同步演化。
总结
Spec Kit 的核心价值在于将“需求”转化为“可执行的规范” ,让 AI 从“代码生成工具”转变为“软件开发伙伴”。通过“规范→计划→任务→实现”的流程,开发者无需再纠结“如何写代码”,只需聚焦“做什么”(业务目标),AI 会自动完成“如何做”(技术实现)。无论是新项目还是老项目,Spec Kit 都能大幅提升开发效率,降低“代码与需求脱节”的风险。