kiro-spec-engine 1.3.0 → 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 +61 -0
- package/README.md +223 -369
- package/README.zh.md +0 -330
- package/docs/README.md +223 -0
- package/docs/command-reference.md +252 -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/quick-start-with-ai-tools.md +374 -0
- package/docs/quick-start.md +711 -0
- package/docs/spec-workflow.md +453 -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/package.json +1 -1
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
# kse 集成哲学
|
|
2
|
+
|
|
3
|
+
> kse 如何与 AI 编码工具配合工作
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 核心定位
|
|
8
|
+
|
|
9
|
+
**kse 不是替代 AI 工具,而是增强 AI 工具**
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
┌─────────────────────────────────────┐
|
|
13
|
+
│ AI 编码工具 │
|
|
14
|
+
│ (Codex/Claude/Cursor/Windsurf) │
|
|
15
|
+
│ │
|
|
16
|
+
│ 用户主要工作界面 ← 这里写代码 │
|
|
17
|
+
└──────────────┬──────────────────────┘
|
|
18
|
+
│
|
|
19
|
+
│ 读取上下文
|
|
20
|
+
▼
|
|
21
|
+
┌─────────────────────────────────────┐
|
|
22
|
+
│ kse │
|
|
23
|
+
│ │
|
|
24
|
+
│ Spec 管理 + 上下文生成 │
|
|
25
|
+
│ (后台运行,提供结构化信息) │
|
|
26
|
+
└─────────────────────────────────────┘
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 三种集成模式
|
|
32
|
+
|
|
33
|
+
### 模式 1:AI 主动调用 kse(最佳)⭐
|
|
34
|
+
|
|
35
|
+
**适用工具**:Windsurf、Cline、Aider(可执行命令的 AI)
|
|
36
|
+
|
|
37
|
+
**工作流**:
|
|
38
|
+
```
|
|
39
|
+
用户 → AI 工具 → AI 自动执行 kse 命令 → 获取上下文 → 生成代码
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**示例对话**:
|
|
43
|
+
```
|
|
44
|
+
用户:我要实现用户登录功能
|
|
45
|
+
|
|
46
|
+
AI:好的,让我先查看项目的 Spec
|
|
47
|
+
[自动执行] kse context export 01-00-user-login
|
|
48
|
+
[读取文件] .kiro/specs/01-00-user-login/context-export.md
|
|
49
|
+
|
|
50
|
+
我看到设计文档中定义了 AuthController...
|
|
51
|
+
[生成代码]
|
|
52
|
+
|
|
53
|
+
[自动执行] kse task claim 01-00-user-login 1.1
|
|
54
|
+
任务已认领,开始实现...
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**配置方法**:
|
|
58
|
+
|
|
59
|
+
在 AI 工具的系统提示中添加:
|
|
60
|
+
```markdown
|
|
61
|
+
你可以使用以下 kse 命令来管理项目:
|
|
62
|
+
|
|
63
|
+
- `kse context export <spec-name>` - 导出 Spec 上下文
|
|
64
|
+
- `kse prompt generate <spec-name> <task-id>` - 生成任务提示
|
|
65
|
+
- `kse task claim <spec-name> <task-id>` - 认领任务
|
|
66
|
+
- `kse status` - 查看项目状态
|
|
67
|
+
|
|
68
|
+
在实现功能前,先用 kse 命令查看相关 Spec。
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**优势**:
|
|
72
|
+
- ✅ 完全自动化
|
|
73
|
+
- ✅ 用户无需手动操作
|
|
74
|
+
- ✅ AI 自动管理 Spec 生命周期
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
### 模式 2:手动导出 + AI 使用(当前)
|
|
79
|
+
|
|
80
|
+
**适用工具**:Claude Code、ChatGPT、GitHub Copilot
|
|
81
|
+
|
|
82
|
+
**工作流**:
|
|
83
|
+
```
|
|
84
|
+
用户 → 手动执行 kse 命令 → 复制上下文 → 粘贴到 AI → AI 生成代码
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**示例流程**:
|
|
88
|
+
```bash
|
|
89
|
+
# 1. 用户手动导出
|
|
90
|
+
kse context export 01-00-user-login
|
|
91
|
+
|
|
92
|
+
# 2. 复制内容
|
|
93
|
+
cat .kiro/specs/01-00-user-login/context-export.md | pbcopy
|
|
94
|
+
|
|
95
|
+
# 3. 粘贴到 Claude/ChatGPT
|
|
96
|
+
|
|
97
|
+
# 4. 对话
|
|
98
|
+
用户:请实现任务 1.1
|
|
99
|
+
AI:[生成代码]
|
|
100
|
+
|
|
101
|
+
# 5. 手动更新任务状态
|
|
102
|
+
# 编辑 tasks.md: - [x] 1.1 ...
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**改进建议**:
|
|
106
|
+
```bash
|
|
107
|
+
# 添加快捷命令
|
|
108
|
+
kse clip 01-00-user-login # 自动复制到剪贴板
|
|
109
|
+
kse clip 01-00-user-login 1.1 # 只复制任务 1.1 的上下文
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**优势**:
|
|
113
|
+
- ✅ 适用于所有 AI 工具
|
|
114
|
+
- ✅ 用户完全控制
|
|
115
|
+
|
|
116
|
+
**劣势**:
|
|
117
|
+
- ❌ 需要手动操作
|
|
118
|
+
- ❌ 步骤较多
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
### 模式 3:Watch Mode 自动化(进阶)
|
|
123
|
+
|
|
124
|
+
**适用场景**:频繁修改 Spec 的项目
|
|
125
|
+
|
|
126
|
+
**工作流**:
|
|
127
|
+
```
|
|
128
|
+
用户修改 Spec → kse 自动检测 → 自动重新导出 → AI 工具自动刷新
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**配置**:
|
|
132
|
+
```bash
|
|
133
|
+
# 启动 Watch Mode
|
|
134
|
+
kse watch init
|
|
135
|
+
kse watch install auto-export
|
|
136
|
+
kse watch start
|
|
137
|
+
|
|
138
|
+
# 现在修改任何 Spec 文件,都会自动重新导出
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Watch 配置示例**:
|
|
142
|
+
```json
|
|
143
|
+
{
|
|
144
|
+
"patterns": [
|
|
145
|
+
".kiro/specs/**/requirements.md",
|
|
146
|
+
".kiro/specs/**/design.md",
|
|
147
|
+
".kiro/specs/**/tasks.md"
|
|
148
|
+
],
|
|
149
|
+
"actions": [
|
|
150
|
+
{
|
|
151
|
+
"name": "auto-export",
|
|
152
|
+
"command": "kse context export ${spec-name}"
|
|
153
|
+
}
|
|
154
|
+
]
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**优势**:
|
|
159
|
+
- ✅ 完全自动化
|
|
160
|
+
- ✅ Spec 修改立即生效
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 推荐配置
|
|
165
|
+
|
|
166
|
+
### 对于 Windsurf/Cline 用户(推荐)⭐
|
|
167
|
+
|
|
168
|
+
**在 AI 系统提示中添加**:
|
|
169
|
+
|
|
170
|
+
```markdown
|
|
171
|
+
# Spec 管理规则
|
|
172
|
+
|
|
173
|
+
项目使用 kse (Kiro Spec Engine) 管理需求和设计。
|
|
174
|
+
|
|
175
|
+
## 工作流程
|
|
176
|
+
|
|
177
|
+
1. **查看 Spec**:实现功能前,先执行 `kse context export <spec-name>` 查看设计
|
|
178
|
+
2. **认领任务**:开始工作前,执行 `kse task claim <spec-name> <task-id>`
|
|
179
|
+
3. **实现代码**:严格按照 Spec 中的设计实现
|
|
180
|
+
4. **更新状态**:完成后,在 tasks.md 中标记任务为完成 `[x]`
|
|
181
|
+
|
|
182
|
+
## 可用命令
|
|
183
|
+
|
|
184
|
+
- `kse status` - 查看项目状态
|
|
185
|
+
- `kse context export <spec-name>` - 导出 Spec 上下文
|
|
186
|
+
- `kse task claim <spec-name> <task-id>` - 认领任务
|
|
187
|
+
- `kse prompt generate <spec-name> <task-id>` - 生成任务提示
|
|
188
|
+
|
|
189
|
+
## 示例
|
|
190
|
+
|
|
191
|
+
用户说:"实现用户登录"
|
|
192
|
+
你应该:
|
|
193
|
+
1. 执行 `kse context export 01-00-user-login`
|
|
194
|
+
2. 读取导出的上下文
|
|
195
|
+
3. 根据设计文档实现代码
|
|
196
|
+
4. 执行 `kse task claim 01-00-user-login 1.1`
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### 对于 Claude/ChatGPT 用户
|
|
200
|
+
|
|
201
|
+
**创建快捷脚本**:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
# ~/.bashrc 或 ~/.zshrc
|
|
205
|
+
alias kse-clip='kse context export $1 && cat .kiro/specs/$1/context-export.md | pbcopy && echo "✅ 已复制到剪贴板"'
|
|
206
|
+
|
|
207
|
+
# 使用
|
|
208
|
+
kse-clip 01-00-user-login
|
|
209
|
+
# 然后直接粘贴到 Claude
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### 对于 Cursor 用户
|
|
213
|
+
|
|
214
|
+
**使用 Cursor Rules**:
|
|
215
|
+
|
|
216
|
+
创建 `.cursorrules` 文件:
|
|
217
|
+
```markdown
|
|
218
|
+
# Spec 驱动开发
|
|
219
|
+
|
|
220
|
+
项目使用 kse 管理 Spec。实现功能前:
|
|
221
|
+
|
|
222
|
+
1. 查看 `.kiro/specs/<spec-name>/design.md`
|
|
223
|
+
2. 按照设计实现
|
|
224
|
+
3. 更新 `.kiro/specs/<spec-name>/tasks.md`
|
|
225
|
+
|
|
226
|
+
示例:
|
|
227
|
+
- 设计文档:`.kiro/specs/01-00-user-login/design.md`
|
|
228
|
+
- 任务列表:`.kiro/specs/01-00-user-login/tasks.md`
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## 未来改进方向
|
|
234
|
+
|
|
235
|
+
### 1. MCP (Model Context Protocol) 集成
|
|
236
|
+
|
|
237
|
+
让 AI 工具通过 MCP 直接访问 kse:
|
|
238
|
+
|
|
239
|
+
```javascript
|
|
240
|
+
// AI 工具可以直接调用
|
|
241
|
+
const context = await mcp.call('kse.getContext', '01-00-user-login');
|
|
242
|
+
const tasks = await mcp.call('kse.getTasks', '01-00-user-login');
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### 2. IDE 插件
|
|
246
|
+
|
|
247
|
+
为主流 IDE 提供插件:
|
|
248
|
+
- VS Code Extension
|
|
249
|
+
- Cursor Extension
|
|
250
|
+
- JetBrains Plugin
|
|
251
|
+
|
|
252
|
+
功能:
|
|
253
|
+
- 右键菜单:"导出到 AI 工具"
|
|
254
|
+
- 状态栏显示当前 Spec
|
|
255
|
+
- 快捷键快速导出
|
|
256
|
+
|
|
257
|
+
### 3. Web Dashboard
|
|
258
|
+
|
|
259
|
+
提供 Web 界面:
|
|
260
|
+
```bash
|
|
261
|
+
kse serve
|
|
262
|
+
# 打开 http://localhost:3000
|
|
263
|
+
# 可视化管理 Spec,一键复制上下文
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## 常见问题
|
|
269
|
+
|
|
270
|
+
### Q: 为什么不把 kse 做成 AI 工具的插件?
|
|
271
|
+
|
|
272
|
+
**A**:
|
|
273
|
+
- kse 是**通用工具**,支持所有 AI 工具
|
|
274
|
+
- 做成插件会限制在特定工具
|
|
275
|
+
- CLI 工具更灵活,可以被任何工具调用
|
|
276
|
+
|
|
277
|
+
### Q: 能否让 AI 工具自动读取 .kiro/ 目录?
|
|
278
|
+
|
|
279
|
+
**A**:
|
|
280
|
+
- 部分工具支持(Cursor、Copilot)
|
|
281
|
+
- 但需要明确的上下文导出更可靠
|
|
282
|
+
- kse 的价值在于**结构化和格式化**上下文
|
|
283
|
+
|
|
284
|
+
### Q: 两套工具确实有点麻烦,有更简单的方案吗?
|
|
285
|
+
|
|
286
|
+
**A**:
|
|
287
|
+
- **短期**:使用 Windsurf/Cline,让 AI 自动调用 kse
|
|
288
|
+
- **中期**:使用快捷脚本(如 `kse-clip`)
|
|
289
|
+
- **长期**:MCP 集成,完全无缝
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## 总结
|
|
294
|
+
|
|
295
|
+
**kse 的定位**:
|
|
296
|
+
- ❌ 不是独立的开发工具
|
|
297
|
+
- ❌ 不是 AI 工具的竞争对手
|
|
298
|
+
- ✅ 是 AI 工具的**上下文提供者**
|
|
299
|
+
- ✅ 是项目的**Spec 管理系统**
|
|
300
|
+
|
|
301
|
+
**最佳实践**:
|
|
302
|
+
1. **用 kse 管理 Spec**(需求、设计、任务)
|
|
303
|
+
2. **用 AI 工具写代码**(主要工作界面)
|
|
304
|
+
3. **让 AI 工具调用 kse**(自动化集成)
|
|
305
|
+
|
|
306
|
+
**选择合适的模式**:
|
|
307
|
+
- 能执行命令的 AI → 模式 1(AI 主动调用)⭐
|
|
308
|
+
- 不能执行命令的 AI → 模式 2(手动导出)
|
|
309
|
+
- 频繁修改 Spec → 模式 3(Watch Mode)
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
**记住**:kse 是幕后英雄,AI 工具是前台明星。两者配合,才能发挥最大价值!🚀
|
|
@@ -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
|
+
```
|