kiro-spec-engine 1.2.3 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/CHANGELOG.md +135 -0
  2. package/README.md +239 -213
  3. package/README.zh.md +0 -330
  4. package/bin/kiro-spec-engine.js +62 -0
  5. package/docs/README.md +223 -0
  6. package/docs/agent-hooks-analysis.md +815 -0
  7. package/docs/command-reference.md +252 -0
  8. package/docs/cross-tool-guide.md +554 -0
  9. package/docs/examples/add-export-command/design.md +194 -0
  10. package/docs/examples/add-export-command/requirements.md +110 -0
  11. package/docs/examples/add-export-command/tasks.md +88 -0
  12. package/docs/examples/add-rest-api/design.md +855 -0
  13. package/docs/examples/add-rest-api/requirements.md +323 -0
  14. package/docs/examples/add-rest-api/tasks.md +355 -0
  15. package/docs/examples/add-user-dashboard/design.md +192 -0
  16. package/docs/examples/add-user-dashboard/requirements.md +143 -0
  17. package/docs/examples/add-user-dashboard/tasks.md +91 -0
  18. package/docs/faq.md +696 -0
  19. package/docs/integration-modes.md +525 -0
  20. package/docs/integration-philosophy.md +313 -0
  21. package/docs/manual-workflows-guide.md +417 -0
  22. package/docs/quick-start-with-ai-tools.md +374 -0
  23. package/docs/quick-start.md +711 -0
  24. package/docs/spec-workflow.md +453 -0
  25. package/docs/steering-strategy-guide.md +196 -0
  26. package/docs/tools/claude-guide.md +653 -0
  27. package/docs/tools/cursor-guide.md +705 -0
  28. package/docs/tools/generic-guide.md +445 -0
  29. package/docs/tools/kiro-guide.md +308 -0
  30. package/docs/tools/vscode-guide.md +444 -0
  31. package/docs/tools/windsurf-guide.md +390 -0
  32. package/docs/troubleshooting.md +795 -0
  33. package/docs/zh/README.md +275 -0
  34. package/docs/zh/quick-start.md +711 -0
  35. package/docs/zh/tools/claude-guide.md +348 -0
  36. package/docs/zh/tools/cursor-guide.md +280 -0
  37. package/docs/zh/tools/generic-guide.md +498 -0
  38. package/docs/zh/tools/kiro-guide.md +342 -0
  39. package/docs/zh/tools/vscode-guide.md +448 -0
  40. package/docs/zh/tools/windsurf-guide.md +377 -0
  41. package/lib/adoption/detection-engine.js +14 -4
  42. package/lib/commands/adopt.js +117 -3
  43. package/lib/commands/context.js +99 -0
  44. package/lib/commands/prompt.js +105 -0
  45. package/lib/commands/status.js +225 -0
  46. package/lib/commands/task.js +199 -0
  47. package/lib/commands/watch.js +569 -0
  48. package/lib/commands/workflows.js +240 -0
  49. package/lib/commands/workspace.js +189 -0
  50. package/lib/context/context-exporter.js +378 -0
  51. package/lib/context/prompt-generator.js +482 -0
  52. package/lib/steering/adoption-config.js +164 -0
  53. package/lib/steering/steering-manager.js +289 -0
  54. package/lib/task/task-claimer.js +430 -0
  55. package/lib/utils/tool-detector.js +383 -0
  56. package/lib/watch/action-executor.js +458 -0
  57. package/lib/watch/event-debouncer.js +323 -0
  58. package/lib/watch/execution-logger.js +550 -0
  59. package/lib/watch/file-watcher.js +499 -0
  60. package/lib/watch/presets.js +266 -0
  61. package/lib/watch/watch-manager.js +533 -0
  62. package/lib/workspace/workspace-manager.js +370 -0
  63. package/lib/workspace/workspace-sync.js +356 -0
  64. package/package.json +3 -1
  65. package/template/.kiro/tools/backup_manager.py +295 -0
  66. package/template/.kiro/tools/configuration_manager.py +218 -0
  67. package/template/.kiro/tools/document_evaluator.py +550 -0
  68. package/template/.kiro/tools/enhancement_logger.py +168 -0
  69. package/template/.kiro/tools/error_handler.py +335 -0
  70. package/template/.kiro/tools/improvement_identifier.py +444 -0
  71. package/template/.kiro/tools/modification_applicator.py +737 -0
  72. package/template/.kiro/tools/quality_gate_enforcer.py +207 -0
  73. package/template/.kiro/tools/quality_scorer.py +305 -0
  74. package/template/.kiro/tools/report_generator.py +154 -0
  75. package/template/.kiro/tools/ultrawork_enhancer_refactored.py +0 -0
  76. package/template/.kiro/tools/ultrawork_enhancer_v2.py +463 -0
  77. package/template/.kiro/tools/ultrawork_enhancer_v3.py +606 -0
  78. package/template/.kiro/tools/workflow_quality_gate.py +100 -0
