https://zhuanlan.zhihu.com/p/1959040296479339345
https://www.cnblogs.com/treasury-manager/p/19130337

spec-kit是什么?

Spec-Kit 是一套微软发布的“规格驱动开发(Spec-Driven Development, SDD)”工具包,方法论 + 脚手架 + CLI + 模板:把“规格→计划→任务→实现”的流程标准化,并把这些步骤做成可执行的斜杠命令,让 Claude Code / Copilot / Gemini CLI 等代理有章可循,而不是即兴“凭感觉写代码”。核心组件是 Specify CLI(命令:specify),用于初始化模板、生成命令、校验环境等。目标是把“先写清楚规格/意图,再规划,再拆任务,最后由 AI 代理实现”的流程产品化,替代一把梭的大Prompt“vibe coding”。

Spec-Kit有什么用呢:

  • 让“写什么/为什么”(Spec)先于“怎么做”(Plan/Tasks/Impl),减少返工;
  • 给代理提供统一的“宪法”和护栏(安全、质量、SLO、禁行区等);
  • 产出一套可追溯的工件与目录结构(如 .specify/、任务清单、计划文档等)。

核心原则

  • 通用语言的规格:规格成为主要工件。代码成为其在特定语言和框架中的表达。维护软件意味着不断发展的规范。
  • 可执行规范:规范必须足够精确、完整且明确,以生成工作系统。这消除了意图和实现之间的差距。
  • 持续细化:一致性验证是持续进行的,而不是一次性的。人工智能将规范的歧义、矛盾和差距分析为一个持续的过程。
  • 研究驱动的背景:研究代理在整个规范过程中收集关键背景,调查技术选项、性能影响和组织限制。
  • 双向反馈:生产现实为规范演变提供信息。指标、事件和作学习成为规范细化的输入。
  • 分支探索:从同一规范生成多种实现方法,以探索不同的优化目标——性能、可维护性、用户体验、成本。

运行 Spec Kit 后,您的 AI 编码代理将可以访问以下 Spec Kit 结构化开发命令:specify init

命令 描述 用法
/constitution 创建项目管理原则和开发指南 先建立项目标准(或称宪法)
/specify 定义要构建的内容(具体要求和用户情景) 关注什么和为什么,而不是技术堆栈
/clarify 通过结构化提问澄清未指定区域 除非显式跳过,否则必须在/plan之前运行
/plan 使用所选技术堆栈创建技术实施计划 指定体系结构、框架和技术决策
/tasks 生成可操作的任务列表以供实施 将计划分解为可执行的步骤
/analyze 跨工件一致性和覆盖率分析 /tasks运行之后,在/implement之前
/implement 执行所有任务,按计划构建功能 根据规范生成工作代码

Spec-kit安装

以 Wrap + PowerShell 为例。

安装uv

1
2
3
4
5
6
7
# 安装uv,需要科学上网
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

uv --version

# 如果提示找不到命令
uv tool update-shell

安装specify cli

1
2
3
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
specify --help
specify check

初始化一个带 Spec-Kit 的项目骨架

在你打算放项目的目录里运行:

1
specify init my-feature --ai claude --script ps

my-feature是feature名字。如果你是新开发,直接在根目录下。直接用

1
specify init --here --force --ai claude --script ps

注意,spec-kit是基于git管理项目的,在运行以上命令之前,需要先git push。

初始化后,会生成 .specify/、templates/、specs/、scripts/ 等目录与模版,且模板会自动注入一组 /speckit.* 的斜杠命令供代理使用。可用 specify check 自检依赖。

在 Claude Code 里跑完整的 Spec-Driven 工作流

进入项目并启动 Claude Code:

1
2
cd my-feature
claude

建立项目原则(生成/更新 .specify/memory/constitution.md)

1
/speckit.constitution

撰写功能规格(不要先纠结技术栈,专注要做什么 & 为什么)

1
/speckit.specify

结构化澄清需求

1
/speckit.clarify

产出技术实现方案(这一步再指定技术栈、架构)

1
/speckit.plan

从实现方案拆解成任务列表

1
/speckit.tasks

检查一致性

对当前特性的所有工件做一次一致性/覆盖率体检——检查 constitution.md、spec.md、plan.md、tasks.md 之间是否互相矛盾、是否遗漏关键验收项/边界条件,是否存在范围蔓延、不可实现或未落地到任务的条目等。

