章节合并页 · 第 01 - 03 章

概念入门、环境准备与项目初始化

本页合并了教程的前三章,适合第一次接触 spec-kit 的读者连续阅读。 建议按照“先理解概念 → 再准备环境 → 最后初始化项目”的顺序学习。

包含章节:01 / 02 / 03 适合人群:新手 / 产品 / 开发 建议阅读顺序:概念 → 安装 → 初始化
Chapter 01

一、什么是 spec-kit?

这一章解决“它是什么、为什么要用、整个流程怎么理解”三个基础问题。

核心理念

先写规格,再生成代码。规格不是附属文档,而是代码的源头。

1.1 spec-kit 的定位

spec-kit 是 GitHub 官方开源的规范驱动开发(Spec-Driven Development, SDD)工具包。 它的作用不是只帮你“写文档”,而是把原本容易散落在会议、聊天和脑海中的需求,整理成 AI 和团队都能持续读取的结构化规格。

1.2 五个核心阶段

01Constitution定宪法
02Specify写规格
03Plan做计划
04Tasks拆任务
05Implement写代码

这五个阶段把模糊需求逐步转化为可执行代码。它不是让 AI 一次性“自由发挥”,而是把需求、方案、任务、实现拆成连续的可审阅过程。

1.3 三个可选辅助阶段

Clarify(澄清模糊点) Analyze(一致性检查) Checklist(质量核对)

它们不是主线中的固定步骤,但在真实项目里很实用:一个负责补齐模糊信息,一个负责做只读检查,一个负责最终逐条核对。

1.4 为什么它适合团队协作

  • 每个阶段都会产出结构化 Markdown 文件,不会随着对话消失。
  • AI 在后续阶段可以反复读取前面阶段的输出,而不是只依赖上下文记忆。
  • 产品、开发、测试可以围绕同一份规格协作,减少口头约定丢失的问题。
Chapter 02

二、环境准备与安装

这一章解决“装什么、怎么装、如何验证安装成功”的问题。

2.1 前置依赖

依赖 最低版本 说明
Python 3.11+ spec-kit 运行所需语言环境
uv 最新版 用于安装和运行 spec-kit CLI
Git 2.x+ 用于代码仓库和分支管理
Claude Code 最新版 用于在 IDE / 终端中执行斜杠命令

注意:uv 是 Rust 编写的超快 Python 包管理器,也是安装 `specify` 的推荐方式。

2.2 安装方式

推荐方式:持久安装

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.4.3

一次性使用

uvx --from git+https://github.com/github/spec-kit.git@v0.4.3 specify init my-project

2.3 离线 / 企业内网安装思路

# 1. 在联网机器上操作
git clone https://github.com/github/spec-kit.git
cd spec-kit
python -m build
pip download -d dist/ dist/specify_cli-*.whl

# 2. 将 dist/ 文件夹拷贝到目标机器
# 3. 在目标机器上安装
pip install --no-index --find-links=./dist specify-cli

2.4 验证安装

specify version
specify check
关键提示

版本命令是 specify version,不是 specify --version

Chapter 03

三、项目初始化

这一章解决“初始化命令怎么用、会生成什么、这些目录分别做什么”的问题。

3.1 初始化命令

specify init my-project --ai claude

参数 --ai claude 表示生成 Claude Code 专用的命令文件。 如果团队同时使用多种 AI 工具,也可以多次初始化不同 agent,彼此不会冲突。

specify init my-project --ai claude
specify init my-project --ai copilot
specify init my-project --ai cursor-agent

3.2 初始化后的目录结构

my-project/
├── .specify/
│   ├── memory/
│   │   └── constitution.md
│   ├── templates/
│   ├── presets/
│   ├── extensions/
│   └── preset-catalogs.yml
├── .claude/
│   └── commands/
│       ├── speckit.constitution.md
│       ├── speckit.specify.md
│       ├── speckit.plan.md
│       ├── speckit.tasks.md
│       ├── speckit.implement.md
│       ├── speckit.clarify.md
│       ├── speckit.analyze.md
│       ├── speckit.checklist.md
│       └── speckit.taskstoissues.md
└── specs/   # 首次运行 /speckit.specify 时才创建
项目初始化后的目录结构

图 6 · 项目初始化后的目录结构:蓝色为初始化创建,绿色为首次 specify 时创建

3.3 需要特别记住的几个点

.specify/

这是 spec-kit 的核心配置目录,模板、扩展、预设和项目宪法都在这里。

.claude/commands/

这里放的是 Claude Code 可直接使用的斜杠命令文件。

specs/

不会在初始化时立即出现,而是在第一次写规格时自动创建。

关键理解

初始化不会修改你原有代码,只会新增与规范驱动开发相关的目录和配置。 这意味着 spec-kit 既适合新项目,也适合存量项目逐步引入。