@localsummer/incspec 0.0.1

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.
@@ -0,0 +1,610 @@
1
+ # IncSpec 使用指南
2
+
3
+ AI 编码助手使用 IncSpec 进行增量规格驱动开发的操作指南。
4
+
5
+ ## 快速检查清单
6
+
7
+ - 初始化项目: `incspec init` (创建 `incspec/` 目录结构)
8
+ - 检查状态: `incspec status` 或 `incspec st`
9
+ - 按顺序执行6步工作流: analyze → collect-req → collect-dep → design → apply → merge
10
+ - 使用编号引用: `[S1]` 表示时序步骤, `[D1]` 表示依赖, `[C1]` 表示变更
11
+ - 标记增量: `[N1]` 新增, `[S1-Modified]` 修改, `[S1-Deleted]` 删除
12
+ - 继续前先验证: `incspec validate --strict`
13
+ - 合并后循环回到步骤1开始下一个增量周期
14
+
15
+ ## 六步工作流
16
+
17
+ ### 概览
18
+
19
+ ```
20
+ ┌─────────────────────────────────────────────────────────────────────────┐
21
+ │ IncSpec 六步增量开发周期 │
22
+ ├─────────────────────────────────────────────────────────────────────────┤
23
+ │ │
24
+ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
25
+ │ │ 步骤 1 │ │ 步骤 2 │ │ 步骤 3 │ │
26
+ │ │ 分析 │───▶│ 收集 │───▶│ 收集 │ │
27
+ │ │ 代码流 │ │ 需求 │ │ UI依赖 │ │
28
+ │ └──────────┘ └──────────┘ └──────────┘ │
29
+ │ ▲ │ │
30
+ │ │ ▼ │
31
+ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
32
+ │ │ 步骤 6 │ │ 步骤 5 │ │ 步骤 4 │ │
33
+ │ │ 合并到 │◀───│ 应用 │◀───│ 设计 │ │
34
+ │ │ 基线 │ │ 代码 │ │ 增量 │ │
35
+ │ └──────────┘ └──────────┘ └──────────┘ │
36
+ │ │ │
37
+ │ └──────────────── 循环回到步骤 1 ────────────────────────────▶ │
38
+ │ │
39
+ └─────────────────────────────────────────────────────────────────────────┘
40
+ ```
41
+
42
+ ### 步骤 1: 分析代码工作流
43
+
44
+ **命令**: `incspec analyze <source-path> [--module=name]`
45
+
46
+ **目的**: 生成包含 API 调用时序图和依赖关系图的基线快照。
47
+
48
+ **输出**: `incspec/baselines/{module}-baseline-v{n}.md`
49
+
50
+ **关键交付物**:
51
+ - 带编号步骤 `[S1]`, `[S2]`, `[S3]`... 的 Mermaid 时序图
52
+ - 带编号节点 `[D1]`, `[D2]`, `[D3]`... 的 Mermaid 依赖图
53
+ - 带关系分类 `[R1.1]`, `[R2.1]`, `[R3.1]`... 的依赖摘要
54
+
55
+ **输出结构示例**:
56
+ ```markdown
57
+ ## API 调用时序图
58
+
59
+ ```mermaid
60
+ sequenceDiagram
61
+ participant User as 用户
62
+ participant Component as 组件
63
+ participant API as 接口
64
+
65
+ User->>Component: [S1] 触发操作
66
+ Component->>API: [S2] fetchData()
67
+ API-->>Component: [S3] 响应
68
+ ```
69
+
70
+ ## 依赖关系图
71
+
72
+ ```mermaid
73
+ graph TD
74
+ D1[组件] --> D2[useStore]
75
+ D1 --> D3[API服务]
76
+ D2 --> D4[状态]
77
+ ```
78
+
79
+ ## 依赖摘要
80
+
81
+ | ID | 关系类型 | 描述 |
82
+ |----|----------|------|
83
+ | R1.1 | 串行 | S1 → S2 → S3 |
84
+ | R2.1 | 并行 | S4 ∥ S5 |
85
+ | R3.1 | 条件 | S6 → S7 (满足条件时) |
86
+ ```
87
+
88
+ ### 步骤 2: 收集结构化需求
89
+
90
+ **命令**: `incspec collect-req` (别名: `cr`)
91
+
92
+ **目的**: 交互式需求收集,转换为严格的5列格式。
93
+
94
+ **输出**: `incspec/requirements/structured-requirements.md`
95
+
96
+ **5列表格格式**:
97
+
98
+ | 列名 | 描述 |
99
+ |------|------|
100
+ | 新增/修改功能 | 正在添加或更改的内容 |
101
+ | 涉及的UI组件 | 受影响的组件 |
102
+ | 触发条件 | 触发此功能的条件 |
103
+ | 核心状态变更 | Store/Props/Context 的变化 |
104
+ | 预期数据流 | 数据在系统中的流转方式 |
105
+
106
+ **交互模式**:
107
+ 1. 从用户处收集初始需求
108
+ 2. 通过澄清问题消除歧义
109
+ 3. 转换为结构化5列格式
110
+ 4. 最终确定前与用户确认
111
+
112
+ ### 步骤 3: 收集 UI 依赖
113
+
114
+ **命令**: `incspec collect-dep` (别名: `cd`)
115
+
116
+ **目的**: 映射新增/修改 UI 组件的所有上下文依赖。
117
+
118
+ **输出**: `incspec/requirements/ui-dependencies.md`
119
+
120
+ **6个依赖维度**:
121
+
122
+ | 维度 | 示例 |
123
+ |------|------|
124
+ | UI组件库 | Arco Design, Antd, Element Plus |
125
+ | 状态管理 | Zustand, Pinia, Redux, MobX |
126
+ | API集成 | REST端点, GraphQL查询 |
127
+ | 类型定义 | Interfaces, types, enums |
128
+ | 工具函数 | Helpers, formatters, validators |
129
+ | 上下文/位置 | 文件路径, 父组件 |
130
+
131
+ ### 步骤 4: 设计增量
132
+
133
+ **命令**: `incspec design [--feature=name]` (别名: `d`)
134
+
135
+ **目的**: 创建全面的增量设计蓝图。
136
+
137
+ **输出**: `incspec/increments/{feature}-increment-v{n}.md`
138
+
139
+ **7个主要模块**:
140
+
141
+ 1. **一句话摘要** - 本次增量的核心目标
142
+ 2. **变更链设计表** - `[C1]`, `[C2]`, `[C3]`... 及其逻辑规格
143
+ 3. **规划的API调用时序图** - 原始 `[S]` + 新增 `[N]` + 修改 `[S-Modified]` + 删除 `[S-Deleted]`
144
+ 4. **规划的依赖关系图** - 原始 `[D]` + 新增 `[N]` + 修改 `[D_MOD]` + 删除 `[D_DEL]`
145
+ 5. **完整文件变更清单** - 操作类型 (create/modify/delete) 及精确路径
146
+ 6. **潜在风险与副作用** - 关注点检查清单
147
+ 7. **建议的测试用例** - 至少6个测试场景
148
+
149
+ **增量标记**:
150
+ - `[N1]`, `[N2]`... - 新增项
151
+ - `[S1-Modified]`, `[D2_MOD]` - 对现有项的修改
152
+ - `[S3-Deleted]`, `[D4_DEL]` - 删除项
153
+
154
+ ### 步骤 5: 应用代码变更
155
+
156
+ **命令**: `incspec apply [increment-path]` (别名: `ap`)
157
+
158
+ **目的**: 根据增量蓝图执行代码生成和修改。
159
+
160
+ **处理流程**:
161
+ 1. 解析增量蓝图 (模块2-5)
162
+ 2. 分析依赖并进行拓扑排序
163
+ 3. 执行顺序: Types → Utils → APIs → Store → Components
164
+ 4. 使用项目风格参考创建新文件
165
+ 5. 对现有文件进行精确编辑
166
+ 6. 验证 TypeScript 编译
167
+ 7. 输出变更摘要及统计信息
168
+
169
+ **审批门禁**: 在增量设计经过审查和批准之前,不要执行此步骤。
170
+
171
+ ### 步骤 6: 合并到基线
172
+
173
+ **命令**: `incspec merge [increment-path]` (别名: `m`)
174
+
175
+ **目的**: 将增量整合到新的基线快照中。
176
+
177
+ **处理流程**:
178
+ 1. 读取增量报告 (模块3-4)
179
+ 2. 移除所有增量标记 (N/Modified/Deleted)
180
+ 3. 将新节点与原始基线合并
181
+ 4. 重新编号为干净的 `[S1]`-`[Sxx]` 和 `[D1]`-`[Dxx]` 序列
182
+ 5. 输出新基线: `{module}-baseline-v{n+1}.md`
183
+
184
+ **结果**: 新基线成为下一个增量周期的起点。
185
+
186
+ ## 任务前准备
187
+
188
+ **上下文检查清单**:
189
+ - [ ] 运行 `incspec status` 检查当前工作流状态
190
+ - [ ] 阅读 `incspec/project.md` 了解项目约定
191
+ - [ ] 查看 `incspec/baselines/` 中的最新基线
192
+ - [ ] 检查 `incspec/increments/` 中待处理的增量
193
+ - [ ] 运行 `incspec list` 查看所有规格文件
194
+
195
+ **创建新增量前**:
196
+ - 始终从最新基线开始
197
+ - 在开始新增量之前完成上一个增量
198
+ - 使用 `incspec validate` 检查完整性
199
+ - 严格按步骤顺序执行: 1 → 2 → 3 → 4 → 5 → 6
200
+
201
+ ## 快速开始
202
+
203
+ ### CLI 命令
204
+
205
+ ```bash
206
+ # 初始化
207
+ incspec init # 交互式项目设置
208
+ incspec init --force # 强制重新初始化
209
+
210
+ # 状态与导航
211
+ incspec status / st # 查看当前工作流状态
212
+ incspec list / ls # 列出所有规格文件
213
+ incspec list baselines # 仅列出基线
214
+ incspec list -l # 长格式(含时间戳)
215
+ incspec list -a # 包含归档
216
+
217
+ # 6步工作流
218
+ incspec analyze <path> [--module=name] # 步骤1: 基线分析
219
+ incspec collect-req / cr # 步骤2: 需求收集
220
+ incspec collect-dep / cd # 步骤3: 依赖收集
221
+ incspec design [--feature=name] / d # 步骤4: 增量设计
222
+ incspec apply [path] / ap # 步骤5: 代码执行
223
+ incspec merge [path] / m # 步骤6: 基线合并
224
+
225
+ # 验证与管理
226
+ incspec validate / v # 验证完整性
227
+ incspec validate --strict # 严格验证模式
228
+ incspec archive # 归档当前工作流全部产出文件
229
+ incspec archive --workflow # 同上,显式指定
230
+ incspec archive <file> # 归档指定文件
231
+ incspec archive <file> --keep # 复制而非移动
232
+
233
+ # IDE 集成
234
+ incspec cursor-sync # 同步 Cursor 斜杠命令
235
+ incspec cursor-sync --project # 同步到项目目录
236
+ incspec cursor-sync --global # 同步到全局目录
237
+
238
+ # 帮助
239
+ incspec help [command] # 显示帮助
240
+ incspec --version / -v # 显示版本
241
+ ```
242
+
243
+ ### Cursor 斜杠命令
244
+
245
+ 运行 `incspec cursor-sync` 后,以下命令可用:
246
+
247
+ | 命令 | 步骤 | 描述 |
248
+ |------|------|------|
249
+ | `/incspec/inc-analyze` | 1 | 分析代码流,生成基线 |
250
+ | `/incspec/inc-collect-req` | 2 | 收集结构化需求 |
251
+ | `/incspec/inc-collect-dep` | 3 | 收集UI依赖 |
252
+ | `/incspec/inc-design` | 4 | 设计增量蓝图 |
253
+ | `/incspec/inc-apply` | 5 | 应用代码变更 |
254
+ | `/incspec/inc-merge` | 6 | 合并到基线 |
255
+ | `/incspec/inc-status` | - | 检查工作流状态 |
256
+ | `/incspec/inc-help` | - | 显示帮助 |
257
+
258
+ ## 目录结构
259
+
260
+ ```
261
+ incspec/
262
+ ├── project.md # 项目配置 (名称、技术栈、源码目录)
263
+ ├── WORKFLOW.md # 工作流状态跟踪
264
+ ├── AGENTS.md # AI编码助手使用指南
265
+ ├── baselines/ # 版本控制的基线快照
266
+ │ └── {module}-baseline-v{n}.md
267
+ ├── requirements/ # 结构化需求与UI依赖
268
+ │ ├── structured-requirements.md
269
+ │ └── ui-dependencies.md
270
+ ├── increments/ # 增量设计蓝图
271
+ │ └── {feature}-increment-v{n}.md
272
+ └── archives/ # 历史记录
273
+ └── YYYY-MM/ # 按月份组织
274
+ └── {module}/ # 按工作流模块分组
275
+ ```
276
+
277
+ ## 编号系统
278
+
279
+ ### 时序编号
280
+
281
+ 用于 Mermaid sequenceDiagram 中的 API 调用和状态变更:
282
+
283
+ | 格式 | 用途 | 示例 |
284
+ |------|------|------|
285
+ | `[S1]`, `[S2]`... | 原始基线步骤 | `[S1] 用户点击按钮` |
286
+ | `[N1]`, `[N2]`... | 增量中的新步骤 | `[N1] 验证输入` |
287
+ | `[S1-Modified]` | 修改的现有步骤 | `[S1-Modified] 增强验证` |
288
+ | `[S3-Deleted]` | 删除的步骤 | `[S3-Deleted] 移除遗留调用` |
289
+
290
+ ### 依赖节点编号
291
+
292
+ 用于 Mermaid graph 中的依赖关系:
293
+
294
+ | 格式 | 用途 | 示例 |
295
+ |------|------|------|
296
+ | `[D1]`, `[D2]`... | 原始基线节点 | `D1[UserStore]` |
297
+ | `[N1]`, `[N2]`... | 增量中的新节点 | `N1[ValidationUtil]` |
298
+ | `[D2_MOD]` | 修改的现有节点 | `D2_MOD[增强的API]` |
299
+ | `[D3_DEL]` | 删除的节点 | `D3_DEL[遗留服务]` |
300
+
301
+ ### 变更链编号
302
+
303
+ 用于增量设计表:
304
+
305
+ | 格式 | 用途 |
306
+ |------|------|
307
+ | `[C1]`, `[C2]`... | 顺序变更操作 |
308
+
309
+ ### 关系编号
310
+
311
+ 用于依赖摘要:
312
+
313
+ | 格式 | 分类 | 描述 |
314
+ |------|------|------|
315
+ | `[R1.x]` | 串行 | 顺序依赖 |
316
+ | `[R2.x]` | 并行 | 并发调用组 |
317
+ | `[R3.x]` | 条件 | 基于条件的依赖 |
318
+
319
+ ## 文件格式
320
+
321
+ ### 基线文件结构
322
+
323
+ ```markdown
324
+ ---
325
+ module: home
326
+ version: 1
327
+ created: 2024-01-15T10:00:00Z
328
+ source_path: src/pages/Home
329
+ ---
330
+
331
+ # {Module} 基线 v{n}
332
+
333
+ ## API 调用时序图
334
+
335
+ ```mermaid
336
+ sequenceDiagram
337
+ participant User as 用户
338
+ participant Component as 组件
339
+ participant Store as 状态
340
+ participant API as 接口
341
+
342
+ User->>Component: [S1] 挂载组件
343
+ Component->>Store: [S2] 初始化状态
344
+ Store->>API: [S3] fetchInitialData()
345
+ API-->>Store: [S4] 响应
346
+ Store-->>Component: [S5] 更新视图
347
+ ```
348
+
349
+ ## 依赖关系图
350
+
351
+ ```mermaid
352
+ graph TD
353
+ D1[HomePage] --> D2[useHomeStore]
354
+ D1 --> D3[HomeAPI]
355
+ D2 --> D4[UserState]
356
+ D3 --> D5[HttpClient]
357
+ ```
358
+
359
+ ## 依赖摘要
360
+
361
+ | ID | 类型 | 关系 | 描述 |
362
+ |----|------|------|------|
363
+ | R1.1 | 串行 | S1 → S2 → S3 | 挂载到获取序列 |
364
+ | R1.2 | 串行 | S3 → S4 → S5 | API响应流 |
365
+ | R2.1 | 并行 | D2 ∥ D3 | Store和API相互独立 |
366
+ ```
367
+
368
+ ### 增量文件结构
369
+
370
+ ```markdown
371
+ ---
372
+ feature: batch-operation
373
+ version: 1
374
+ baseline: home-baseline-v1
375
+ created: 2024-01-16T14:00:00Z
376
+ ---
377
+
378
+ # {Feature} 增量 v{n}
379
+
380
+ ## 1. 一句话摘要
381
+
382
+ 为列表视图添加批量选择和批量操作功能。
383
+
384
+ ## 2. 变更链设计表
385
+
386
+ | ID | 变更 | 文件 | 操作 | 逻辑规格 |
387
+ |----|------|------|------|----------|
388
+ | C1 | 添加选择状态 | store/list.ts | modify | 跟踪已选ID |
389
+ | C2 | 添加批量操作 | components/BatchActions.tsx | create | 批量操作UI |
390
+ | C3 | 添加批量API | api/batch.ts | create | 批量操作端点 |
391
+
392
+ ## 3. 规划的API调用时序图
393
+
394
+ ```mermaid
395
+ sequenceDiagram
396
+ participant User as 用户
397
+ participant List as 列表
398
+ participant Store as 状态
399
+ participant API as 接口
400
+
401
+ User->>List: [S1] 查看列表
402
+ List->>Store: [S2] 加载项目
403
+ User->>List: [N1] 切换选择
404
+ List->>Store: [N2] 更新selectedIds
405
+ User->>List: [N3] 点击批量操作
406
+ List->>API: [N4] batchOperation()
407
+ API-->>List: [N5] 响应
408
+ List->>Store: [N6] 刷新列表
409
+ ```
410
+
411
+ ## 4. 规划的依赖关系图
412
+
413
+ ```mermaid
414
+ graph TD
415
+ D1[ListPage] --> D2[useListStore]
416
+ D1 --> N1[BatchActions]
417
+ N1 --> N2[useBatchStore]
418
+ N2 --> N3[BatchAPI]
419
+ D2 --> D2_MOD[增强的状态]
420
+ ```
421
+
422
+ ## 5. 完整文件变更清单
423
+
424
+ | 操作 | 路径 | 描述 |
425
+ |------|------|------|
426
+ | create | src/components/BatchActions.tsx | 批量操作按钮 |
427
+ | create | src/api/batch.ts | 批量API服务 |
428
+ | create | src/store/batch.ts | 批量选择状态 |
429
+ | modify | src/store/list.ts | 添加选择跟踪 |
430
+ | modify | src/pages/List.tsx | 集成批量UI |
431
+
432
+ ## 6. 潜在风险与副作用
433
+
434
+ - [ ] 性能: 大量选择可能导致渲染变慢
435
+ - [ ] 状态同步: 批量操作后需清除选择状态
436
+ - [ ] 错误处理: 部分批量失败需要优雅处理
437
+ - [ ] 用户体验: 批量操作期间的加载状态
438
+
439
+ ## 7. 建议的测试用例
440
+
441
+ | # | 测试用例 | 预期结果 |
442
+ |---|----------|----------|
443
+ | 1 | 选择单个项目 | 项目高亮,计数显示1 |
444
+ | 2 | 选择全部项目 | 所有项目高亮 |
445
+ | 3 | 取消选择项目 | 项目取消高亮,计数递减 |
446
+ | 4 | 执行批量删除 | 已选项目被移除 |
447
+ | 5 | 批量操作失败 | 显示错误消息,项目保留 |
448
+ | 6 | 取消选择 | 所有项目取消选择 |
449
+ ```
450
+
451
+ ### 需求文件结构
452
+
453
+ ```markdown
454
+ ---
455
+ created: 2024-01-16T10:00:00Z
456
+ updated: 2024-01-16T14:30:00Z
457
+ ---
458
+
459
+ # 结构化需求
460
+
461
+ ## 功能需求
462
+
463
+ | 功能 | UI组件 | 触发条件 | 状态变更 | 数据流 |
464
+ |------|--------|----------|----------|--------|
465
+ | 批量删除 | List, BatchActions | 点击删除按钮 | selectedIds → clear | 用户 → Store → API → 刷新 |
466
+ | 批量导出 | List, ExportModal | 点击导出按钮 | exportFormat | 用户 → Store → API → 下载 |
467
+
468
+ ## 澄清问题
469
+
470
+ - 问: 批量操作的最大数量是多少?
471
+ - 答: 每次操作100项
472
+
473
+ - 问: 删除的项目是否可恢复?
474
+ - 答: 否,此功能接受硬删除
475
+ ```
476
+
477
+ ## 最佳实践
478
+
479
+ ### 工作流纪律
480
+
481
+ 1. **不要跳过步骤** - 每个步骤都建立在前一步的基础上
482
+ 2. **一次一个增量** - 完成后再开始下一个
483
+ 3. **频繁验证** - 继续前运行 `incspec validate`
484
+ 4. **保持基线最新** - 实施成功后始终合并
485
+
486
+ ### 编号一致性
487
+
488
+ 1. **使用连续编号** - 序列中不能有间隙
489
+ 2. **适当使用前缀** - S表示时序, D表示依赖, C表示变更
490
+ 3. **清晰标记修改** - 始终标注Modified/Deleted
491
+ 4. **合并时重新编号** - 基线中保持干净序列
492
+
493
+ ### 文档质量
494
+
495
+ 1. **具体明确** - 精确的文件路径、函数名、类型
496
+ 2. **包含示例** - 清单中的代码片段
497
+ 3. **列出所有风险** - 即使是小问题
498
+ 4. **全面测试** - 覆盖边界情况
499
+
500
+ ### 代码生成安全
501
+
502
+ 1. **应用前审查** - 始终审查增量设计
503
+ 2. **变更前备份** - 先提交当前状态
504
+ 3. **验证TypeScript** - 确保编译通过
505
+ 4. **增量测试** - 每次变更后运行测试
506
+
507
+ ## 故障排除
508
+
509
+ ### 常见错误
510
+
511
+ **"Workflow not initialized"**
512
+ - 运行 `incspec init` 设置项目
513
+ - 检查 `incspec/` 目录是否存在
514
+
515
+ **"No baseline found"**
516
+ - 先完成步骤1 (analyze)
517
+ - 检查 `incspec/baselines/` 目录
518
+
519
+ **"Previous step not completed"**
520
+ - 运行 `incspec status` 检查进度
521
+ - 按顺序完成待处理步骤
522
+
523
+ **"Validation failed"**
524
+ - 检查文件格式是否符合预期结构
525
+ - 确保所有必需部分都存在
526
+ - 验证编号序列
527
+
528
+ ### 验证技巧
529
+
530
+ ```bash
531
+ # 检查整体完整性
532
+ incspec validate --strict
533
+
534
+ # 列出文件以验证结构
535
+ incspec list -l
536
+
537
+ # 检查当前状态
538
+ incspec status
539
+ ```
540
+
541
+ ### 恢复步骤
542
+
543
+ 1. **工作流卡住**: 删除 `WORKFLOW.md` 并重新开始
544
+ 2. **基线损坏**: 从 `archives/` 恢复或重新生成
545
+ 3. **合并失败**: 使用最新基线重新运行合并
546
+
547
+ ## 快速参考
548
+
549
+ ### 工作流状态
550
+
551
+ | 状态 | 描述 |
552
+ |------|------|
553
+ | `pending` | 步骤未开始 |
554
+ | `in_progress` | 步骤正在进行 |
555
+ | `completed` | 步骤已完成 |
556
+
557
+ ### 文件类型
558
+
559
+ | 目录 | 用途 | 版本控制 |
560
+ |------|------|----------|
561
+ | `baselines/` | 当前真相 | 是 (v1, v2...) |
562
+ | `requirements/` | 收集的规格 | 否 |
563
+ | `increments/` | 变更提案 | 是 (v1, v2...) |
564
+ | `archives/` | 历史记录 | 按日期 |
565
+
566
+ ### CLI 快捷方式
567
+
568
+ | 完整命令 | 别名 | 描述 |
569
+ |----------|------|------|
570
+ | `status` | `st` | 查看状态 |
571
+ | `collect-req` | `cr` | 需求收集 |
572
+ | `collect-dep` | `cd` | 依赖收集 |
573
+ | `design` | `d` | 设计 |
574
+ | `apply` | `ap` | 应用 |
575
+ | `merge` | `m` | 合并 |
576
+ | `list` | `ls` | 列出文件 |
577
+ | `validate` | `v` | 验证 |
578
+
579
+ ### 常用命令
580
+
581
+ ```bash
582
+ incspec status # 我在哪里?
583
+ incspec list # 有什么?
584
+ incspec validate --strict # 是否正确?
585
+ incspec cursor-sync # 设置IDE命令
586
+ ```
587
+
588
+ ## 与AI助手集成
589
+
590
+ ### 推荐工作流
591
+
592
+ 1. **人类**: 提供高层需求
593
+ 2. **AI**: 运行步骤1 (analyze) 理解代码库
594
+ 3. **AI**: 运行步骤2 (collect-req) 并提出澄清问题
595
+ 4. **AI**: 运行步骤3 (collect-dep) 映射依赖
596
+ 5. **AI**: 运行步骤4 (design) 创建蓝图
597
+ 6. **人类**: 审查并批准增量设计
598
+ 7. **AI**: 运行步骤5 (apply) 生成代码
599
+ 8. **人类**: 测试并验证变更
600
+ 9. **AI**: 运行步骤6 (merge) 更新基线
601
+ 10. **循环**: 返回步骤1开始下一个增量
602
+
603
+ ### 核心原则
604
+
605
+ - **增量优于大爆炸** - 小的、经过验证的变更
606
+ - **规格驱动** - 需求先于代码
607
+ - **可追溯** - 每个变更都关联到需求
608
+ - **可逆转** - 基线提供回滚点
609
+
610
+ 记住: 基线是真相。增量是提案。通过6步周期保持它们同步。
@@ -0,0 +1,19 @@
1
+ <!-- INCSPEC:START -->
2
+ # IncSpec 指令
3
+
4
+ 本指令适用于在此项目中工作的 AI 助手。
5
+
6
+ 当请求符合以下情况时,请始终打开 `@/incspec/AGENTS.md`:
7
+ - 涉及增量开发或编码工作流
8
+ - 引入需要分步实现的新功能
9
+ - 需要基线分析、需求收集或代码生成
10
+ - 请求含义模糊,需要先了解规范工作流再编码
11
+
12
+ 通过 `@/incspec/AGENTS.md` 可以了解:
13
+ - 如何使用 6 步增量编码工作流
14
+ - 规范格式与约定
15
+ - 项目结构与指南
16
+
17
+ 请保留此托管块,以便 'incspec init' 可以刷新指令内容。
18
+
19
+ <!-- INCSPEC:END -->
@@ -0,0 +1,22 @@
1
+ # Workflow Status
2
+
3
+ **当前工作流**: -
4
+ **当前步骤**: -
5
+ **开始时间**: -
6
+ **最后更新**: {{last_update}}
7
+
8
+ ## 步骤进度
9
+
10
+ | 步骤 | 状态 | 输出文件 | 完成时间 |
11
+ |------|------|---------|---------|
12
+ | 1. analyze-codeflow | pending | - | - |
13
+ | 2. collect-requirements | pending | - | - |
14
+ | 3. collect-dependencies | pending | - | - |
15
+ | 4. design-increment | pending | - | - |
16
+ | 5. apply-code | pending | - | - |
17
+ | 6. merge-baseline | pending | - | - |
18
+
19
+ ## 工作流历史
20
+
21
+ | 工作流 | 状态 | 开始时间 | 完成时间 |
22
+ |--------|------|---------|---------|