什么是 SpecKit
SpecKit 是由 GitHub 开源的规范驱动开发(Spec-Driven Development, SDD)工具包,它通过将”规范变为可执行”的方式,彻底改变了传统的 软件开发流程。
核心理念
传统开发流程:需求 → 编码 → 测试 → 文档
SpecKit 开发流程:规范 → AI 执行 → 自动实现 → 持续演进
主要特点
规范即源码:规范不再是一次性的设计文档,而是项目的核心资产
AI 原生:深度集成 14+ 种 AI 编码助手(Claude Code, GitHub Copilot, Cursor 等)
结构化开发:通过明确的阶段和命令,确保开发过程可控、可追溯
核心命令 /speckit.constitution 定义项目的不可协商规则和开发指南。 用途:编码规范(代码风格、命名约定)、架构原则(DRY、SOLID 等)、安全要求、性能标准、测试策略
/speckit.specify 描述要构建的功能,关注”是什么”和”为什么”。 用途:明确用户故事、功能需求、非功能需求、边界条件、验收标准
/speckit.clarify 通过系统化提问消除规范中的模糊性。 工作方式:AI 自动识别不明确的需求提出具体的澄清问题记录答案到 Clarifications 部分
/speckit.plan 制定技术实现方案,选择技术栈和架构。 字典与百科全书 用途:明确技术栈选型、系统架构设计、数据模型设计、API 设计、第三方集成方案
/speckit.tasks 将计划分解为可执行的独立任务。 用途:明确 原子性:每个任务独立完成一个功能点 、可测试:每个任务都有明确的验证标准、有序性:任务按依赖关系排序、并行标记:使用 [P] 标记可并行执行的任务
/speckit.implement 执行所有任务,构建功能。 执行策略:按照任务顺序逐个实现、在每个检查点验证测试通过、遵循 TDD(测试驱动开发)原则 工作流程:读取 tasks.md、按顺序执行每个任务、运行相关测试验证、记录实现进度、处理依赖关系
/speckit.analyze 验证规范、计划和任务之间的一致性。 技术参考信息 检查项:规范中的需求是否都有对应任务、任务是否符合技术方案、是否存在冲突或遗漏
安装以及初始化
macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh Windows: pip install uv uv tool install specify-cli --from git+https://github.com/github/spec-kit.git specify --version
# 初始化项目 specify init my-awesome-app #首次会让你选择AI助手,命令终端 #或者指定AI specify init my-awesome-app --ai claude #指定AI和终端((Windows/powershell) specify init my-awesome-app --ai copilot --script ps
#结果 ############################################################### cd my-awesome-app tree /F ./ my-awesome-app/ ├─.claude │ └─commands │ speckit.analyze.md │ speckit.checklist.md │ speckit.clarify.md │ speckit.constitution.md │ speckit.implement.md │ speckit.plan.md │ speckit.specify.md │ speckit.tasks.md │ speckit.taskstoissues.md │ └─.specify │ init-options.json │ ├─memory │ constitution.md │ ├─scripts │ └─powershell │ check-prerequisites.ps1 │ common.ps1 │ create-new-feature.ps1 │ setup-plan.ps1 │ update-agent-context.ps1 │ └─templates agent-file-template.md checklist-template.md constitution-template.md plan-template.md spec-template.md tasks-template.md
浙公网安备 33010602011771号