1
/speckit.analyze

最后,开始一键执行实现(会按依赖顺序执行任务、调用本地 CLI、TDD 流程等)

1
/speckit.implement

工作流:规范→规划→任务
SDD 方法通过三个强大的命令显着增强,这些命令可自动执行规范→规划→任务工作流:

命令/speckit.specify

此命令将简单的功能描述(用户提示)转换为具有自动存储库管理的完整结构化规范:
自动特征编号:扫描现有规格以确定下一个特征编号(例如,001、002、003)
分支创建:根据您的描述生成语义分支名称并自动创建它
基于模板的生成:根据您的要求复制和自定义功能规范模板
目录结构:为所有相关文档创建正确的结构specs/[branch-name]/
命令/speckit.plan
一旦存在功能规范,此命令将创建一个全面的实施计划:

规范分析:阅读并理解功能要求、用户故事和验收标准
宪法合规性:确保符合项目宪法和建筑原则
技术翻译:将业务需求转换为技术架构和实现细节
详细文档:生成数据模型、API 合约和测试场景的支持文档
快速入门验证:生成捕获关键验证方案的快速入门指南
命令/speckit.tasks
创建计划后,此命令将分析计划和相关设计文档以生成可执行任务列表:

输入:读取(必需)和(如果存在)、、 和plan.mddata-model.mdcontracts/research.md
任务派生:将合约、实体和场景转换为特定任务
并行化:标记独立任务并概述安全并行组[P]
输出:写入功能目录,可供任务代理执行tasks.md
总结:核心用途集中在三方面:

项目初始化:快速生成带规范目录(如 .specify/ 、 specs/ 、 scripts/ )和模板的项目骨架,无需手动搭建基础结构。
流程标准化:Specify(规格化) → Plan(规划) → Tasks(任务分解) → Implement(实现)
提供 /speckit.constitution (定项目原则)、 /speckit.specify (写功能规格)、 /speckit.plan (出技术方案)等一系列斜杠命令,覆盖从需求澄清到任务拆解的全流程。
一致性保障:通过 /speckit.analyze 等命令检查需求文档、技术方案、任务列表之间的矛盾或遗漏,避免开发偏离目标,同时支持并行任务识别,提升开发效率。

SpecKit组成与目录结构
仓库主要包含:src/specify_cli(CLI)、templates/(规格/计划/任务模板)、scripts/(自动化脚本)、memory/(团队“宪法/准则”文档)、docs/ 等。初始化后项目下还会生成 specs// 的规范与计划树。

典型初始化后的目录示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
your-project/
├── .specify/ # Spec Kit 配置目录(v0.0.34+)
│ ├── memory/ # 项目知识库
│ │ ├── constitution.md # 项目宪法(九大架构原则)
│ │ └── constitution_update_checklist.md
│ ├── scripts/ # 自动化脚本
│ │ └── powershell/ # PowerShell脚本版本
│ │ ├── create-new-feature.ps1
│ │ ├── setup-plan.ps1
│ │ ├── check-task-prerequisites.ps1
│ │ ├── common.ps1
│ │ ├── get-feature-paths.ps1
│ │ └── update-agent-context.ps1
│ └── templates/ # 模板文件
│ ├── spec-template.md # 规范模板
│ ├── plan-template.md # 计划模板
│ ├── tasks-template.md # 任务模板
│ └── agent-file-template.md # AI助手配置模板
├── specs/ # 功能规范目录(用户创建的规范)
│ └── 001-feature-name/ # 自动编号的功能目录
│ ├── spec.md # 功能规范
│ ├── plan.md # 实现计划
│ ├── research.md # 技术研究
│ ├── data-model.md # 数据模型
│ ├── contracts/ # API契约
│ ├── quickstart.md # 快速验证指南
│ └── tasks.md # 任务列表
└── CLAUDE.md # AI助手配置(自动生成)

SpecKit典型适用场景

1
2
3
4
5
6
新功能开发:完整的四阶段流程,适合复杂功能开发
Bug修复:简化流程,重点关注测试和验证
代码重构:先明确规格,再进行重构
API设计:详细的规格定义和测试用例
团队协作:规格文档作为团队沟通的统一语言
项目交接:完整的规格和文档便于项目移交