@@ -0,0 +1,448 @@
1
+ # 在 VS Code + Copilot 中使用 kse
2
+
3
+ > 将 kse 与 VS Code 和 GitHub Copilot 集成进行 AI 辅助开发的完整指南
4
+
5
+ ---
6
+
7
+ **版本**: 1.0.0
8
+ **最后更新**: 2026-01-23
9
+ **工具**: VS Code + GitHub Copilot
10
+ **集成模式**: 手动导出 + 内联注释
11
+ **预计设置时间**: 5 分钟
12
+
13
+ ---
14
+
15
+ ## 概述
16
+
17
+ **VS Code** 是最流行的代码编辑器,**GitHub Copilot** 提供 AI 驱动的代码补全。
18
+
19
+ **kse 与 VS Code + Copilot 的集成**使用**手动导出**和**内联注释**,让 Copilot 理解你的 Spec 并生成匹配你设计的代码。
20
+
21
+ ### 为什么在 VS Code + Copilot 中使用 kse?
22
+
23
+ - ✅ **熟悉的环境** - 使用你已知的编辑器
24
+ - ✅ **智能补全** - Copilot 遵循你的 Spec
25
+ - ✅ **内联建议** - 在你输入时获得上下文感知的代码
26
+ - ✅ **灵活集成** - 多种使用 kse 的方式
27
+
28
+ ---
29
+
30
+ ## 集成模式
31
+
32
+ **模式:** 手动导出 + 内联注释
33
+
34
+ **工作原理:**
35
+ 1. 你在 kse 中创建 Spec(需求、设计、任务)
36
+ 2. 你在代码中添加引用 Spec 的注释
37
+ 3. Copilot 读取注释和 Spec 文件
38
+ 4. Copilot 生成匹配你设计的代码
39
+ 5. 你在 tasks.md 中更新任务状态
40
+
41
+ ---
42
+
43
+ ## 设置
44
+
45
+ ### 前置条件
46
+
47
+ - 已安装 **VS Code**([下载](https://code.visualstudio.com/))
48
+ - 已安装 **GitHub Copilot** 扩展
49
+ - 已全局安装 **kse**(`npm install -g kiro-spec-engine`)
50
+ - 项目已被 kse **采用**(`kse adopt`)
51
+
52
+ ### 步骤 1:安装推荐的扩展
53
+
54
+ 在 VS Code 中安装这些扩展:
55
+
56
+ 1. **GitHub Copilot** - AI 代码补全
57
+ 2. **GitHub Copilot Chat** - 与 Copilot 聊天
58
+ 3. **Markdown All in One** - 更好的 Spec 编辑
59
+ 4. **Mermaid Preview** - 可视化设计图
60
+
61
+ ### 步骤 2:配置 VS Code 设置
62
+
63
+ 创建 `.vscode/settings.json`:
64
+
65
+ ```json
66
+ {
67
+ "files.associations": {
68
+ "*.md": "markdown"
69
+ },
70
+ "markdown.preview.breaks": true,
71
+ "github.copilot.enable": {
72
+ "*": true,
73
+ "markdown": true
74
+ },
75
+ "github.copilot.advanced": {
76
+ "inlineSuggestCount": 3
77
+ }
78
+ }
79
+ ```
80
+
81
+ ### 步骤 3:创建 Workspace 片段(可选但推荐)
82
+
83
+ 创建 `.vscode/kse.code-snippets`:
84
+
85
+ ```json
86
+ {
87
+ "kse Spec Reference": {
88
+ "prefix": "kse-ref",
89
+ "body": [
90
+ "// Task ${1:1.1}: ${2:Task description}",
91
+ "// Spec: .kiro/specs/${3:spec-name}/",
92
+ "// Design: See ${4:ComponentName} in design.md",
93
+ "// Requirements: ${5:FR-1, FR-2}",
94
+ "//"
95
+ ],
96
+ "description": "Add kse Spec reference comment"
97
+ },
98
+ "kse Task Header": {
99
+ "prefix": "kse-task",
100
+ "body": [
101
+ "/**",
102
+ " * Task ${1:1.1}: ${2:Task description}",
103
+ " * ",
104
+ " * Spec: .kiro/specs/${3:spec-name}/",
105
+ " * Requirements: ${4:FR-1}",
106
+ " * Design: ${5:ComponentName} in design.md",
107
+ " * ",
108
+ " * Implementation notes:",
109
+ " * - ${6:Note 1}",
110
+ " */"
111
+ ],
112
+ "description": "Add kse task header comment"
113
+ }
114
+ }
115
+ ```
116
+
117
+ ---
118
+
119
+ ## 使用方法
120
+
121
+ ### 方法 1:内联 Spec 引用(推荐)
122
+
123
+ **最佳用于:** 实现新功能和组件
124
+
125
+ **步骤:**
126
+
127
+ 1. **创建新文件**(例如 `src/auth/AuthController.js`)
128
+
129
+ 2. **添加 Spec 引用注释:**
130
+ ```javascript
131
+ /**
132
+ * Task 1.1: 设置项目依赖
133
+ *
134
+ * Spec: .kiro/specs/01-00-user-login/
135
+ * Requirements: FR-1, FR-2, NFR-1
136
+ * Design: AuthController in design.md
137
+ *
138
+ * 实现说明:
139
+ * - 使用 Express 进行路由
140
+ * - 使用 bcrypt 进行密码哈希
141
+ * - 使用 JWT 进行令牌
142
+ * - 实现速率限制
143
+ */
144
+ ```
145
+
146
+ 3. **开始输入** - Copilot 将:
147
+ - 读取你的注释
148
+ - 读取引用的 Spec 文件
149
+ - 建议匹配你设计的代码
150
+
151
+ 4. **按 Tab** 接受建议
152
+
153
+ ### 方法 2:使用 Copilot Chat
154
+
155
+ **最佳用于:** 复杂实现和讨论
156
+
157
+ **步骤:**
158
+
159
+ 1. **打开 Copilot Chat**
160
+ - 按 `Cmd+Shift+I`(macOS)或 `Ctrl+Shift+I`(Windows/Linux)
161
+ - 或点击侧边栏中的 Copilot 图标
162
+
163
+ 2. **引用你的 Spec:**
164
+ ```
165
+ 我正在实现 .kiro/specs/01-00-user-login/ 中的用户登录功能。
166
+
167
+ 请阅读:
168
+ - requirements.md
169
+ - design.md
170
+ - tasks.md
171
+
172
+ 然后帮我实现任务 1.1:"设置项目依赖"
173
+ ```
174
+
175
+ 3. **Copilot 将:**
176
+ - 读取你的 Spec 文件
177
+ - 提供代码建议
178
+ - 解释实现决策
179
+
180
+ 4. **插入代码** 到你的文件中
181
+
182
+ ### 方法 3:使用 Workspace 片段
183
+
184
+ **最佳用于:** 快速添加 Spec 引用
185
+
186
+ **步骤:**
187
+
188
+ 1. **在文件中输入:**
189
+ ```
190
+ kse-ref
191
+ ```
192
+
193
+ 2. **按 Tab** - 片段展开为:
194
+ ```javascript
195
+ // Task 1.1: Task description
196
+ // Spec: .kiro/specs/spec-name/
197
+ // Design: See ComponentName in design.md
198
+ // Requirements: FR-1, FR-2
199
+ //
200
+ ```
201
+
202
+ 3. **填写详细信息** 并开始编码
203
+
204
+ 4. **Copilot 使用此上下文** 进行建议
205
+
206
+ ---
207
+
208
+ ## 工作流示例
209
+
210
+ ### 完整功能实现工作流
211
+
212
+ ```bash
213
+ # 1. 创建 Spec
214
+ kse create-spec 01-00-user-login
215
+
216
+ # 2. 在 VS Code 中编写 Spec
217
+ # - 打开 requirements.md
218
+ # - 打开 design.md
219
+ # - 打开 tasks.md
220
+
221
+ # 3. 创建实现文件
222
+ # src/auth/AuthController.js
223
+
224
+ # 4. 添加 Spec 引用(使用 kse-ref 片段)
225
+ kse-ref [Tab]
226
+
227
+ # 5. 开始编码 - Copilot 建议代码
228
+
229
+ # 6. 接受建议(Tab)
230
+
231
+ # 7. 在 tasks.md 中标记任务为完成
232
+ - [x] 1.1 设置项目依赖
233
+
234
+ # 8. 对下一个任务重复
235
+ ```
236
+
237
+ ---
238
+
239
+ ## 最佳实践
240
+
241
+ ### 1. 始终添加 Spec 引用
242
+
243
+ 在每个文件顶部添加 Spec 引用:
244
+ ```javascript
245
+ // Spec: .kiro/specs/01-00-user-login/
246
+ // Task: 1.1 - 设置项目依赖
247
+ ```
248
+
249
+ ### 2. 使用描述性注释
250
+
251
+ Copilot 读取注释。要具体:
252
+ ```javascript
253
+ // 实现 AuthController.login() 方法
254
+ // 要求:
255
+ // - 验证邮箱和密码
256
+ // - 检查速率限制
257
+ // - 返回 JWT 令牌
258
+ ```
259
+
260
+ ### 3. 在注释中引用设计
261
+
262
+ ```javascript
263
+ // 参见 design.md 中的 AuthController 设计
264
+ // 使用 design.md 中指定的确切方法名称
265
+ ```
266
+
267
+ ### 4. 分解复杂任务
268
+
269
+ 对于复杂任务,添加分步注释:
270
+ ```javascript
271
+ // 步骤 1:验证输入
272
+ // 步骤 2:检查速率限制
273
+ // 步骤 3:验证凭据
274
+ // 步骤 4:生成令牌
275
+ // 步骤 5:返回响应
276
+ ```
277
+
278
+ ### 5. 使用 Copilot Chat 进行复杂逻辑
279
+
280
+ 对于复杂实现,使用 Copilot Chat:
281
+ - 讨论方法
282
+ - 获取代码示例
283
+ - 要求解释
284
+
285
+ ---
286
+
287
+ ## 示例代码模式
288
+
289
+ ### 模式 1:组件实现
290
+
291
+ ```javascript
292
+ /**
293
+ * AuthController - 处理认证请求
294
+ *
295
+ * Spec: .kiro/specs/01-00-user-login/
296
+ * Task: 3.1 - 实现 AuthController
297
+ * Design: 参见 design.md 中的 AuthController
298
+ * Requirements: FR-1, FR-2, NFR-1
299
+ *
300
+ * 此控制器实现:
301
+ * - POST /api/auth/login - 用户登录
302
+ * - 输入验证
303
+ * - 速率限制
304
+ * - JWT 令牌生成
305
+ */
306
+
307
+ class AuthController {
308
+ // Copilot 将基于上述上下文建议实现
309
+ }
310
+ ```
311
+
312
+ ### 模式 2:方法实现
313
+
314
+ ```javascript
315
+ /**
316
+ * 验证用户凭据
317
+ *
318
+ * Task: 2.2 - 实现 AuthService.authenticate()
319
+ * Design: 参见 design.md 中的 AuthService
320
+ *
321
+ * @param {string} email - 用户邮箱
322
+ * @param {string} password - 用户密码
323
+ * @returns {Promise<User|null>} 如果有效则返回用户,否则返回 null
324
+ *
325
+ * 实现:
326
+ * 1. 通过邮箱查找用户
327
+ * 2. 使用 bcrypt 比较密码
328
+ * 3. 如果匹配则返回用户
329
+ */
330
+ async authenticate(email, password) {
331
+ // Copilot 将建议实现
332
+ }
333
+ ```
334
+
335
+ ### 模式 3:测试实现
336
+
337
+ ```javascript
338
+ /**
339
+ * AuthService 测试
340
+ *
341
+ * Spec: .kiro/specs/01-00-user-login/
342
+ * Task: 4.1 - 编写全面的测试
343
+ *
344
+ * 测试场景:
345
+ * - 有效凭据 → 返回用户
346
+ * - 无效凭据 → 返回 null
347
+ * - 缺少邮箱 → 抛出错误
348
+ * - 无效邮箱格式 → 抛出错误
349
+ */
350
+
351
+ describe('AuthService', () => {
352
+ // Copilot 将建议测试用例
353
+ });
354
+ ```
355
+
356
+ ---
357
+
358
+ ## 故障排除
359
+
360
+ ### 问题:Copilot 不遵循我的 Spec
361
+
362
+ **解决方案:**
363
+ 1. 使你的注释更详细
364
+ 2. 在注释中引用特定的设计部分
365
+ 3. 在 design.md 中添加代码示例
366
+ 4. 使用 Copilot Chat 进行复杂实现
367
+
368
+ ### 问题:Copilot 建议不相关的代码
369
+
370
+ **解决方案:**
371
+ 1. 添加更多上下文到注释
372
+ 2. 引用 Spec 文件:`// Spec: .kiro/specs/...`
373
+ 3. 要具体:"实现 design.md 中的确切 AuthController"
374
+
375
+ ### 问题:Copilot 看不到我的 Spec 文件
376
+
377
+ **解决方案:**
378
+ 1. 确保 Spec 文件在工作区中
379
+ 2. 在 VS Code 中打开 Spec 文件
380
+ 3. 在注释中使用相对路径
381
+ 4. 检查 `.gitignore` 是否排除了 `.kiro/`
382
+
383
+ ---
384
+
385
+ ## 高级技巧
386
+
387
+ ### 1. 使用多文件上下文
388
+
389
+ 在多个文件中打开 Spec:
390
+ - requirements.md
391
+ - design.md
392
+ - 你的实现文件
393
+
394
+ Copilot 使用所有打开文件的上下文。
395
+
396
+ ### 2. 使用 Copilot Labs
397
+
398
+ 如果你有 Copilot Labs:
399
+ - 使用"解释"功能理解 Spec
400
+ - 使用"翻译"功能转换设计为代码
401
+ - 使用"测试"功能生成测试
402
+
403
+ ### 3. 创建模板文件
404
+
405
+ 为常见模式创建模板:
406
+ ```javascript
407
+ // templates/controller-template.js
408
+ /**
409
+ * [ComponentName] - [Description]
410
+ *
411
+ * Spec: .kiro/specs/[spec-name]/
412
+ * Task: [task-id] - [task-description]
413
+ * Design: See [ComponentName] in design.md
414
+ * Requirements: [requirements]
415
+ */
416
+ ```
417
+
418
+ ### 4. 使用任务注释
419
+
420
+ 在 tasks.md 中添加实现注释:
421
+ ```markdown
422
+ - [ ] 1.1 设置项目依赖
423
+ <!-- 实现:src/package.json -->
424
+ <!-- 参考:design.md 中的技术栈部分 -->
425
+ ```
426
+
427
+ ---
428
+
429
+ ## 相关文档
430
+
431
+ - 📖 [快速入门指南](../quick-start.md) - 开始使用 kse
432
+ - 🔌 [集成模式](../integration-modes.md) - 理解手动导出模式
433
+ - 📋 [Spec 工作流](../spec-workflow.md) - 创建有效的 Spec
434
+ - 🔧 [故障排除](../troubleshooting.md) - 常见问题
435
+
436
+ ---
437
+
438
+ ## 下一步
439
+
440
+ - 设置 VS Code 片段以快速引用 Spec
441
+ - 尝试使用 Copilot Chat 进行复杂实现
442
+ - 探索 [Cursor 指南](cursor-guide.md) 获取更集成的体验
443
+ - 查看 [API 示例](../examples/add-rest-api/) 获取完整的 Spec 示例
444
+
445
+ ---
446
+
447
+ **版本**: 1.0.0
448
+ **最后更新**: 2026-01-23