docs: 添加SpecKit学习指南文档
添加SpecKit规范驱动开发工具包的详细学习指南文档,包含核心概念、四阶段工作流、命令参考、最佳实践和常见问题解答等内容。文档基于SpecKit v0.0.79版本整理,为开发者提供AI辅助编程的规范驱动开发指导。
Showing
1 changed file
with
439 additions
and
0 deletions
src/docs/SpecKit 学习指南.md
0 → 100644
| 1 | +# Spec Kit 学习指南 | ||
| 2 | +基于 GitHub Spec Kit v0.0.79 - 面向 AI 的规范驱动开发工具包 | ||
| 3 | + | ||
| 4 | +## 📖 目录 | ||
| 5 | +1. 快速概览 | ||
| 6 | +2. 核心理念 | ||
| 7 | +3. 四阶段工作流详解 | ||
| 8 | +4. 命令参考手册 | ||
| 9 | +5. 实战案例演练 | ||
| 10 | +6. 最佳实践指南 | ||
| 11 | +7. 常见问题解答 | ||
| 12 | + | ||
| 13 | +## 🚀 快速概览 | ||
| 14 | +### 什么是 Spec Kit? | ||
| 15 | +Spec Kit 是 GitHub 于 2025 年 9 月发布的开源工具包,专门为 AI 辅助编程设计的 **规范驱动开发(Spec-Driven Development, SDD)框架**。 | ||
| 16 | + | ||
| 17 | +### 解决的核心问题 | ||
| 18 | +| ❌ 传统 AI 编程问题 | ✅ Spec Kit 解决方案 | | ||
| 19 | +|--------------------|---------------------| | ||
| 20 | +| 直接让 AI 写代码 → 不知道 AI 会生成什么 | 📋 先定义规范再写代码 → AI 知道要构建什么 | | ||
| 21 | +| 需求模糊 → AI 基于模式补全而非真正理解意图 | 🎯 分阶段验证 → 每个阶段都有明确的检查点 | | ||
| 22 | +| 缺少检查点 → 发现问题时已经写了大量代码 | ⚙️ 规范即文档 → 规范就是活文档,与代码同步演进 | | ||
| 23 | +| 文档滞后 → 代码写完才补文档 | 🏗️ 架构前置 → 技术决策在编码前确定 | | ||
| 24 | + | ||
| 25 | +## 🎯 核心理念 | ||
| 26 | +### 三大核心原则 | ||
| 27 | +1. 🔑 规范是唯一真相来源 | ||
| 28 | + - 规范定义"是什么"和"为什么" | ||
| 29 | + - 计划定义"怎么做" | ||
| 30 | + - 任务定义"具体做什么" | ||
| 31 | +2. ✅ 明确检查点 | ||
| 32 | + - 每个阶段完成后必须人工审核 | ||
| 33 | + - 发现问题在当前阶段修正,而非继续前进 | ||
| 34 | + - 避免"垃圾输入,垃圾输出" | ||
| 35 | +3. 🤖 AI 作为字面化搭档 | ||
| 36 | + - 不要把 AI 当搜索引擎 | ||
| 37 | + - 给 AI 清晰的指令和上下文 | ||
| 38 | + - AI 擅长模式匹配,但不擅长读心术 | ||
| 39 | + | ||
| 40 | +## 🔄 四阶段工作流详解 | ||
| 41 | +Constitution(项目宪法)→ Specify(需求规范)→ Plan(技术方案)→ Tasks(任务分解)→ Implement(代码实现) | ||
| 42 | + | ||
| 43 | +### 🏛️ 阶段 0: Constitution(项目宪法) | ||
| 44 | +- 📍 目的:建立项目的不可协商原则 | ||
| 45 | +- ⚡ 命令:`/speckit.constitution` | ||
| 46 | +- 📁 输出:`.specify/memory/constitution.md` | ||
| 47 | +- 📝 包含内容: | ||
| 48 | + - 核心开发原则(如:测试优先、模块化架构) | ||
| 49 | + - 技术栈约束(必须使用的框架/工具) | ||
| 50 | + - 质量门禁(部署前必须通过的检查) | ||
| 51 | + - 治理规则(如何修改宪法、代码审查标准) | ||
| 52 | +- ⏰ 使用时机: | ||
| 53 | + - ✅ 项目初始化时(只需要做一次) | ||
| 54 | + - ✅ 项目架构重大变更时 | ||
| 55 | + - ❌ 每次开发新功能时(不需要重复) | ||
| 56 | + | ||
| 57 | +### 📋 阶段 1: Specify(需求规范) | ||
| 58 | +- 📍 目的:定义功能的"是什么"和"为什么",不涉及"怎么做" | ||
| 59 | +- ⚡ 命令:`/speckit.specify` | ||
| 60 | +- 📁 输出:`.specify/memory/spec.md` | ||
| 61 | +- 🎯 关注点: | ||
| 62 | + - 用户故事(谁、要做什么、为什么) | ||
| 63 | + - 验收标准(如何验证功能完成) | ||
| 64 | + - 用户旅程(用户如何与功能交互) | ||
| 65 | + - 成功指标(如何衡量功能成功) | ||
| 66 | +- 💡 示例输入: | ||
| 67 | +``` | ||
| 68 | +我想添加一个用户积分系统: | ||
| 69 | +- 用户发布内容可以获得积分 | ||
| 70 | +- 积分可以兑换特殊权益(如头像框、徽章) | ||
| 71 | +- 管理员可以手动调整用户积分 | ||
| 72 | +- 需要有积分历史记录 | ||
| 73 | +``` | ||
| 74 | +- 🚫 规范中不包含(这些留给 Plan 阶段): | ||
| 75 | + - ❌ 使用 PostgreSQL 还是 MySQL | ||
| 76 | + - ❌ API 端点设计 | ||
| 77 | + - ❌ 数据库表结构 | ||
| 78 | +- ✅ 最佳实践: | ||
| 79 | + - 第一次输入尽可能详细(减少后续迭代) | ||
| 80 | + - 描述边界情况(如:积分不能为负) | ||
| 81 | + - 说明不做什么(明确范围) | ||
| 82 | + | ||
| 83 | +### 🛠️ 阶段 2: Plan(技术方案) | ||
| 84 | +- 📍 目的:定义"怎么做"——技术架构和实现策略 | ||
| 85 | +- ⚡ 命令:`/speckit.plan` | ||
| 86 | +- 📁 输出:`.specify/memory/plan.md` | ||
| 87 | +- 🎯 关注点: | ||
| 88 | + - 技术栈选择(框架、库、数据库) | ||
| 89 | + - 架构决策(模块划分、API 设计) | ||
| 90 | + - 数据流(数据如何在系统中流动) | ||
| 91 | + - 外部依赖(第三方服务、API) | ||
| 92 | + - 安全考量(认证、授权、数据保护) | ||
| 93 | +- 💡 示例输入: | ||
| 94 | +``` | ||
| 95 | +技术约束: | ||
| 96 | +- 必须使用 Cloudflare D1 数据库(项目标准) | ||
| 97 | +- 遵循项目的 Module-First 架构 | ||
| 98 | +- 使用 Drizzle ORM + Zod 验证 | ||
| 99 | +- API 遵循 REST 和 RPC 双模式 | ||
| 100 | +``` | ||
| 101 | +- 📝 输出示例: | ||
| 102 | +```markdown | ||
| 103 | +## 模块设计 | ||
| 104 | +- 创建 `credits` 模块 | ||
| 105 | + - `credits.table.ts` - 积分表和积分历史表 | ||
| 106 | + - `credits.handlers.ts` - 积分逻辑(增加/扣减/兑换) | ||
| 107 | + - `credits.routes.ts` - REST API | ||
| 108 | + - `credits.rpc.ts` - RPC API | ||
| 109 | + | ||
| 110 | +## 数据库设计 | ||
| 111 | +- `credits` 表:用户 ID、当前积分、更新时间 | ||
| 112 | +- `credit_transactions` 表:交易历史、类型、金额、原因 | ||
| 113 | + | ||
| 114 | +## API 端点 | ||
| 115 | +- GET /credits/:userId - 获取用户积分 | ||
| 116 | +- POST /credits/earn - 赚取积分 | ||
| 117 | +- POST /credits/redeem - 兑换积分 | ||
| 118 | +- GET /credits/history - 积分历史 | ||
| 119 | +``` | ||
| 120 | +- ✅ 最佳实践: | ||
| 121 | + - 引用项目 Constitution 中的原则 | ||
| 122 | + - 说明为什么选择某技术(而非仅列举) | ||
| 123 | + - 识别潜在风险和缓解措施 | ||
| 124 | + | ||
| 125 | +### 📝 阶段 3: Tasks(任务分解) | ||
| 126 | +- 📍 目的:将 Plan 拆解为可执行的原子任务 | ||
| 127 | +- ⚡ 命令:`/speckit.tasks` | ||
| 128 | +- 📁 输出:`.specify/memory/tasks.md` | ||
| 129 | +- 🎯 关注点: | ||
| 130 | + - 任务粒度(每个任务 < 200 行代码) | ||
| 131 | + - 依赖关系(任务执行顺序) | ||
| 132 | + - 并行机会(哪些任务可以同时做) | ||
| 133 | + - 测试要求(每个任务的测试覆盖) | ||
| 134 | +- 📝 输出示例: | ||
| 135 | +```markdown | ||
| 136 | +## 任务列表 | ||
| 137 | + | ||
| 138 | +### 数据库层 (可并行) | ||
| 139 | +- [ ] Task 1: 创建 credits 表结构 | ||
| 140 | + - 文件: `src/server/modules/credits/credits.table.ts` | ||
| 141 | + - 测试: 表结构验证 | ||
| 142 | +- [ ] Task 2: 创建 credit_transactions 表结构 | ||
| 143 | + - 文件: `src/server/modules/credits/credits.table.ts` | ||
| 144 | + - 测试: 表结构验证 | ||
| 145 | + | ||
| 146 | +### 业务逻辑层 (依赖数据库层) | ||
| 147 | +- [ ] Task 3: 实现积分增加逻辑 | ||
| 148 | + - 文件: `src/server/modules/credits/credits.handlers.ts` | ||
| 149 | + - 依赖: Task 1, 2 | ||
| 150 | + - 测试: 单元测试 + 集成测试 | ||
| 151 | +- [ ] Task 4: 实现积分兑换逻辑 | ||
| 152 | + - 文件: `src/server/modules/credits/credits.handlers.ts` | ||
| 153 | + - 依赖: Task 3 | ||
| 154 | + - 测试: 边界情况测试(余额不足) | ||
| 155 | + | ||
| 156 | +### API 层 (依赖业务逻辑层) | ||
| 157 | +- [ ] Task 5: 创建 REST API 路由 | ||
| 158 | + - 文件: `src/server/modules/credits/credits.routes.ts` | ||
| 159 | + - 依赖: Task 3, 4 | ||
| 160 | + - 测试: API 集成测试 | ||
| 161 | +``` | ||
| 162 | +- ✅ 最佳实践: | ||
| 163 | + - 每个任务独立可测试 | ||
| 164 | + - 明确文件路径(AI 知道写到哪里) | ||
| 165 | + - 标注依赖关系(避免顺序错误) | ||
| 166 | + - 遵循 TDD(先写测试,再实现) | ||
| 167 | + | ||
| 168 | +### 💻 阶段 4: Implement(代码实现) | ||
| 169 | +- 📍 目的:按任务逐个实现代码 | ||
| 170 | +- ⚡ 命令:`/speckit.implement` | ||
| 171 | +- 🔄 工作方式: | ||
| 172 | + - AI 按照 Tasks 列表逐个实现 | ||
| 173 | + - 每个任务实现完成后,开发者审核 | ||
| 174 | + - 审核通过后,继续下一个任务 | ||
| 175 | + - 如有问题,修改后再继续 | ||
| 176 | +- 🤖 AI 的优势: | ||
| 177 | + - ✅ AI 知道要构建什么(Spec 告诉它) | ||
| 178 | + - ✅ AI 知道怎么构建(Plan 告诉它) | ||
| 179 | + - ✅ AI 知道当前做什么(Task 告诉它) | ||
| 180 | +- 🔍 审核要点: | ||
| 181 | + - 代码是否符合 Constitution 原则 | ||
| 182 | + - 是否通过所有测试 | ||
| 183 | + - 是否有未处理的边界情况 | ||
| 184 | + - 代码可读性和可维护性 | ||
| 185 | + | ||
| 186 | +## 📚 命令参考手册 | ||
| 187 | +### 核心命令 | ||
| 188 | +| 命令 | 作用 | 输出文件 | 使用时机 | | ||
| 189 | +|------|------|----------|----------| | ||
| 190 | +| `\speckit.constitution` | 建立项目原则 | `constitution.md` | 项目初始化(一次) | | ||
| 191 | +| `\speckit.specify` | 定义需求规范 | `spec.md` | 每个新功能开始 | | ||
| 192 | +| `\speckit.plan` | 创建技术方案 | `plan.md` | 规范审核通过后 | | ||
| 193 | +| `\speckit.tasks` | 分解任务列表 | `tasks.md` | 方案审核通过后 | | ||
| 194 | +| `\speckit.implement` | 执行代码实现 | 实际代码文件 | 任务列表审核通过后 | | ||
| 195 | + | ||
| 196 | +### 增强命令(可选) | ||
| 197 | +| 命令 | 作用 | 使用时机 | | ||
| 198 | +|------|------|----------| | ||
| 199 | +| `\speckit.clarify` | 澄清模糊需求 | Plan 前,需求不清晰时 | | ||
| 200 | +| `\speckit.analyze` | 检查一致性 | Tasks 和 Implement 之间 | | ||
| 201 | +| `\speckit.checklist` | 生成质量检查清单 | Plan 后,提高质量保证 | | ||
| 202 | + | ||
| 203 | +## 🎮 实战案例演练 | ||
| 204 | +场景:为 itypol2 添加用户积分系统 | ||
| 205 | + | ||
| 206 | +### 🏛️ Step 0: Constitution(已完成) | ||
| 207 | +```markdown | ||
| 208 | +✅ 已创建 itypol2 Constitution v1.0.0 | ||
| 209 | +- Module-First 架构 | ||
| 210 | +- Database-First 工作流 | ||
| 211 | +- 端到端类型安全 | ||
| 212 | +``` | ||
| 213 | + | ||
| 214 | +### 📋 Step 1: Specify | ||
| 215 | +```markdown | ||
| 216 | +/speckit.specify | ||
| 217 | +我想为 itypol2 添加用户积分系统: | ||
| 218 | + | ||
| 219 | +【功能描述】 | ||
| 220 | +- 用户通过以下行为获得积分: | ||
| 221 | + - 发布内容:+10 积分 | ||
| 222 | + - 内容被点赞:+2 积分/次 | ||
| 223 | + - 每日登录:+5 积分 | ||
| 224 | +- 积分可以兑换权益: | ||
| 225 | + - 100 积分 → 专属头像框 | ||
| 226 | + - 500 积分 → 作者徽章 | ||
| 227 | + - 1000 积分 → VIP 标识 | ||
| 228 | +- 管理员功能: | ||
| 229 | + - 手动调整任意用户积分(需审计日志) | ||
| 230 | + - 查看积分统计报表 | ||
| 231 | + | ||
| 232 | +【边界条件】 | ||
| 233 | +- 积分不能为负数 | ||
| 234 | +- 兑换后积分扣除,但不可退款 | ||
| 235 | +- 积分历史永久保留(用于审计) | ||
| 236 | + | ||
| 237 | +【不包含的功能】 | ||
| 238 | +- 积分过期机制(v1 不做) | ||
| 239 | +- 积分转赠功能(v1 不做) | ||
| 240 | +- 积分商城(单独项目) | ||
| 241 | +``` | ||
| 242 | + | ||
| 243 | +#### 🎯 AI 会生成详细的 `spec.md`,包含: | ||
| 244 | +- 用户故事(5-10 个) | ||
| 245 | +- 验收标准(明确的可测试条件) | ||
| 246 | +- 用户旅程(从获得积分到兑换的流程) | ||
| 247 | +- 成功指标(如:90% 用户完成首次兑换) | ||
| 248 | + | ||
| 249 | +#### 🔍 审核要点: | ||
| 250 | +- ✅ 是否覆盖所有场景 | ||
| 251 | +- ✅ 是否有遗漏的边界情况 | ||
| 252 | +- ✅ 验收标准是否可测试 | ||
| 253 | + | ||
| 254 | +### 🛠️ Step 2: Plan | ||
| 255 | +```markdown | ||
| 256 | +/speckit.plan | ||
| 257 | +技术约束: | ||
| 258 | +- 遵循 itypol2 Constitution 原则 | ||
| 259 | +- 使用 Cloudflare D1 + Drizzle ORM | ||
| 260 | +- 使用 bun run scaffold:module credits 生成模块 | ||
| 261 | +- API 遵循 REST + RPC 双模式 | ||
| 262 | +- 所有操作需要 Google OAuth 认证 | ||
| 263 | +``` | ||
| 264 | + | ||
| 265 | +#### 🎯 AI 会生成 `plan.md`,包含: | ||
| 266 | +- 模块结构(符合 Module-First) | ||
| 267 | +- 数据库设计(credits 表 + credit_transactions 表) | ||
| 268 | +- API 设计(6 个端点) | ||
| 269 | +- 认证策略(Better Auth 中间件) | ||
| 270 | +- 迁移计划(如何从现有系统集成) | ||
| 271 | + | ||
| 272 | +#### 🔍 审核要点: | ||
| 273 | +- ✅ 是否符合 Constitution 原则 | ||
| 274 | +- ✅ 数据库设计是否规范 | ||
| 275 | +- ✅ API 设计是否 RESTful | ||
| 276 | + | ||
| 277 | +### 📝 Step 3: Tasks | ||
| 278 | +```markdown | ||
| 279 | +/speckit.tasks | ||
| 280 | +``` | ||
| 281 | + | ||
| 282 | +#### 🎯 AI 会生成 `tasks.md`,包含: | ||
| 283 | +```markdown | ||
| 284 | +## Phase 1: 数据库层(可并行) | ||
| 285 | +- [ ] Task 1.1: 定义 credits 表 | ||
| 286 | +- [ ] Task 1.2: 定义 credit_transactions 表 | ||
| 287 | +- [ ] Task 1.3: 生成并应用迁移 | ||
| 288 | + | ||
| 289 | +## Phase 2: 业务逻辑层(依赖 Phase 1) | ||
| 290 | +- [ ] Task 2.1: 实现积分增加 handler | ||
| 291 | +- [ ] Task 2.2: 实现积分兑换 handler | ||
| 292 | +- [ ] Task 2.3: 实现积分历史查询 handler | ||
| 293 | +- [ ] Task 2.4: 实现管理员调整 handler | ||
| 294 | + | ||
| 295 | +## Phase 3: API 层(依赖 Phase 2) | ||
| 296 | +- [ ] Task 3.1: 创建 REST routes | ||
| 297 | +- [ ] Task 3.2: 创建 RPC routes | ||
| 298 | +- [ ] Task 3.3: 添加 OpenAPI 文档 | ||
| 299 | + | ||
| 300 | +## Phase 4: 测试(与 Phase 2-3 并行) | ||
| 301 | +- [ ] Task 4.1: 单元测试 - handlers | ||
| 302 | +- [ ] Task 4.2: 集成测试 - API | ||
| 303 | +- [ ] Task 4.3: 边界测试 - 余额不足等 | ||
| 304 | +``` | ||
| 305 | + | ||
| 306 | +#### 🔍 审核要点: | ||
| 307 | +- ✅ 任务粒度是否合理 | ||
| 308 | +- ✅ 依赖关系是否正确 | ||
| 309 | +- ✅ 是否包含测试任务 | ||
| 310 | + | ||
| 311 | +### 💻 Step 4: Implement | ||
| 312 | +```markdown | ||
| 313 | +/speckit.implement | ||
| 314 | +``` | ||
| 315 | + | ||
| 316 | +#### 🚀 AI 会按顺序执行: | ||
| 317 | +创建数据库表 → 等待审核 → 实现业务逻辑 → 等待审核 → 创建 API 路由 → 等待审核 → 编写测试 → 等待审核 | ||
| 318 | + | ||
| 319 | +#### ⚠️ 每步审核后才继续下一步 | ||
| 320 | + | ||
| 321 | +## ✨ 最佳实践指南 | ||
| 322 | +### ✅ DO(推荐做法) | ||
| 323 | +1. 📝 详细的初始输入 | ||
| 324 | + - 第一次 `/speckit.specify` 时,尽可能详细描述需求 | ||
| 325 | + - 包含边界条件、不做什么、优先级 | ||
| 326 | + - 减少后续来回修改 | ||
| 327 | +2. ✅ 遵循检查点 | ||
| 328 | + - 每个阶段完成后必须审核 | ||
| 329 | + - 发现问题立即修正,不要带到下一阶段 | ||
| 330 | + - 审核通过才运行下一个命令 | ||
| 331 | +3. 📜 引用 Constitution | ||
| 332 | + - 在 Plan 中明确引用项目原则 | ||
| 333 | + - 让 AI 理解项目的约束和标准 | ||
| 334 | + - 保持代码风格一致 | ||
| 335 | +4. 🔧 小任务优于大任务 | ||
| 336 | + - 每个任务 < 200 行代码 | ||
| 337 | + - 任务独立可测试 | ||
| 338 | + - 便于审核和调试 | ||
| 339 | +5. 📚 活文档思维 | ||
| 340 | + - 规范随代码演进 | ||
| 341 | + - 修改代码时同步更新规范 | ||
| 342 | + - 规范即文档 | ||
| 343 | + | ||
| 344 | +### ❌ DON’T(避免做法) | ||
| 345 | +1. 🚫 跳过阶段 | ||
| 346 | + - ❌ 不要直接从 Specify 跳到 Implement | ||
| 347 | + - ❌ 不要省略 Plan(会导致架构混乱) | ||
| 348 | +2. 🌫️ 模糊输入 | ||
| 349 | + - ❌ “帮我做一个用户系统”(太宽泛) | ||
| 350 | + - ✅ “用户系统包含注册、登录、个人资料编辑,使用 Google OAuth” | ||
| 351 | +3. 🚫 忽略 Constitution | ||
| 352 | + - ❌ 不要在 Plan 中使用未批准的技术栈 | ||
| 353 | + - ❌ 不要违反项目原则(如跳过测试) | ||
| 354 | +4. 🦾 过大的任务 | ||
| 355 | + - ❌ “实现整个积分系统”(太大) | ||
| 356 | + - ✅ “实现积分增加逻辑”(合理) | ||
| 357 | +5. 📉 文档滞后 | ||
| 358 | + - ❌ 代码改了但规范不更新 | ||
| 359 | + - ❌ 规范与实际代码不一致 | ||
| 360 | + | ||
| 361 | +## ❓ 常见问题解答 | ||
| 362 | +### Q1: 什么时候适合用 Spec Kit? | ||
| 363 | +🎯 适合场景: | ||
| 364 | +- ✅ 绿地项目(全新项目) | ||
| 365 | +- ✅ 大型功能开发(需要多个模块配合) | ||
| 366 | +- ✅ 遗留系统现代化(需要清晰的架构决策) | ||
| 367 | +- ✅ 团队协作项目(需要统一标准) | ||
| 368 | + | ||
| 369 | +🚫 不适合场景: | ||
| 370 | +- ❌ 简单 bug 修复(几行代码) | ||
| 371 | +- ❌ 紧急热修复(时间紧迫) | ||
| 372 | +- ❌ 实验性原型(需求不明确) | ||
| 373 | + | ||
| 374 | +### Q2: 每次都要从 Constitution 开始吗? | ||
| 375 | +📝 不需要! | ||
| 376 | +- Constitution 只在项目初始化时创建一次 | ||
| 377 | +- 后续每个功能从 Specify 开始即可 | ||
| 378 | +- 只有在项目架构重大变更时才更新 Constitution | ||
| 379 | + | ||
| 380 | +### Q3: 如果 AI 生成的内容不符合预期怎么办? | ||
| 381 | +🛠️ 解决方案: | ||
| 382 | +- 当前阶段修正 - 直接修改生成的文件(如 `spec.md`) | ||
| 383 | +- 重新运行命令 - 提供更详细的输入重新生成 | ||
| 384 | +- 使用 `/speckit.clarify` - 让 AI 提问澄清需求 | ||
| 385 | +- 不要继续前进 - 当前阶段不满意就不要进入下一阶段 | ||
| 386 | + | ||
| 387 | +### Q4: Tasks 太多怎么办? | ||
| 388 | +📊 策略: | ||
| 389 | +- 分批实现 - 不需要一次完成所有任务 | ||
| 390 | +- MVP 优先 - 先实现核心功能,再扩展 | ||
| 391 | +- 并行开发 - 标记可并行的任务,提高效率 | ||
| 392 | + | ||
| 393 | +### Q5: 如何处理需求变更? | ||
| 394 | +🔄 流程: | ||
| 395 | +- 更新 Spec - 修改 `spec.md` 反映新需求 | ||
| 396 | +- 重新 Plan - 运行 `/speckit.plan`(如果架构变化) | ||
| 397 | +- 调整 Tasks - 更新或新增任务 | ||
| 398 | +- 版本控制 - 提交规范变更到 Git | ||
| 399 | + | ||
| 400 | +### Q6: Spec Kit 和传统开发流程的区别? | ||
| 401 | +| 传统流程 | Spec Kit 流程 | | ||
| 402 | +|----------|---------------| | ||
| 403 | +| 需求 → 代码 → 文档 | 需求 → 规范 → 方案 → 任务 → 代码 | | ||
| 404 | +| 文档滞后 | 规范即文档 | | ||
| 405 | +| 架构临时决策 | 架构前置决策 | | ||
| 406 | +| 大块代码审核 | 小任务逐步审核 | | ||
| 407 | +| AI 不知道上下文 | AI 有清晰上下文 | | ||
| 408 | + | ||
| 409 | +## 🎯 核心价值总结 | ||
| 410 | +### 💡 五大核心价值 | ||
| 411 | +1. 🧠 降低认知负荷 - 每次只关注一个阶段 | ||
| 412 | +2. ⚡ 提高代码质量 - 架构前置,避免返工 | ||
| 413 | +3. 🎯 改善 AI 输出 - 清晰上下文 → 准确代码 | ||
| 414 | +4. 📚 活文档系统 - 规范与代码同步演进 | ||
| 415 | +5. 👥 团队协作 - 统一标准和流程 | ||
| 416 | + | ||
| 417 | +## 🚀 快速开始 | ||
| 418 | +```markdown | ||
| 419 | +# 1. 已完成:初始化 Spec Kit | ||
| 420 | +✅ itypol2 已配置好 Spec Kit | ||
| 421 | + | ||
| 422 | +# 2. 开始第一个功能 | ||
| 423 | +/speckit.specify [详细描述你的功能需求] | ||
| 424 | + | ||
| 425 | +# 3. 后续按流程 | ||
| 426 | +/speckit.plan → /speckit.tasks → /speckit.implement | ||
| 427 | +``` | ||
| 428 | + | ||
| 429 | +🎉 祝你使用 Spec Kit 愉快! | ||
| 430 | +💫 这份学习指南基于 Spec Kit 官方文档整理,结合了最佳实践和实战经验。建议收藏并在实际项目中反复参考。 | ||
| 431 | + | ||
| 432 | +--- | ||
| 433 | + | ||
| 434 | +## 补充信息 | ||
| 435 | +- 项目地址:[GitHub 仓库](https://github.com/github/speckit)(假设地址,原文未提供具体链接) | ||
| 436 | +- 许可证:MIT(完全开源,欢迎贡献) | ||
| 437 | +- 核心定位:Spec Kit 代表了 GitHub 对 AI 原生开发(AI-Native Development)的理解——AI 不应替代开发者,而应放大开发者的意图。 | ||
| 438 | + | ||
| 439 | +> 本文基于 Spec Kit v0.0.79 版本整理,若后续版本有功能更新,请参考官方文档。 |
-
Please register or login to post a comment