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,711 @@
|
|
|
1
|
+
# 快速入门指南
|
|
2
|
+
|
|
3
|
+
> 5 分钟上手 kse - 从安装到第一个 AI 辅助功能实现
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
**版本**: 1.0.0
|
|
8
|
+
**最后更新**: 2026-01-23
|
|
9
|
+
**预计时间**: 5 分钟
|
|
10
|
+
**目标读者**: 初学者
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 你将学到什么
|
|
15
|
+
|
|
16
|
+
完成本指南后,你将能够:
|
|
17
|
+
- ✅ 安装 kse 并设置你的第一个项目
|
|
18
|
+
- ✅ 创建完整的 Spec(需求 → 设计 → 任务)
|
|
19
|
+
- ✅ 为你的 AI 工具导出上下文
|
|
20
|
+
- ✅ 使用 AI 基于 Spec 实现功能
|
|
21
|
+
- ✅ 跟踪任务进度
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 前置条件
|
|
26
|
+
|
|
27
|
+
开始之前,请确保你有:
|
|
28
|
+
- **Node.js** 14 或更高版本([下载](https://nodejs.org/))
|
|
29
|
+
- **npm** 6 或更高版本(随 Node.js 一起安装)
|
|
30
|
+
- 基本的命令行知识
|
|
31
|
+
- 一个 AI 编码工具(Claude、Cursor、Windsurf、Copilot 等)
|
|
32
|
+
|
|
33
|
+
检查你的版本:
|
|
34
|
+
```bash
|
|
35
|
+
node --version # 应显示 v14.0.0 或更高
|
|
36
|
+
npm --version # 应显示 6.0.0 或更高
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 步骤 1:安装 kse(30 秒)
|
|
42
|
+
|
|
43
|
+
使用 npm 全局安装 kse:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npm install -g kiro-spec-engine
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**预期输出:**
|
|
50
|
+
```
|
|
51
|
+
added 50 packages in 5s
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**验证安装:**
|
|
55
|
+
```bash
|
|
56
|
+
kse --version
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**预期输出:**
|
|
60
|
+
```
|
|
61
|
+
1.3.0
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**故障排除:**
|
|
65
|
+
- **"kse: command not found"** → 重启终端或检查 PATH
|
|
66
|
+
- **macOS/Linux 权限错误** → 使用 `sudo npm install -g kiro-spec-engine`
|
|
67
|
+
- **Windows 权限错误** → 以管理员身份运行终端
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 步骤 2:在项目中采用 kse(1 分钟)
|
|
72
|
+
|
|
73
|
+
进入你的项目目录(或创建新项目):
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# 对于现有项目
|
|
77
|
+
cd your-project
|
|
78
|
+
|
|
79
|
+
# 或创建新项目
|
|
80
|
+
mkdir my-awesome-app
|
|
81
|
+
cd my-awesome-app
|
|
82
|
+
git init # kse 最适合与 git 项目配合使用
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**采用 kse:**
|
|
86
|
+
```bash
|
|
87
|
+
kse adopt
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**预期输出:**
|
|
91
|
+
```
|
|
92
|
+
✓ 检测到项目类型:Node.js
|
|
93
|
+
✓ 创建 .kiro/ 目录
|
|
94
|
+
✓ 创建 specs/ 目录
|
|
95
|
+
✓ 创建 steering/ 目录
|
|
96
|
+
✓ 生成 CORE_PRINCIPLES.md
|
|
97
|
+
✓ 生成 ENVIRONMENT.md
|
|
98
|
+
✓ 生成 CURRENT_CONTEXT.md
|
|
99
|
+
|
|
100
|
+
✅ 项目成功采用 kse!
|
|
101
|
+
|
|
102
|
+
下一步:
|
|
103
|
+
1. 创建你的第一个 Spec:kse create-spec 01-00-my-feature
|
|
104
|
+
2. 阅读指南:.kiro/README.md
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**创建的内容:**
|
|
108
|
+
```
|
|
109
|
+
your-project/
|
|
110
|
+
├── .kiro/
|
|
111
|
+
│ ├── specs/ # 你的 Spec 将存放在这里
|
|
112
|
+
│ ├── steering/ # AI 行为规则
|
|
113
|
+
│ │ ├── CORE_PRINCIPLES.md
|
|
114
|
+
│ │ ├── ENVIRONMENT.md
|
|
115
|
+
│ │ └── CURRENT_CONTEXT.md
|
|
116
|
+
│ └── README.md # Kiro 系统文档
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**验证:**
|
|
120
|
+
```bash
|
|
121
|
+
kse status
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**预期输出:**
|
|
125
|
+
```
|
|
126
|
+
Project: my-awesome-app
|
|
127
|
+
Specs: 0
|
|
128
|
+
Status: Ready
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 步骤 3:创建你的第一个 Spec(2 分钟)
|
|
134
|
+
|
|
135
|
+
让我们为用户登录功能创建一个 Spec:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
kse create-spec 01-00-user-login
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**预期输出:**
|
|
142
|
+
```
|
|
143
|
+
✓ 创建 spec:01-00-user-login
|
|
144
|
+
✓ 创建 requirements.md
|
|
145
|
+
✓ 创建 design.md
|
|
146
|
+
✓ 创建 tasks.md
|
|
147
|
+
|
|
148
|
+
📝 下一步:
|
|
149
|
+
1. 编辑 requirements.md 定义你要构建什么
|
|
150
|
+
2. 编辑 design.md 定义你将如何构建
|
|
151
|
+
3. 编辑 tasks.md 分解实现步骤
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### 3.1 编写需求
|
|
155
|
+
|
|
156
|
+
打开 `.kiro/specs/01-00-user-login/requirements.md` 并编写:
|
|
157
|
+
|
|
158
|
+
```markdown
|
|
159
|
+
# 用户登录功能
|
|
160
|
+
|
|
161
|
+
## 概述
|
|
162
|
+
使用户能够使用邮箱和密码登录应用程序。
|
|
163
|
+
|
|
164
|
+
## 用户故事
|
|
165
|
+
|
|
166
|
+
### US-1:用户登录
|
|
167
|
+
**作为** 用户
|
|
168
|
+
**我想要** 使用邮箱和密码登录
|
|
169
|
+
**以便** 访问我的账户
|
|
170
|
+
|
|
171
|
+
### US-2:登录验证
|
|
172
|
+
**作为** 用户
|
|
173
|
+
**我想要** 在登录失败时看到清晰的错误消息
|
|
174
|
+
**以便** 知道出了什么问题
|
|
175
|
+
|
|
176
|
+
## 功能需求
|
|
177
|
+
|
|
178
|
+
### FR-1:登录表单
|
|
179
|
+
系统应提供包含以下内容的登录表单:
|
|
180
|
+
- 邮箱输入字段
|
|
181
|
+
- 密码输入字段
|
|
182
|
+
- 提交按钮
|
|
183
|
+
|
|
184
|
+
### FR-2:凭据验证
|
|
185
|
+
**当** 用户提交有效凭据时
|
|
186
|
+
**则** 系统验证用户并重定向到仪表板
|
|
187
|
+
|
|
188
|
+
**当** 用户提交无效凭据时
|
|
189
|
+
**则** 系统显示错误消息"邮箱或密码无效"
|
|
190
|
+
|
|
191
|
+
### FR-3:输入验证
|
|
192
|
+
**当** 用户提交空邮箱时
|
|
193
|
+
**则** 系统显示错误"邮箱为必填项"
|
|
194
|
+
|
|
195
|
+
**当** 用户提交无效邮箱格式时
|
|
196
|
+
**则** 系统显示错误"请输入有效的邮箱"
|
|
197
|
+
|
|
198
|
+
**当** 用户提交少于 6 个字符的密码时
|
|
199
|
+
**则** 系统显示错误"密码必须至少 6 个字符"
|
|
200
|
+
|
|
201
|
+
## 非功能需求
|
|
202
|
+
|
|
203
|
+
### NFR-1:安全性
|
|
204
|
+
- 密码必须在存储前进行哈希处理
|
|
205
|
+
- 使用 bcrypt,盐轮数 >= 10
|
|
206
|
+
- 实现速率限制(每分钟最多 5 次尝试)
|
|
207
|
+
|
|
208
|
+
### NFR-2:性能
|
|
209
|
+
- 登录响应时间 < 500ms
|
|
210
|
+
- 支持 100 个并发登录请求
|
|
211
|
+
|
|
212
|
+
### NFR-3:可用性
|
|
213
|
+
- 清晰的错误消息
|
|
214
|
+
- 可访问的表单(WCAG 2.1 Level AA)
|
|
215
|
+
|
|
216
|
+
## 验收标准
|
|
217
|
+
|
|
218
|
+
- [ ] 用户可以使用有效的邮箱和密码登录
|
|
219
|
+
- [ ] 用户在凭据无效时看到错误消息
|
|
220
|
+
- [ ] 邮箱验证正常工作
|
|
221
|
+
- [ ] 密码验证正常工作
|
|
222
|
+
- [ ] 密码在数据库中已哈希
|
|
223
|
+
- [ ] 速率限制防止暴力攻击
|
|
224
|
+
- [ ] 登录响应时间低于 500ms
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### 3.2 编写设计
|
|
228
|
+
|
|
229
|
+
打开 `.kiro/specs/01-00-user-login/design.md` 并编写:
|
|
230
|
+
|
|
231
|
+
```markdown
|
|
232
|
+
# 用户登录 - 设计文档
|
|
233
|
+
|
|
234
|
+
## 概述
|
|
235
|
+
此设计实现了一个安全的用户登录系统,具有邮箱/密码认证、输入验证和速率限制。
|
|
236
|
+
|
|
237
|
+
## 架构
|
|
238
|
+
|
|
239
|
+
### 系统组件
|
|
240
|
+
|
|
241
|
+
```mermaid
|
|
242
|
+
graph TD
|
|
243
|
+
A[登录表单] --> B[AuthController]
|
|
244
|
+
B --> C[ValidationService]
|
|
245
|
+
B --> D[AuthService]
|
|
246
|
+
D --> E[UserRepository]
|
|
247
|
+
D --> F[TokenService]
|
|
248
|
+
E --> G[数据库]
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
## API 设计
|
|
252
|
+
|
|
253
|
+
### POST /api/auth/login
|
|
254
|
+
|
|
255
|
+
**请求:**
|
|
256
|
+
```json
|
|
257
|
+
{
|
|
258
|
+
"email": "user@example.com",
|
|
259
|
+
"password": "secret123"
|
|
260
|
+
}
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
**成功响应 (200):**
|
|
264
|
+
```json
|
|
265
|
+
{
|
|
266
|
+
"success": true,
|
|
267
|
+
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
|
|
268
|
+
"user": {
|
|
269
|
+
"id": "123",
|
|
270
|
+
"email": "user@example.com",
|
|
271
|
+
"name": "张三"
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
**错误响应 (401):**
|
|
277
|
+
```json
|
|
278
|
+
{
|
|
279
|
+
"success": false,
|
|
280
|
+
"error": "邮箱或密码无效"
|
|
281
|
+
}
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
**错误响应 (429):**
|
|
285
|
+
```json
|
|
286
|
+
{
|
|
287
|
+
"success": false,
|
|
288
|
+
"error": "登录尝试次数过多。请稍后再试。"
|
|
289
|
+
}
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
## 组件设计
|
|
293
|
+
|
|
294
|
+
### AuthController
|
|
295
|
+
**职责:** 处理认证的 HTTP 请求
|
|
296
|
+
|
|
297
|
+
**方法:**
|
|
298
|
+
- `login(req, res)` - 处理登录请求
|
|
299
|
+
- `validateRequest(req)` - 验证请求格式
|
|
300
|
+
|
|
301
|
+
### ValidationService
|
|
302
|
+
**职责:** 验证用户输入
|
|
303
|
+
|
|
304
|
+
**方法:**
|
|
305
|
+
- `validateEmail(email)` - 检查邮箱格式
|
|
306
|
+
- `validatePassword(password)` - 检查密码要求
|
|
307
|
+
- 返回:`{ valid: boolean, errors: string[] }`
|
|
308
|
+
|
|
309
|
+
### AuthService
|
|
310
|
+
**职责:** 认证的业务逻辑
|
|
311
|
+
|
|
312
|
+
**方法:**
|
|
313
|
+
- `authenticate(email, password)` - 验证凭据
|
|
314
|
+
- `generateToken(user)` - 创建 JWT 令牌
|
|
315
|
+
- `hashPassword(password)` - 使用 bcrypt 哈希密码
|
|
316
|
+
|
|
317
|
+
### UserRepository
|
|
318
|
+
**职责:** 用户的数据库操作
|
|
319
|
+
|
|
320
|
+
**方法:**
|
|
321
|
+
- `findByEmail(email)` - 通过邮箱获取用户
|
|
322
|
+
- `updateLastLogin(userId)` - 更新最后登录时间戳
|
|
323
|
+
|
|
324
|
+
### RateLimiter
|
|
325
|
+
**职责:** 防止暴力攻击
|
|
326
|
+
|
|
327
|
+
**配置:**
|
|
328
|
+
- 最大尝试次数:每个 IP 每分钟 5 次
|
|
329
|
+
- 阻止时长:超过限制后 15 分钟
|
|
330
|
+
|
|
331
|
+
## 数据模型
|
|
332
|
+
|
|
333
|
+
### User
|
|
334
|
+
```javascript
|
|
335
|
+
{
|
|
336
|
+
id: string,
|
|
337
|
+
email: string,
|
|
338
|
+
passwordHash: string,
|
|
339
|
+
name: string,
|
|
340
|
+
createdAt: Date,
|
|
341
|
+
lastLoginAt: Date
|
|
342
|
+
}
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
## 安全考虑
|
|
346
|
+
|
|
347
|
+
1. **密码哈希:** 使用 bcrypt,10 个盐轮数
|
|
348
|
+
2. **JWT 令牌:** 使用密钥签名,24 小时后过期
|
|
349
|
+
3. **速率限制:** 实现每个 IP 的速率限制
|
|
350
|
+
4. **输入清理:** 清理所有用户输入
|
|
351
|
+
5. **仅 HTTPS:** 在生产环境中强制使用 HTTPS
|
|
352
|
+
|
|
353
|
+
## 错误处理
|
|
354
|
+
|
|
355
|
+
| 错误 | HTTP 代码 | 消息 |
|
|
356
|
+
|------|-----------|------|
|
|
357
|
+
| 无效凭据 | 401 | "邮箱或密码无效" |
|
|
358
|
+
| 缺少邮箱 | 400 | "邮箱为必填项" |
|
|
359
|
+
| 无效邮箱格式 | 400 | "请输入有效的邮箱" |
|
|
360
|
+
| 缺少密码 | 400 | "密码为必填项" |
|
|
361
|
+
| 密码太短 | 400 | "密码必须至少 6 个字符" |
|
|
362
|
+
| 超过速率限制 | 429 | "登录尝试次数过多。请稍后再试。" |
|
|
363
|
+
| 服务器错误 | 500 | "发生错误。请重试。" |
|
|
364
|
+
|
|
365
|
+
## 技术栈
|
|
366
|
+
|
|
367
|
+
- **后端:** Node.js + Express
|
|
368
|
+
- **数据库:** PostgreSQL
|
|
369
|
+
- **认证:** JWT (jsonwebtoken)
|
|
370
|
+
- **密码哈希:** bcrypt
|
|
371
|
+
- **速率限制:** express-rate-limit
|
|
372
|
+
- **验证:** validator.js
|
|
373
|
+
|
|
374
|
+
## 需求追溯
|
|
375
|
+
|
|
376
|
+
| 需求 | 设计组件 |
|
|
377
|
+
|------|----------|
|
|
378
|
+
| FR-1:登录表单 | AuthController.login() |
|
|
379
|
+
| FR-2:凭据验证 | AuthService.authenticate() |
|
|
380
|
+
| FR-3:输入验证 | ValidationService |
|
|
381
|
+
| NFR-1:安全性 | bcrypt、JWT、RateLimiter |
|
|
382
|
+
| NFR-2:性能 | 索引数据库查询 |
|
|
383
|
+
| NFR-3:可用性 | API 响应中的清晰错误消息 |
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
### 3.3 编写任务
|
|
387
|
+
|
|
388
|
+
打开 `.kiro/specs/01-00-user-login/tasks.md` 并编写:
|
|
389
|
+
|
|
390
|
+
```markdown
|
|
391
|
+
# 用户登录 - 实现任务
|
|
392
|
+
|
|
393
|
+
## 阶段 1:设置和模型
|
|
394
|
+
|
|
395
|
+
- [ ] 1.1 设置项目依赖
|
|
396
|
+
- 安装 express、bcrypt、jsonwebtoken、validator、express-rate-limit
|
|
397
|
+
- 配置 TypeScript(如果使用)
|
|
398
|
+
|
|
399
|
+
- [ ] 1.2 创建 User 模型和数据库架构
|
|
400
|
+
- 定义 User 接口/类
|
|
401
|
+
- 为 users 表创建数据库迁移
|
|
402
|
+
- 在 email 字段上添加索引
|
|
403
|
+
|
|
404
|
+
## 阶段 2:核心服务
|
|
405
|
+
|
|
406
|
+
- [ ] 2.1 实现 ValidationService
|
|
407
|
+
- 创建 validateEmail() 方法
|
|
408
|
+
- 创建 validatePassword() 方法
|
|
409
|
+
- 编写单元测试
|
|
410
|
+
|
|
411
|
+
- [ ] 2.2 实现 AuthService
|
|
412
|
+
- 创建 hashPassword() 方法
|
|
413
|
+
- 创建 authenticate() 方法
|
|
414
|
+
- 创建 generateToken() 方法
|
|
415
|
+
- 编写单元测试
|
|
416
|
+
|
|
417
|
+
- [ ] 2.3 实现 UserRepository
|
|
418
|
+
- 创建 findByEmail() 方法
|
|
419
|
+
- 创建 updateLastLogin() 方法
|
|
420
|
+
- 编写单元测试
|
|
421
|
+
|
|
422
|
+
## 阶段 3:API 实现
|
|
423
|
+
|
|
424
|
+
- [ ] 3.1 实现 AuthController
|
|
425
|
+
- 创建 login() 端点处理器
|
|
426
|
+
- 添加请求验证
|
|
427
|
+
- 添加错误处理
|
|
428
|
+
- 编写集成测试
|
|
429
|
+
|
|
430
|
+
- [ ] 3.2 实现速率限制
|
|
431
|
+
- 配置 express-rate-limit
|
|
432
|
+
- 应用到登录端点
|
|
433
|
+
- 测试速率限制行为
|
|
434
|
+
|
|
435
|
+
## 阶段 4:测试和文档
|
|
436
|
+
|
|
437
|
+
- [ ] 4.1 编写全面的测试
|
|
438
|
+
- 所有服务的单元测试
|
|
439
|
+
- API 端点的集成测试
|
|
440
|
+
- 测试错误场景
|
|
441
|
+
- 测试速率限制
|
|
442
|
+
|
|
443
|
+
- [ ] 4.2 创建 API 文档
|
|
444
|
+
- 记录请求/响应格式
|
|
445
|
+
- 添加示例请求
|
|
446
|
+
- 记录错误代码
|
|
447
|
+
|
|
448
|
+
- [ ] 4.3 手动测试
|
|
449
|
+
- 使用有效凭据测试
|
|
450
|
+
- 使用无效凭据测试
|
|
451
|
+
- 测试输入验证
|
|
452
|
+
- 测试速率限制
|
|
453
|
+
- 测试性能(响应时间 < 500ms)
|
|
454
|
+
|
|
455
|
+
## 阶段 5:部署
|
|
456
|
+
|
|
457
|
+
- [ ] 5.1 环境配置
|
|
458
|
+
- 设置环境变量
|
|
459
|
+
- 配置 JWT 密钥
|
|
460
|
+
- 配置数据库连接
|
|
461
|
+
|
|
462
|
+
- [ ] 5.2 部署到预发布环境
|
|
463
|
+
- 部署代码
|
|
464
|
+
- 运行冒烟测试
|
|
465
|
+
- 验证功能
|
|
466
|
+
|
|
467
|
+
## 注意事项
|
|
468
|
+
- 所有密码必须在存储前进行哈希处理
|
|
469
|
+
- 使用环境变量存储密钥
|
|
470
|
+
- 遵循项目编码标准
|
|
471
|
+
- 在标记任务完成前编写测试
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
---
|
|
475
|
+
|
|
476
|
+
## 步骤 4:为你的 AI 工具导出上下文(1 分钟)
|
|
477
|
+
|
|
478
|
+
现在你的 Spec 已完成,为你的 AI 工具导出它:
|
|
479
|
+
|
|
480
|
+
```bash
|
|
481
|
+
kse context export 01-00-user-login
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
**预期输出:**
|
|
485
|
+
```
|
|
486
|
+
✓ 上下文已导出到 .kiro/specs/01-00-user-login/context-export.md
|
|
487
|
+
✓ 上下文大小:3.2 KB
|
|
488
|
+
✓ 准备好与 AI 工具一起使用
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
**创建的内容:**
|
|
492
|
+
位于 `.kiro/specs/01-00-user-login/context-export.md` 的文件,包含:
|
|
493
|
+
- 所有需求
|
|
494
|
+
- 完整设计
|
|
495
|
+
- 任务列表
|
|
496
|
+
- 项目结构
|
|
497
|
+
- 为 AI 消费格式化
|
|
498
|
+
|
|
499
|
+
---
|
|
500
|
+
|
|
501
|
+
## 步骤 5:使用你的 AI 工具(1 分钟)
|
|
502
|
+
|
|
503
|
+
现在使用你的 AI 工具来实现功能。选择你的工具:
|
|
504
|
+
|
|
505
|
+
### 选项 A:Claude Code / ChatGPT
|
|
506
|
+
|
|
507
|
+
1. **打开上下文文件:**
|
|
508
|
+
```bash
|
|
509
|
+
# macOS
|
|
510
|
+
cat .kiro/specs/01-00-user-login/context-export.md | pbcopy
|
|
511
|
+
|
|
512
|
+
# Windows
|
|
513
|
+
type .kiro\specs\01-00-user-login\context-export.md | clip
|
|
514
|
+
|
|
515
|
+
# Linux
|
|
516
|
+
cat .kiro/specs/01-00-user-login/context-export.md | xclip -selection clipboard
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
2. **开始新对话** 与 Claude 或 ChatGPT
|
|
520
|
+
|
|
521
|
+
3. **粘贴上下文** 并说:
|
|
522
|
+
```
|
|
523
|
+
我已提供用户登录功能的完整 Spec。
|
|
524
|
+
请实现任务 1.1:"设置项目依赖"
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
4. **Claude/ChatGPT 将:**
|
|
528
|
+
- 理解你的需求和设计
|
|
529
|
+
- 生成适当的代码
|
|
530
|
+
- 遵循你的架构决策
|
|
531
|
+
|
|
532
|
+
### 选项 B:Cursor
|
|
533
|
+
|
|
534
|
+
1. **生成任务特定提示:**
|
|
535
|
+
```bash
|
|
536
|
+
kse prompt generate 01-00-user-login 1.1
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
2. **打开 Cursor Composer**(Cmd+K 或 Ctrl+K)
|
|
540
|
+
|
|
541
|
+
3. **粘贴生成的提示**
|
|
542
|
+
|
|
543
|
+
4. **Cursor 将:**
|
|
544
|
+
- 读取你的 Spec 文件
|
|
545
|
+
- 生成匹配你设计的代码
|
|
546
|
+
- 直接创建或修改文件
|
|
547
|
+
|
|
548
|
+
### 选项 C:Windsurf / Cline
|
|
549
|
+
|
|
550
|
+
1. **简单地告诉 AI:**
|
|
551
|
+
```
|
|
552
|
+
使用 kse 检查 01-00-user-login 的 spec 并实现任务 1.1
|
|
553
|
+
```
|
|
554
|
+
|
|
555
|
+
2. **AI 将:**
|
|
556
|
+
- 自动运行 `kse context export 01-00-user-login`
|
|
557
|
+
- 读取导出的上下文
|
|
558
|
+
- 实现任务
|
|
559
|
+
- 更新任务状态
|
|
560
|
+
|
|
561
|
+
### 选项 D:VS Code + Copilot
|
|
562
|
+
|
|
563
|
+
1. **创建新文件**(例如 `src/auth/AuthController.js`)
|
|
564
|
+
|
|
565
|
+
2. **添加引用你的 Spec 的注释:**
|
|
566
|
+
```javascript
|
|
567
|
+
// 任务 1.1:设置项目依赖
|
|
568
|
+
// 参见:.kiro/specs/01-00-user-login/design.md
|
|
569
|
+
//
|
|
570
|
+
// 安装:express、bcrypt、jsonwebtoken、validator、express-rate-limit
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
3. **Copilot 将:**
|
|
574
|
+
- 基于你的 Spec 建议代码
|
|
575
|
+
- 遵循你的设计模式
|
|
576
|
+
- 生成适当的实现
|
|
577
|
+
|
|
578
|
+
---
|
|
579
|
+
|
|
580
|
+
## 步骤 6:跟踪你的进度(30 秒)
|
|
581
|
+
|
|
582
|
+
完成任务后,更新任务状态:
|
|
583
|
+
|
|
584
|
+
**编辑** `.kiro/specs/01-00-user-login/tasks.md`:
|
|
585
|
+
|
|
586
|
+
```markdown
|
|
587
|
+
- [x] 1.1 设置项目依赖 ← 从 [ ] 改为 [x]
|
|
588
|
+
- [ ] 1.2 创建 User 模型和数据库架构
|
|
589
|
+
```
|
|
590
|
+
|
|
591
|
+
**检查你的进度:**
|
|
592
|
+
```bash
|
|
593
|
+
kse status
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
**预期输出:**
|
|
597
|
+
```
|
|
598
|
+
Project: my-awesome-app
|
|
599
|
+
Specs: 1
|
|
600
|
+
|
|
601
|
+
Spec: 01-00-user-login
|
|
602
|
+
Total tasks: 15
|
|
603
|
+
Completed: 1
|
|
604
|
+
In progress: 0
|
|
605
|
+
Not started: 14
|
|
606
|
+
Progress: 6.7%
|
|
607
|
+
```
|
|
608
|
+
|
|
609
|
+
---
|
|
610
|
+
|
|
611
|
+
## 下一步
|
|
612
|
+
|
|
613
|
+
恭喜!你已完成快速入门。以下是接下来要做的:
|
|
614
|
+
|
|
615
|
+
### 了解更多关于集成的信息
|
|
616
|
+
|
|
617
|
+
选择你的 AI 工具获取详细指导:
|
|
618
|
+
- **[Cursor 指南](../tools/cursor-guide.md)** - 深入了解 Cursor 集成
|
|
619
|
+
- **[Claude 指南](../tools/claude-guide.md)** - Claude Code 最佳实践
|
|
620
|
+
- **[Windsurf 指南](../tools/windsurf-guide.md)** - 使用 Windsurf 的自动化工作流
|
|
621
|
+
- **[通用指南](../tools/generic-guide.md)** - 适用于任何 AI 工具
|
|
622
|
+
|
|
623
|
+
### 探索高级功能
|
|
624
|
+
|
|
625
|
+
- **[集成模式](../integration-modes.md)** - 原生、手动和 Watch 模式
|
|
626
|
+
- **[Spec 工作流](../spec-workflow.md)** - 深入了解 Spec 创建
|
|
627
|
+
- **[命令参考](../command-reference.md)** - 所有 kse 命令
|
|
628
|
+
|
|
629
|
+
### 查看真实示例
|
|
630
|
+
|
|
631
|
+
- **[API 功能示例](../examples/add-rest-api/)** - 完整的 RESTful API Spec
|
|
632
|
+
- **[UI 功能示例](../examples/add-user-dashboard/)** - React 仪表板 Spec
|
|
633
|
+
- **[CLI 功能示例](../examples/add-export-command/)** - CLI 命令 Spec
|
|
634
|
+
|
|
635
|
+
---
|
|
636
|
+
|
|
637
|
+
## 故障排除
|
|
638
|
+
|
|
639
|
+
### 问题:"kse: command not found"
|
|
640
|
+
|
|
641
|
+
**解决方案:**
|
|
642
|
+
1. 重启终端
|
|
643
|
+
2. 检查 npm 全局 bin 是否在 PATH 中:
|
|
644
|
+
```bash
|
|
645
|
+
npm config get prefix
|
|
646
|
+
```
|
|
647
|
+
3. 如需要,添加到 PATH(macOS/Linux):
|
|
648
|
+
```bash
|
|
649
|
+
export PATH="$(npm config get prefix)/bin:$PATH"
|
|
650
|
+
```
|
|
651
|
+
|
|
652
|
+
### 问题:上下文文件对 AI 工具来说太大
|
|
653
|
+
|
|
654
|
+
**解决方案:** 生成任务特定提示:
|
|
655
|
+
```bash
|
|
656
|
+
kse prompt generate 01-00-user-login 1.1
|
|
657
|
+
```
|
|
658
|
+
|
|
659
|
+
这会为该任务创建一个更小、更集中的上下文。
|
|
660
|
+
|
|
661
|
+
### 问题:AI 不遵循我的设计
|
|
662
|
+
|
|
663
|
+
**解决方案:**
|
|
664
|
+
1. 使你的 design.md 更详细
|
|
665
|
+
2. 在 design.md 中添加代码示例
|
|
666
|
+
3. 在提示中明确说明:"严格遵循设计文档"
|
|
667
|
+
4. 包含 steering 规则:
|
|
668
|
+
```bash
|
|
669
|
+
kse context export 01-00-user-login --steering
|
|
670
|
+
```
|
|
671
|
+
|
|
672
|
+
### 问题:找不到我的 Spec 文件
|
|
673
|
+
|
|
674
|
+
**解决方案:**
|
|
675
|
+
所有 Spec 都在 `.kiro/specs/` 中:
|
|
676
|
+
```bash
|
|
677
|
+
ls .kiro/specs/
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
### 更多帮助
|
|
681
|
+
|
|
682
|
+
- 📖 **[故障排除指南](../troubleshooting.md)** - 常见问题和解决方案
|
|
683
|
+
- 🤔 **[常见问题](../faq.md)** - 常见问题解答
|
|
684
|
+
- 💬 **[GitHub Discussions](https://github.com/yourusername/kiro-spec-engine/discussions)** - 社区帮助
|
|
685
|
+
|
|
686
|
+
---
|
|
687
|
+
|
|
688
|
+
## 总结
|
|
689
|
+
|
|
690
|
+
你已学会如何:
|
|
691
|
+
- ✅ 安装和设置 kse
|
|
692
|
+
- ✅ 创建包含需求、设计和任务的结构化 Spec
|
|
693
|
+
- ✅ 为 AI 工具导出上下文
|
|
694
|
+
- ✅ 使用 AI 基于 Spec 实现功能
|
|
695
|
+
- ✅ 跟踪实现进度
|
|
696
|
+
|
|
697
|
+
**kse 工作流:**
|
|
698
|
+
```
|
|
699
|
+
创建 Spec → 导出上下文 → AI 实现 → 更新任务 → 重复
|
|
700
|
+
```
|
|
701
|
+
|
|
702
|
+
**准备好构建你的下一个功能了吗?** 🚀
|
|
703
|
+
|
|
704
|
+
```bash
|
|
705
|
+
kse create-spec 02-00-your-next-feature
|
|
706
|
+
```
|
|
707
|
+
|
|
708
|
+
---
|
|
709
|
+
|
|
710
|
+
**版本**: 1.0.0
|
|
711
|
+
**最后更新**: 2026-01-23
|