快速入门指南

本指南将帮助你使用 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,尽量减少库的数量。尽可能使用原生 HTMLCSS 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 上探索源代码