快速入门指南

本指南将帮助你使用 Spec Kit 开始 Spec-Driven Development。

新增:所有自动化脚本现均提供 Bash(.sh)与 PowerShell(.ps1)两种版本。specify CLI 会根据操作系统自动选择,除非传入 --script sh|ps。

四步流程

1. 安装 Specify

根据你使用的编码代理初始化项目:

  1. uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME>

可显式选择脚本类型(可选):

  1. uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME> --script ps # 强制使用 PowerShell
  2. uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME> --script sh # 强制使用 POSIX shell

2. 创建规范

使用 /specify 命令描述你要构建的内容。关注做什么和为什么,而非技术栈。

  1. /specify 构建一个应用,帮助我将照片整理到不同的相册中。相册按日期分组,可在主页通过拖放重新组织。相册不包含其他嵌套相册。每个相册内,照片以平铺界面预览。

3. 创建技术实现计划

使用 /plan 命令提供你的技术栈与架构选择。

  1. /plan 应用使用 Vite,尽量减少库的数量。尽可能使用原生 HTML、CSS 和 JavaScript。图片不上传,元数据存储在本地 SQLite 数据库中。

4. 拆分与实现

使用 /tasks 创建可执行任务列表,然后请代理实现功能。

完整示例:构建 Taskify

以下是构建团队生产力平台的完整示例:

步骤 1:用 /specify 定义需求

  1. 开发 Taskify,一个团队生产力平台。它应允许用户创建项目、添加团队成员、
  2. 分配任务、评论并以看板风格在面板间移动任务。在此功能的初始阶段,
  3. 我们称之为“创建 Taskify”,支持多用户但用户需预先声明。
  4. 我希望有五个用户分为两类,一名产品经理和四名工程师。创建三个不同的示例项目。
  5. 使用标准看板列表示任务状态,如“待办”、“进行中”、“审核中”和“已完成”。
  6. 此应用无需登录,因为这仅是确保基本功能可用的最初测试。
  7. 在 UI 中的每个任务卡片上,你应能在看板工作流的不同列间更改任务状态。
  8. 你应能在特定卡片上留下无限数量的评论。你应能从该任务卡片中
  9. 分配一个有效用户。首次启动 Taskify 时,会给出五个用户供选择。
  10. 无需密码。点击用户后进入主视图,显示项目列表。点击项目后
  11. 打开该项目的看板。你将看到列。你可以拖放卡片在不同列间移动。
  12. 你会看到分配给你(当前登录用户)的卡片以不同颜色显示,以便快速识别。
  13. 你可以编辑自己发布的评论,但不能编辑他人的评论。
  14. 你可以删除自己发布的评论,但不能删除他人的评论。

步骤 2:细化规范

创建初始规范后,澄清任何缺失需求:

  1. 对于你创建的每个示例项目,应有可变数量的任务,每个项目 5 到 15 个任务,
  2. 随机分布到不同的完成状态。确保每个完成阶段至少有一个任务。

同时验证规范清单:

  1. 阅读审查与验收清单,如果功能规范符合标准,则勾选每一项。不符合则留空。

步骤 3:用 /plan 生成技术计划

明确你的技术栈与技术要求:

  1. 我们将使用 .NET Aspire,数据库用 Postgres。前端使用
  2. Blazor 服务器,支持拖放任务板与实时更新。创建 REST API,包括项目 API、
  3. 任务 API 与通知 API。

步骤 4:验证与实现

让 AI 代理审核实现计划:

  1. 现在我希望你去审核实现计划与实现细节文件。
  2. 通读时,判断是否存在你需要执行的一系列显而易见任务。
  3. 因为我不确定是否有足够信息。例如,当我查看核心实现时,
  4. 引用实现细节中的适当位置会很有用,以便在执行核心实现或细化中的每一步时能找到信息。

最后,实现解决方案:

  1. implement specs/002-create-taskify/plan.md

关键原则

  • 明确你要构建的内容及原因
  • 不要关注技术栈于规范阶段
  • 实现前迭代与细化规范
  • 编码开始前验证计划
  • 让 AI 代理处理实现细节

后续步骤

  • 阅读完整方法论获取深入指导
  • 查看仓库中的更多示例
  • 在 GitHub 上探索源代码