SpecKit 的概念讲解和实战指南
实战: 使用 SpecKit 创建一个简单的to-do list的桌面端应用
在开始之前我们了解一下需求:创建一个简单的to-do list的桌面端应用, 用户可以添加、编辑、删除任务,并可以标记任务为完成状态。
1. 安装 Specify CLI
前置条件:Python 3.11+ uv 包管理工具 git 工具
方案一: 全局安装,随处使用(推荐):
# 安装
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
# 添加全局变量
uv tool update-shell
# 检查
specify --version方案二: 一次性使用,初始化项目时直接远端运行
uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME>2. 初始化项目
在你的目录中,使用 specify init <PROJECT_NAME> 命令初始化项目, 例如:
specify init todo_app选择你使用的 AI agent 工具, 和 shell 工具。

进入项目文件夹并运行你的 AI 代理,如果你看到 /speckit.constitution 、 /speckit.specify 、 /speckit.plan 、 /speckit.tasks 和 /speckit.implement 命令可用,就表示配置正确。
3. 建立宪法(项目原则)
使用 /speckit.constitution 命令创建你的项目治理原则和开发指南,这些将指导后续所有开发工作。
建议直接使用官方推荐的 prompt 初始化。
/speckit.constitution Create principles focused on code quality, testing standards, user experience consistency, and performance requirements(制定以代码质量、测试标准、用户体验一致性和性能要求为核心的原则)这一步创建或更新 .specify/memory/constitution.md 文件,其中包含您项目的核心指导原则,AI 代理将在规范、规划和实施阶段参考这些原则。
4. 创建项目规范
在确立了项目原则后,你现在可以创建功能规范。使用 /speckit.specify 命令,然后提供你想要开发项目的具体需求。 尽可能明确地说明你想要构建什么以及为什么。此时不要关注技术栈。
让我们根据提出一个 创建to-do list的桌面端应用 的规范需求:
/speckit.specify 我需要创建一个简单的to-do list的桌面端应用, 用户可以添加、编辑、删除任务,并可以标记任务为完成状态。完成这一步后,你应该创建了一个新分支(例如 001-todo-list ),同时在 specs/001-create-taskify 目录下也生成了一个新的规范。
生成的规范应包含一组用户故事和功能需求,这些内容在模板中已定义。
在这个阶段,你的项目文件夹内容应该类似于以下内容:

5. 功能规范澄清(规划前必须完成)
基线规范创建完成后,你可以继续澄清在初次尝试中未能正确捕捉到的任何需求。你应该在创建技术计划之前运行结构化澄清工作流,以减少下游的返工。
使用 /speckit.clarify (结构化)—— 基于覆盖率的顺序提问,将答案记录在澄清部分。
/speckit.clarify (结构化)AI agent 会对任务的描述长度, 排序方式等进行交互式提问, 按照需求输入或选择。

对于所有的提问结果会汇总到 spec.md 文件中, 并新增 clarifications.md文件存放问题澄清的清单。

6. 生成计划
现在可以具体说明技术栈和其他技术要求。使用 /speckit.plan 命令 说明我们的技术需求。
/speckit.plan 我需要使用 react + Tauri 来搭建我的桌面应用,对于所有的数据使用 json 的形式存放在本地。这一步的输出将包括一些实现细节文档,包含 : lan.md - 实施计划(技术上下文、宪法检查、项目结构) research.md - 研究和技术决策 data-model.md - 数据模型定义 contracts/task-api.md - API 合约 quickstart.md - 快速开始指南

检查 research.md 文档以确保使用正确的技术栈。如果任何组件突出,你可以让 Agent进行完善,甚至可以让它检查你想要使用的平台/框架的本地安装版本。
