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.
- package/CHANGELOG.md +135 -0
- package/README.md +239 -213
- package/README.zh.md +0 -330
- package/bin/kiro-spec-engine.js +62 -0
- package/docs/README.md +223 -0
- package/docs/agent-hooks-analysis.md +815 -0
- package/docs/command-reference.md +252 -0
- package/docs/cross-tool-guide.md +554 -0
- package/docs/examples/add-export-command/design.md +194 -0
- package/docs/examples/add-export-command/requirements.md +110 -0
- package/docs/examples/add-export-command/tasks.md +88 -0
- package/docs/examples/add-rest-api/design.md +855 -0
- package/docs/examples/add-rest-api/requirements.md +323 -0
- package/docs/examples/add-rest-api/tasks.md +355 -0
- package/docs/examples/add-user-dashboard/design.md +192 -0
- package/docs/examples/add-user-dashboard/requirements.md +143 -0
- package/docs/examples/add-user-dashboard/tasks.md +91 -0
- package/docs/faq.md +696 -0
- package/docs/integration-modes.md +525 -0
- package/docs/integration-philosophy.md +313 -0
- package/docs/manual-workflows-guide.md +417 -0
- package/docs/quick-start-with-ai-tools.md +374 -0
- package/docs/quick-start.md +711 -0
- package/docs/spec-workflow.md +453 -0
- package/docs/steering-strategy-guide.md +196 -0
- package/docs/tools/claude-guide.md +653 -0
- package/docs/tools/cursor-guide.md +705 -0
- package/docs/tools/generic-guide.md +445 -0
- package/docs/tools/kiro-guide.md +308 -0
- package/docs/tools/vscode-guide.md +444 -0
- package/docs/tools/windsurf-guide.md +390 -0
- package/docs/troubleshooting.md +795 -0
- package/docs/zh/README.md +275 -0
- package/docs/zh/quick-start.md +711 -0
- package/docs/zh/tools/claude-guide.md +348 -0
- package/docs/zh/tools/cursor-guide.md +280 -0
- package/docs/zh/tools/generic-guide.md +498 -0
- package/docs/zh/tools/kiro-guide.md +342 -0
- package/docs/zh/tools/vscode-guide.md +448 -0
- package/docs/zh/tools/windsurf-guide.md +377 -0
- package/lib/adoption/detection-engine.js +14 -4
- package/lib/commands/adopt.js +117 -3
- package/lib/commands/context.js +99 -0
- package/lib/commands/prompt.js +105 -0
- package/lib/commands/status.js +225 -0
- package/lib/commands/task.js +199 -0
- package/lib/commands/watch.js +569 -0
- package/lib/commands/workflows.js +240 -0
- package/lib/commands/workspace.js +189 -0
- package/lib/context/context-exporter.js +378 -0
- package/lib/context/prompt-generator.js +482 -0
- package/lib/steering/adoption-config.js +164 -0
- package/lib/steering/steering-manager.js +289 -0
- package/lib/task/task-claimer.js +430 -0
- package/lib/utils/tool-detector.js +383 -0
- package/lib/watch/action-executor.js +458 -0
- package/lib/watch/event-debouncer.js +323 -0
- package/lib/watch/execution-logger.js +550 -0
- package/lib/watch/file-watcher.js +499 -0
- package/lib/watch/presets.js +266 -0
- package/lib/watch/watch-manager.js +533 -0
- package/lib/workspace/workspace-manager.js +370 -0
- package/lib/workspace/workspace-sync.js +356 -0
- package/package.json +3 -1
- package/template/.kiro/tools/backup_manager.py +295 -0
- package/template/.kiro/tools/configuration_manager.py +218 -0
- package/template/.kiro/tools/document_evaluator.py +550 -0
- package/template/.kiro/tools/enhancement_logger.py +168 -0
- package/template/.kiro/tools/error_handler.py +335 -0
- package/template/.kiro/tools/improvement_identifier.py +444 -0
- package/template/.kiro/tools/modification_applicator.py +737 -0
- package/template/.kiro/tools/quality_gate_enforcer.py +207 -0
- package/template/.kiro/tools/quality_scorer.py +305 -0
- package/template/.kiro/tools/report_generator.py +154 -0
- package/template/.kiro/tools/ultrawork_enhancer_refactored.py +0 -0
- package/template/.kiro/tools/ultrawork_enhancer_v2.py +463 -0
- package/template/.kiro/tools/ultrawork_enhancer_v3.py +606 -0
- package/template/.kiro/tools/workflow_quality_gate.py +100 -0
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
# 快速入门:配合 AI 工具使用 kse
|
|
2
|
+
|
|
3
|
+
> 5分钟学会如何用 kse 配合 Claude、Cursor、Copilot 等 AI 工具
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## ⚠️ 重要:kse 的定位
|
|
8
|
+
|
|
9
|
+
**kse 不是独立开发工具,而是 AI 工具的增强器**
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
你的工作界面 = AI 工具(Codex/Claude/Cursor)
|
|
13
|
+
kse 的角色 = 后台管理 Spec,为 AI 提供结构化上下文
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
**简单理解**:
|
|
17
|
+
- ❌ kse 不是用来写代码的
|
|
18
|
+
- ✅ kse 是用来**组织项目信息**,让 AI 更好地帮你写代码
|
|
19
|
+
- ✅ 你主要在 AI 工具中工作,kse 在后台提供支持
|
|
20
|
+
|
|
21
|
+
**三种使用模式**:
|
|
22
|
+
1. **AI 主动调用 kse**(Windsurf/Cline)- 最佳,完全自动 ⭐
|
|
23
|
+
2. **手动导出上下文**(Claude/ChatGPT)- 当前方式
|
|
24
|
+
3. **Watch Mode 自动化**(所有工具)- 进阶用法
|
|
25
|
+
|
|
26
|
+
**详细说明**:查看 [集成哲学文档](./integration-philosophy.md)
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 核心理念
|
|
31
|
+
|
|
32
|
+
**kse 是什么?**
|
|
33
|
+
- 一个 CLI 工具,帮你管理项目的 Spec(需求、设计、任务)
|
|
34
|
+
- 生成结构化的上下文,让 AI 工具更好地理解你的项目
|
|
35
|
+
|
|
36
|
+
**为什么需要 kse?**
|
|
37
|
+
- AI 工具需要清晰的上下文才能生成高质量代码
|
|
38
|
+
- kse 帮你组织和导出这些上下文
|
|
39
|
+
- 让 AI 按照你的设计和规范工作
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 工作流程图
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
┌─────────────┐
|
|
47
|
+
│ 1. 用 kse │
|
|
48
|
+
│ 创建 Spec │
|
|
49
|
+
└──────┬──────┘
|
|
50
|
+
│
|
|
51
|
+
▼
|
|
52
|
+
┌─────────────┐
|
|
53
|
+
│ 2. 导出 │
|
|
54
|
+
│ 上下文 │
|
|
55
|
+
└──────┬──────┘
|
|
56
|
+
│
|
|
57
|
+
▼
|
|
58
|
+
┌─────────────┐
|
|
59
|
+
│ 3. 复制到 │
|
|
60
|
+
│ AI 工具 │
|
|
61
|
+
└──────┬──────┘
|
|
62
|
+
│
|
|
63
|
+
▼
|
|
64
|
+
┌─────────────┐
|
|
65
|
+
│ 4. AI 帮你 │
|
|
66
|
+
│ 写代码 │
|
|
67
|
+
└──────┬──────┘
|
|
68
|
+
│
|
|
69
|
+
▼
|
|
70
|
+
┌─────────────┐
|
|
71
|
+
│ 5. 更新 │
|
|
72
|
+
│ 任务状态 │
|
|
73
|
+
└─────────────┘
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 5分钟快速开始
|
|
79
|
+
|
|
80
|
+
### 步骤 1:安装 kse
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
npm install -g kiro-spec-engine
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### 步骤 2:初始化项目
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
cd your-project
|
|
90
|
+
kse adopt
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
这会在项目中创建 `.kiro/` 目录。
|
|
94
|
+
|
|
95
|
+
### 步骤 3:创建你的第一个 Spec
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
kse create-spec 01-00-user-login
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
然后编辑生成的文件:
|
|
102
|
+
- `.kiro/specs/01-00-user-login/requirements.md` - 写需求
|
|
103
|
+
- `.kiro/specs/01-00-user-login/design.md` - 写设计
|
|
104
|
+
- `.kiro/specs/01-00-user-login/tasks.md` - 列任务
|
|
105
|
+
|
|
106
|
+
### 步骤 4:导出上下文
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
kse context export 01-00-user-login
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
这会生成:`.kiro/specs/01-00-user-login/context-export.md`
|
|
113
|
+
|
|
114
|
+
### 步骤 5:使用 AI 工具
|
|
115
|
+
|
|
116
|
+
#### 方式 A:Claude Code / ChatGPT
|
|
117
|
+
|
|
118
|
+
1. 打开生成的 `context-export.md`
|
|
119
|
+
2. 复制全部内容
|
|
120
|
+
3. 粘贴到 Claude/ChatGPT 对话框
|
|
121
|
+
4. 说:"请帮我实现任务 1.1"
|
|
122
|
+
|
|
123
|
+
#### 方式 B:Cursor
|
|
124
|
+
|
|
125
|
+
1. 生成任务提示:
|
|
126
|
+
```bash
|
|
127
|
+
kse prompt generate 01-00-user-login 1.1
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
2. 打开 Cursor Composer (Cmd+K)
|
|
131
|
+
3. 粘贴生成的提示
|
|
132
|
+
4. Cursor 会根据上下文生成代码
|
|
133
|
+
|
|
134
|
+
#### 方式 C:GitHub Copilot
|
|
135
|
+
|
|
136
|
+
1. 在代码文件中添加注释:
|
|
137
|
+
```javascript
|
|
138
|
+
// Task 1.1: Implement user login
|
|
139
|
+
// See: .kiro/specs/01-00-user-login/design.md
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
2. Copilot 会根据 Spec 文件生成代码
|
|
143
|
+
|
|
144
|
+
### 步骤 6:更新任务状态
|
|
145
|
+
|
|
146
|
+
完成任务后,编辑 `tasks.md`:
|
|
147
|
+
|
|
148
|
+
```markdown
|
|
149
|
+
- [x] 1.1 实现用户登录功能 ← 改成 [x] 表示完成
|
|
150
|
+
- [ ] 1.2 添加密码加密
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## 详细示例:用 Claude Code 实现登录功能
|
|
156
|
+
|
|
157
|
+
### 1. 创建 Spec
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
kse create-spec 01-00-user-login
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### 2. 编写需求(requirements.md)
|
|
164
|
+
|
|
165
|
+
```markdown
|
|
166
|
+
# 用户登录功能
|
|
167
|
+
|
|
168
|
+
## 1. 功能需求
|
|
169
|
+
|
|
170
|
+
### 1.1 用户可以用邮箱和密码登录
|
|
171
|
+
- 输入:邮箱、密码
|
|
172
|
+
- 输出:登录成功返回 token,失败返回错误信息
|
|
173
|
+
- 验证:邮箱格式、密码长度 >= 6
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### 3. 编写设计(design.md)
|
|
177
|
+
|
|
178
|
+
```markdown
|
|
179
|
+
# 设计方案
|
|
180
|
+
|
|
181
|
+
## 1. API 设计
|
|
182
|
+
|
|
183
|
+
### 1.1 登录接口
|
|
184
|
+
- 路径:POST /api/auth/login
|
|
185
|
+
- 请求体:{ email: string, password: string }
|
|
186
|
+
- 响应:{ token: string } 或 { error: string }
|
|
187
|
+
|
|
188
|
+
## 2. 实现方案
|
|
189
|
+
|
|
190
|
+
### 2.1 AuthController
|
|
191
|
+
- validateEmail() - 验证邮箱格式
|
|
192
|
+
- validatePassword() - 验证密码长度
|
|
193
|
+
- login() - 处理登录逻辑
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### 4. 列出任务(tasks.md)
|
|
197
|
+
|
|
198
|
+
```markdown
|
|
199
|
+
- [ ] 1.1 实现 AuthController 类
|
|
200
|
+
- [ ] 1.2 实现邮箱验证
|
|
201
|
+
- [ ] 1.3 实现密码验证
|
|
202
|
+
- [ ] 1.4 实现登录逻辑
|
|
203
|
+
- [ ] 1.5 编写单元测试
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### 5. 导出上下文
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
kse context export 01-00-user-login
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### 6. 在 Claude Code 中使用
|
|
213
|
+
|
|
214
|
+
**对话示例**:
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
你:[粘贴 context-export.md 的全部内容]
|
|
218
|
+
|
|
219
|
+
你:请帮我实现任务 1.1 "实现 AuthController 类",
|
|
220
|
+
按照设计文档中的方案,用 TypeScript 实现。
|
|
221
|
+
|
|
222
|
+
Claude:好的,我会根据设计文档实现 AuthController 类...
|
|
223
|
+
[生成代码]
|
|
224
|
+
|
|
225
|
+
你:很好!现在请为这个类编写单元测试。
|
|
226
|
+
|
|
227
|
+
Claude:[生成测试代码]
|
|
228
|
+
|
|
229
|
+
你:完美!请帮我更新 tasks.md,标记任务 1.1 为完成。
|
|
230
|
+
|
|
231
|
+
[你手动更新 tasks.md:- [x] 1.1 实现 AuthController 类]
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## 不同 AI 工具的最佳实践
|
|
237
|
+
|
|
238
|
+
### Claude Code / ChatGPT
|
|
239
|
+
✅ **优势**:大上下文窗口,可以一次加载完整 Spec
|
|
240
|
+
📝 **用法**:复制 `context-export.md` 全部内容
|
|
241
|
+
💡 **技巧**:一次对话可以完成多个任务
|
|
242
|
+
|
|
243
|
+
### Cursor
|
|
244
|
+
✅ **优势**:IDE 集成,可以直接修改文件
|
|
245
|
+
📝 **用法**:用 `kse prompt generate` 生成任务提示
|
|
246
|
+
💡 **技巧**:使用 Composer 模式,让 Cursor 直接编辑文件
|
|
247
|
+
|
|
248
|
+
### GitHub Copilot
|
|
249
|
+
✅ **优势**:实时代码补全
|
|
250
|
+
📝 **用法**:在代码注释中引用 Spec 文件
|
|
251
|
+
💡 **技巧**:写详细的注释,Copilot 会根据 Spec 生成代码
|
|
252
|
+
|
|
253
|
+
### Windsurf / Cline
|
|
254
|
+
✅ **优势**:可以执行命令和修改文件
|
|
255
|
+
📝 **用法**:让 AI 直接运行 `kse` 命令
|
|
256
|
+
💡 **技巧**:AI 可以自动导出上下文和更新任务状态
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## 常见问题
|
|
261
|
+
|
|
262
|
+
### Q: 每次都要复制粘贴上下文吗?
|
|
263
|
+
|
|
264
|
+
**A**: 取决于 AI 工具:
|
|
265
|
+
- **Claude/ChatGPT**:是的,每次新对话需要重新加载
|
|
266
|
+
- **Cursor**:可以在项目中持续使用,Cursor 会记住上下文
|
|
267
|
+
- **Copilot**:不需要,它会自动读取项目文件
|
|
268
|
+
|
|
269
|
+
### Q: 上下文太大怎么办?
|
|
270
|
+
|
|
271
|
+
**A**: 使用任务级别的提示:
|
|
272
|
+
```bash
|
|
273
|
+
# 只导出特定任务的上下文
|
|
274
|
+
kse prompt generate 01-00-user-login 1.1
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### Q: AI 生成的代码不符合设计怎么办?
|
|
278
|
+
|
|
279
|
+
**A**:
|
|
280
|
+
1. 检查 `design.md` 是否写得够详细
|
|
281
|
+
2. 在提示中明确说:"严格按照设计文档实现"
|
|
282
|
+
3. 提供代码示例在设计文档中
|
|
283
|
+
|
|
284
|
+
### Q: 如何让 AI 遵循项目规范?
|
|
285
|
+
|
|
286
|
+
**A**: 使用 Steering Rules:
|
|
287
|
+
```bash
|
|
288
|
+
# 导出时包含规范
|
|
289
|
+
kse context export 01-00-user-login --steering --steering-files=CORE_PRINCIPLES.md
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
### Q: 可以自动更新任务状态吗?
|
|
293
|
+
|
|
294
|
+
**A**:
|
|
295
|
+
- **Kiro IDE**:支持自动更新
|
|
296
|
+
- **其他工具**:需要手动更新 `tasks.md`
|
|
297
|
+
- **未来**:计划支持更多工具的自动更新
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## 进阶技巧
|
|
302
|
+
|
|
303
|
+
### 1. 使用 Steering Rules 控制 AI 行为
|
|
304
|
+
|
|
305
|
+
创建 `.kiro/steering/CODING_STANDARDS.md`:
|
|
306
|
+
|
|
307
|
+
```markdown
|
|
308
|
+
# 编码规范
|
|
309
|
+
|
|
310
|
+
- 使用 TypeScript
|
|
311
|
+
- 所有函数必须有 JSDoc 注释
|
|
312
|
+
- 使用 async/await 而不是 Promise.then
|
|
313
|
+
- 错误处理使用 try-catch
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
导出时包含:
|
|
317
|
+
```bash
|
|
318
|
+
kse context export 01-00-user-login --steering
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
### 2. 为不同工具生成不同格式的提示
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
# 为 Claude 生成
|
|
325
|
+
kse prompt generate 01-00-user-login 1.1 --tool=claude-code
|
|
326
|
+
|
|
327
|
+
# 为 Cursor 生成
|
|
328
|
+
kse prompt generate 01-00-user-login 1.1 --tool=cursor
|
|
329
|
+
|
|
330
|
+
# 通用格式
|
|
331
|
+
kse prompt generate 01-00-user-login 1.1
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
### 3. 批量导出多个任务
|
|
335
|
+
|
|
336
|
+
```bash
|
|
337
|
+
# 导出整个 Spec
|
|
338
|
+
kse context export 01-00-user-login
|
|
339
|
+
|
|
340
|
+
# 然后在 AI 工具中说:
|
|
341
|
+
# "请按顺序实现任务 1.1 到 1.5"
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
346
|
+
## 总结
|
|
347
|
+
|
|
348
|
+
**kse 的价值**:
|
|
349
|
+
1. ✅ 结构化管理项目需求和设计
|
|
350
|
+
2. ✅ 生成 AI 友好的上下文
|
|
351
|
+
3. ✅ 让 AI 按照你的规范工作
|
|
352
|
+
4. ✅ 跟踪任务进度
|
|
353
|
+
|
|
354
|
+
**配合 AI 工具的流程**:
|
|
355
|
+
1. 用 kse 写 Spec(需求、设计、任务)
|
|
356
|
+
2. 导出上下文
|
|
357
|
+
3. 复制给 AI 工具
|
|
358
|
+
4. AI 帮你写代码
|
|
359
|
+
5. 更新任务状态
|
|
360
|
+
|
|
361
|
+
**下一步**:
|
|
362
|
+
- 查看 [完整跨工具指南](./cross-tool-guide.md)
|
|
363
|
+
- 查看 [命令参考](./command-reference.md)
|
|
364
|
+
- 查看 [手动工作流指南](./manual-workflows-guide.md)
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
**开始使用!** 🚀
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
npm install -g kiro-spec-engine
|
|
372
|
+
kse adopt
|
|
373
|
+
kse create-spec 01-00-my-feature
|
|
374
|
+
```
|