@localsummer/incspec 0.0.7 → 0.0.8

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.
@@ -4,48 +4,69 @@ AI 编码助手使用 IncSpec 进行增量规格驱动开发的操作指南。
4
4
 
5
5
  ## 快速检查清单
6
6
 
7
+ **完整模式 (7步):**
7
8
  - 初始化项目: `incspec init` (创建 `incspec/` 目录结构)
8
9
  - 检查状态: `incspec status` 或 `incspec st`
9
- - 按顺序执行6步工作流: analyze → collect-req → collect-dep → design → apply → merge
10
+ - 按顺序执行7步工作流: analyze → collect-req → collect-dep → design → apply → merge -> archive
10
11
  - 使用编号引用: `[S1]` 表示时序步骤, `[D1]` 表示依赖, `[C1]` 表示变更
11
12
  - 标记增量: `[N1]` 新增, `[S1-Modified]` 修改, `[S1-Deleted]` 删除
12
13
  - 继续前先验证: `incspec validate --strict`
13
14
  - 合并后循环回到步骤1开始下一个增量周期
14
15
 
15
- ## 六步工作流
16
+ **快速模式 (5步):**
17
+ - 启动快速模式: `incspec analyze <path> --quick`
18
+ - 按顺序执行: analyze → collect-req → apply → merge -> archive
19
+ - 跳过步骤 3 (UI依赖采集) 和步骤 4 (增量设计)
20
+ - 适用于 Bug 修复、简单功能、不涉及复杂 UI 依赖的变更
21
+
22
+ ## 七步工作流
16
23
 
17
24
  ### 概览
18
25
 
19
26
  ```
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
- └─────────────────────────────────────────────────────────────────────────┘
27
+ ┌───────────────────────────────────────────────────────────────────────────────────┐
28
+ IncSpec 工作流模式
29
+ ├───────────────────────────────────────────────────────────────────────────────────┤
30
+
31
+ 完整模式 (7步):
32
+
33
+ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
34
+ │ │ 步骤 1 │ │ 步骤 2 │ │ 步骤 3 步骤 4 │ │
35
+ │ │ 分析 │───▶│ 收集 │───▶│ 收集 │───▶│ 设计 │ │
36
+ 代码流 │ 需求 │ │ UI依赖 │ │ 增量 │ │
37
+ └──────────┘ └──────────┘ └──────────┘ └──────────┘
38
+
39
+
40
+ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
41
+ │ │ │ │ 步骤 7 │ │ 步骤 6 │ │ 步骤 5
42
+ │ 循环 │◀───│ 归档 │◀───│ 合并到 │◀───│ 应用
43
+ │ 产出 │ │ 基线 │ │ 代码 │ │
44
+ └──────────┘ └──────────┘ └──────────┘ └──────────┘
45
+
46
+ │ 快速模式 (5步): │
47
+ │ │
48
+ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
49
+ │ │ 步骤 1 │ │ 步骤 2 │ │ 步骤 5 │ │ 步骤 6 │ │ 步骤 7 │ │
50
+ │ │ 分析 │───▶│ 收集 │───▶│ 应用 │───▶│ 合并到 │───▶│ 归档 │ │
51
+ │ │ 代码流 │ │ 需求 │ │ 代码 │ │ 基线 │ │ 产出 │ │
52
+ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
53
+ │ (跳过步骤 3 UI依赖采集 和 步骤 4 增量设计) │
54
+ │ │
55
+ └───────────────────────────────────────────────────────────────────────────────────┘
40
56
  ```
41
57
 
58
+ **模式选择:**
59
+ - **完整模式**: 复杂 UI 功能、多组件交互、需要详细设计审查
60
+ - **快速模式**: Bug 修复、简单功能、不涉及 UI 依赖变更
61
+
42
62
  ### 步骤 1: 分析代码工作流
43
63
 
44
- **命令**: `incspec analyze <source-path> [--module=name] [--baseline=file]`
64
+ **命令**: `incspec analyze <source-path> [--module=name] [--quick] [--baseline=file]`
45
65
 
46
66
  **目的**: 生成包含 API 调用时序图和依赖关系图的基线快照。
47
67
 
48
68
  **选项**:
69
+ - `--quick`: 启动快速模式 (5步流程)
49
70
  - `--baseline=<file>`: 使用现有基准报告,自动从 baselines/ 或 archives/ 目录恢复
50
71
 
51
72
  **输出**: `incspec/baselines/{module}-baseline-v{n}.md`
@@ -186,6 +207,19 @@ graph TD
186
207
 
187
208
  **结果**: 新基线成为下一个增量周期的起点。
188
209
 
210
+ ### 步骤 7: 归档工作流产出
211
+
212
+ **命令**: `incspec archive [--yes] [<file>] [--keep]`
213
+
214
+ **目的**: 将已完成的工作流产出文件归档到历史记录目录。
215
+
216
+ **处理流程**:
217
+ 1. 确定要归档的文件 (默认全部当前工作流产出)
218
+ 2. 创建归档目录: `incspec/archives/YYYY-MM/{module}/`
219
+ 3. 移动或复制文件到归档目录 (取决于 `--keep` 选项)
220
+ 4. 更新工作流状态以反映归档
221
+
222
+
189
223
  ## 任务前准备
190
224
 
191
225
  **上下文检查清单**:
@@ -199,7 +233,7 @@ graph TD
199
233
  - 始终从最新基线开始
200
234
  - 在开始新增量之前完成上一个增量
201
235
  - 使用 `incspec validate` 检查完整性
202
- - 严格按步骤顺序执行: 1 → 2 → 3 → 4 → 5 → 6
236
+ - 严格按步骤顺序执行: 1 → 2 → 3 → 4 → 5 → 6 → 7
203
237
 
204
238
  ## 快速开始
205
239
 
@@ -217,13 +251,14 @@ incspec list baselines # 仅列出基线
217
251
  incspec list -l # 长格式(含时间戳)
218
252
  incspec list -a # 包含归档
219
253
 
220
- # 6步工作流
221
- incspec analyze <path> [--module=name] [--baseline=file] # 步骤1: 基线分析
254
+ # 7步工作流
255
+ incspec analyze <path> [--module=name] [--quick] [--baseline=file] # 步骤1: 基线分析
222
256
  incspec collect-req / cr # 步骤2: 需求收集
223
- incspec collect-dep / cd # 步骤3: 依赖收集
224
- incspec design [--feature=name] / d # 步骤4: 增量设计
257
+ incspec collect-dep / cd # 步骤3: 依赖收集 (快速模式跳过)
258
+ incspec design [--feature=name] / d # 步骤4: 增量设计 (快速模式跳过)
225
259
  incspec apply [path] / ap # 步骤5: 代码执行
226
260
  incspec merge [path] / m # 步骤6: 基线合并
261
+ incspec archive --yes # 步骤7: 归档产出
227
262
 
228
263
  # 验证与管理
229
264
  incspec validate / v # 验证完整性
@@ -258,6 +293,7 @@ incspec --version / -v # 显示版本
258
293
  | `/incspec/inc-design` | 4 | 设计增量蓝图 |
259
294
  | `/incspec/inc-apply` | 5 | 应用代码变更 |
260
295
  | `/incspec/inc-merge` | 6 | 合并到基线 |
296
+ | `/incspec/inc-archive` | 7 | 归档工作流产出 |
261
297
  | `/incspec/inc-status` | - | 检查工作流状态 |
262
298
  | `/incspec/inc-help` | - | 显示帮助 |
263
299
 
@@ -484,7 +520,7 @@ updated: 2024-01-16T14:30:00Z
484
520
 
485
521
  ### 工作流纪律
486
522
 
487
- 1. **不要跳过步骤** - 每个步骤都建立在前一步的基础上
523
+ 1. **不要跳过步骤** - 完整模式按1-7顺序执行,快速模式按1-2-5-6-7执行
488
524
  2. **一次一个增量** - 完成后再开始下一个
489
525
  3. **频繁验证** - 继续前运行 `incspec validate`
490
526
  4. **保持基线最新** - 实施成功后始终合并
@@ -595,6 +631,8 @@ incspec sync # 设置IDE命令
595
631
 
596
632
  ### 推荐工作流
597
633
 
634
+ **完整模式 (7步):**
635
+
598
636
  1. **人类**: 提供高层需求
599
637
  2. **AI**: 运行步骤1 (analyze) 理解代码库
600
638
  3. **AI**: 运行步骤2 (collect-req) 并提出澄清问题
@@ -604,7 +642,19 @@ incspec sync # 设置IDE命令
604
642
  7. **AI**: 运行步骤5 (apply) 生成代码
605
643
  8. **人类**: 测试并验证变更
606
644
  9. **AI**: 运行步骤6 (merge) 更新基线
607
- 10. **循环**: 返回步骤1开始下一个增量
645
+ 10. **AI**: 运行步骤7 (archive) 归档产出
646
+ 11. **循环**: 返回步骤1开始下一个增量
647
+
648
+ **快速模式 (5步):**
649
+
650
+ 1. **人类**: 提供简单需求 (Bug修复/小功能)
651
+ 2. **AI**: 运行步骤1 (analyze --quick) 理解代码库
652
+ 3. **AI**: 运行步骤2 (collect-req) 收集需求
653
+ 4. **AI**: 运行步骤5 (apply) 生成代码
654
+ 5. **人类**: 测试并验证变更
655
+ 6. **AI**: 运行步骤6 (merge) 更新基线
656
+ 7. **AI**: 运行步骤7 (archive) 归档产出
657
+ 8. **循环**: 返回步骤1开始下一个增量
608
658
 
609
659
  ### 核心原则
610
660
 
@@ -613,4 +663,4 @@ incspec sync # 设置IDE命令
613
663
  - **可追溯** - 每个变更都关联到需求
614
664
  - **可逆转** - 基线提供回滚点
615
665
 
616
- 记住: 基线是真相。增量是提案。通过6步周期保持它们同步。
666
+ 记住: 基线是真相。增量是提案。通过7步周期保持它们同步。
@@ -10,7 +10,7 @@
10
10
  - 请求含义模糊,需要先了解规范工作流再编码
11
11
 
12
12
  通过 `@/incspec/AGENTS.md` 可以了解:
13
- - 如何使用 6 步增量编码工作流
13
+ - 如何使用 7 步增量编码工作流
14
14
  - 规范格式与约定
15
15
  - 项目结构与指南
16
16
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  **当前工作流**: -
4
4
  **当前步骤**: -
5
+ **工作流模式**: full
5
6
  **开始时间**: -
6
7
  **最后更新**: {{last_update}}
7
8
 
@@ -18,6 +18,17 @@ incspec analyze <source-path> --module=<module> --workflow=analyze-<module>
18
18
  incspec analyze <source-path> --module=<module> --workflow=analyze-<module> --complete --output=<output-file>
19
19
  ```
20
20
 
21
+ **启动快速模式工作流** (5步流程):
22
+
23
+ ```bash
24
+ incspec analyze <source-path> --module=<module> --quick
25
+ ```
26
+
27
+ 快速模式跳过步骤 3 (UI依赖采集) 和步骤 4 (增量设计),直接从需求进入代码应用。适用于:
28
+ - Bug 修复
29
+ - 简单功能迭代
30
+ - 不涉及复杂 UI 依赖变更的任务
31
+
21
32
  **使用现有基准报告** (跳过分析):
22
33
 
23
34
  若已有基准报告文件,可直接使用:
@@ -27,7 +38,7 @@ incspec analyze --baseline=<baseline-file> [--module=<module>] [--workflow=<work
27
38
  ```
28
39
 
29
40
  说明:
30
- - `<baseline-file>` 文件名,自动搜索 baselines/ 和 archives/ 目录
41
+ - `<baseline-file>` 文件名,自动递归搜索 baselines/ 和 archives/ 目录
31
42
  - 若文件在归档目录,自动移动到 baselines/ 目录
32
43
  - `<module>` 默认从文件名推断 (xxx-baseline-vN.md -> xxx)
33
44
  - `<workflow>` 默认为 analyze-<module>
@@ -6,6 +6,14 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
6
6
 
7
7
  ## CLI 同步 (自动)
8
8
 
9
+ **检测工作流模式:**
10
+
11
+ ```bash
12
+ incspec status
13
+ ```
14
+
15
+ ### 完整模式 (7步)
16
+
9
17
  开始执行前,先用 Bash 执行:
10
18
 
11
19
  ```bash
@@ -22,17 +30,45 @@ incspec apply <increment-report-path> [--source-dir=<source-code-dir>] --complet
22
30
  - 若未提供 `source-code-dir`,省略 `--source-dir`
23
31
  - 若提示没有活跃工作流,请先完成步骤 1-4
24
32
 
33
+ ### 快速模式 (5步)
34
+
35
+ 快速模式下,输入文件为需求文档(而非增量设计文件):
36
+
37
+ ```bash
38
+ incspec apply --complete
39
+ ```
40
+
41
+ 说明:
42
+ - 输入文件自动使用 `incspec/requirements/structured-requirements.md`
43
+ - 无需提供增量设计文件路径
44
+ - 请先完成步骤 1-2
45
+
25
46
  # 角色定位
26
47
 
27
- 你是前端增量代码执行器。基于《增量需求融合快照》报告,在 source-code-dir 中直接创建新文件和修改现有文件,完成增量需求的代码实施。
48
+ 你是前端增量代码执行器。根据工作流模式,基于不同的输入文件在 source-code-dir 中直接创建新文件和修改现有文件,完成增量需求的代码实施。
49
+
50
+ ## 模式说明
51
+
52
+ - **完整模式**: 基于《增量需求融合快照》报告(步骤 4 产出)执行代码变更
53
+ - **快速模式**: 基于《结构化需求报告》(步骤 2 产出)直接执行代码变更,跳过增量设计步骤
28
54
 
29
55
  # 输入参数
30
56
 
57
+ ## 完整模式
58
+
31
59
  1. **increment-report-path** (必填): `increment-codeflow-v2.md` 报告的完整路径
32
60
  2. **source-code-dir** (可选): 源代码根目录,默认为当前工作目录
33
61
 
62
+ ## 快速模式
63
+
64
+ 1. **requirements-path** (自动): 自动使用 `incspec/requirements/structured-requirements.md`
65
+ 2. **baseline-path** (自动): 自动使用步骤 1 生成的基线报告
66
+ 3. **source-code-dir** (可选): 源代码根目录,默认为当前工作目录
67
+
34
68
  # 执行流程
35
69
 
70
+ > 以下为完整模式的执行流程。快速模式流程请参见 [快速模式执行流程](#快速模式执行流程) 部分。
71
+
36
72
  ## 步骤 1: 读取并解析报告
37
73
 
38
74
  读取 increment-report-path 指定的报告文件,提取以下关键信息:
@@ -390,3 +426,95 @@ old_string: `interface ListState {
390
426
  - Edit 工具修改: 在 JSX 中添加 BatchActions 组件
391
427
 
392
428
  执行完成后输出摘要。
429
+
430
+ ---
431
+
432
+ # 快速模式执行流程
433
+
434
+ 快速模式下,无需解析增量设计报告的模块 3/4/5,直接基于需求文档和基线报告执行代码变更。
435
+
436
+ ## 输入文件
437
+
438
+ 1. **基线报告**: 步骤 1 生成的 `{module}-baseline-v{n}.md`(理解现有代码结构)
439
+ 2. **需求文档**: 步骤 2 生成的 `structured-requirements.md`(明确变更目标)
440
+
441
+ ## 执行步骤
442
+
443
+ ### 步骤 1: 读取输入文件
444
+
445
+ 1. **读取基线报告**: 从 `incspec/baselines/` 获取最新的基线快照
446
+ - 理解当前代码架构
447
+ - 识别现有 API 调用流程
448
+ - 识别现有依赖关系
449
+
450
+ 2. **读取需求文档**: 从 `incspec/requirements/structured-requirements.md` 获取结构化需求
451
+ - 提取 5 列结构化表格
452
+ - 明确变更目标和影响范围
453
+
454
+ ### 步骤 2: 分析变更影响
455
+
456
+ 基于基线报告和需求文档,分析变更影响:
457
+
458
+ 1. **识别影响的组件**: 根据需求表格中的"涉及的 UI 组件"列
459
+ 2. **识别影响的状态**: 根据需求表格中的"影响的核心状态"列
460
+ 3. **理解数据流向**: 根据需求表格中的"预期数据流向"列
461
+ 4. **确定变更范围**: 结合基线报告中的依赖关系
462
+
463
+ ### 步骤 2.5: 执行前确认
464
+
465
+ 在开始执行变更前,必须向用户确认:
466
+
467
+ ```
468
+ ⚠️ 即将在 <source-code-dir> 中执行代码变更(快速模式)
469
+
470
+ 📋 变更计划:
471
+ - 基于需求: incspec/requirements/structured-requirements.md
472
+ - 参考基线: incspec/baselines/{module}-baseline-v{n}.md
473
+ - 预计变更: 新建 X 个文件,修改 Y 个文件
474
+
475
+ 🔴 风险提示:
476
+ - 快速模式跳过了增量设计步骤,变更未经详细设计审查
477
+ - 建议: 请确保当前代码已提交到 git 或已备份
478
+
479
+ 是否继续执行? (yes/no)
480
+ ```
481
+
482
+ 仅在用户明确同意后才开始执行。
483
+
484
+ ### 步骤 3: 直接执行代码变更
485
+
486
+ 按照需求文档的描述,直接在源代码目录执行变更:
487
+
488
+ 1. **搜索参考文件**: 在 source-code-dir 中查找同类型的现有文件
489
+ 2. **读取参考文件**: 学习项目代码风格和模式
490
+ 3. **执行变更**: 使用 Write/Edit 工具创建或修改文件
491
+ 4. **验证完整性**: 确保所有依赖正确引入
492
+
493
+ ### 步骤 4: 输出变更摘要
494
+
495
+ ```
496
+ ✅ 快速模式代码变更已完成
497
+
498
+ 📊 变更统计:
499
+ - 新建文件: X 个
500
+ - 修改文件: Y 个
501
+ - 删除代码: Z 处
502
+
503
+ 📁 变更文件清单:
504
+ ✓ src/components/NewFeature.tsx (新建)
505
+ ✓ src/store/featureStore.ts (修改)
506
+
507
+ 🧪 建议的后续操作:
508
+ 1. 运行 TypeScript 编译检查: npx tsc --noEmit
509
+ 2. 运行测试: npm test
510
+ 3. 手动验证功能是否正确实现
511
+ ```
512
+
513
+ ## 快速模式 vs 完整模式
514
+
515
+ | 对比项 | 完整模式 | 快速模式 |
516
+ |-------|---------|---------|
517
+ | 输入文件 | 增量设计报告 (模块 2-5) | 需求文档 + 基线报告 |
518
+ | 变更规划 | 详细的变更链条设计 | 基于需求直接分析 |
519
+ | 适用场景 | 复杂功能、多组件交互 | Bug 修复、简单功能 |
520
+ | 风险程度 | 低(经过详细设计) | 中(跳过设计阶段) |
@@ -6,6 +6,14 @@ allowed-tools: Read, Write, Bash
6
6
 
7
7
  ## CLI 同步 (自动)
8
8
 
9
+ **检测工作流模式:**
10
+
11
+ ```bash
12
+ incspec status
13
+ ```
14
+
15
+ ### 完整模式 (7步)
16
+
9
17
  开始执行前,先用 Bash 执行:
10
18
 
11
19
  ```bash
@@ -22,9 +30,27 @@ incspec merge <increment-report-path> --complete --output=<output-file>
22
30
  - `<output-file>` 必须与最终写入的文件名一致
23
31
  - 若提示没有活跃工作流,请先完成步骤 1-5
24
32
 
33
+ ### 快速模式 (5步)
34
+
35
+ 快速模式下,不依赖增量设计报告,直接重新分析当前代码生成新基线:
36
+
37
+ ```bash
38
+ incspec merge --complete --output=<output-file>
39
+ ```
40
+
41
+ 说明:
42
+ - 快速模式下无需提供增量设计报告路径
43
+ - 实际执行的是对当前代码的重新分析
44
+ - 请先完成步骤 1-2 和步骤 5 (应用代码变更)
45
+
25
46
  # 角色定位
26
47
 
27
- 你是增量基线融合专家。你的职责是将增量需求融合快照报告(包含新增、修改、删除标记)转换为干净的基线快照报告,作为下一轮增量迭代的起点。
48
+ 你是增量基线融合专家。根据工作流模式执行不同的融合策略。
49
+
50
+ ## 模式说明
51
+
52
+ - **完整模式**: 将增量需求融合快照报告(步骤 4 产出)转换为干净的基线快照报告
53
+ - **快速模式**: 重新分析当前代码状态(已应用变更后),生成新版本基线快照
28
54
 
29
55
  # 核心目标
30
56
 
@@ -327,3 +353,63 @@ D3_DEL (删除) -> 已移除
327
353
  ---
328
354
 
329
355
  记住:你的目标是生成一个干净的、无增量标记的基线快照报告,它应该看起来就像是对当前代码直接执行 analyze-codeflow 分析得到的结果,为下一轮增量迭代提供可靠的对比基准。
356
+
357
+ ---
358
+
359
+ # 快速模式执行流程
360
+
361
+ 快速模式下,合并步骤实际是"重新分析":不依赖增量设计报告,而是直接分析当前代码状态生成新基线。
362
+
363
+ ## 核心区别
364
+
365
+ | 对比项 | 完整模式 | 快速模式 |
366
+ |-------|---------|---------|
367
+ | 输入文件 | 增量设计报告 | 无(直接分析代码) |
368
+ | 执行逻辑 | 清理增量标记、重新编号 | 重新执行 analyze-codeflow |
369
+ | 产出 | 融合后的基线 | 全新的基线快照 |
370
+
371
+ ## 执行步骤
372
+
373
+ ### 步骤 1: 确认代码变更已完成
374
+
375
+ 确保步骤 5 (应用代码变更) 已完成,代码库处于变更后的状态。
376
+
377
+ ### 步骤 2: 获取分析范围
378
+
379
+ 从当前工作流状态中获取:
380
+ - 原始分析的源代码路径 (source-path)
381
+ - 模块名称 (module)
382
+
383
+ ### 步骤 3: 重新执行代码分析
384
+
385
+ 使用 analyze-codeflow.md 的分析方法,对当前代码状态进行完整分析:
386
+
387
+ 1. **扫描代码目录**: 识别所有组件、Store、API 调用
388
+ 2. **构建时序图**: 生成新的 API 调用时序图(S1, S2, S3...)
389
+ 3. **构建依赖图**: 生成新的依赖关系图(D1, D2, D3...)
390
+ 4. **总结依赖关系**: 生成新的依赖关系总结(R1, R2, R3...)
391
+
392
+ ### 步骤 4: 输出新基线
393
+
394
+ - **输出目录**: `incspec/baselines/`
395
+ - **文件命名**: `{module}-baseline-v{n+1}.md`(版本号递增)
396
+ - **元信息**: 标注为"由快速模式工作流生成"
397
+
398
+ ### 步骤 5: 输出摘要
399
+
400
+ ```
401
+ ✅ 快速模式基线生成已完成
402
+
403
+ 📊 分析统计:
404
+ - 时序步骤: X 个 (S1-SX)
405
+ - 依赖节点: Y 个 (D1-DY)
406
+ - 依赖关系: Z 组 (R1-RZ)
407
+
408
+ 📁 输出文件:
409
+ ✓ incspec/baselines/{module}-baseline-v{n+1}.md
410
+
411
+ 🔄 下一步操作:
412
+ 1. 检查新基线报告的完整性
413
+ 2. 运行 `incspec archive --yes` 归档当前工作流
414
+ 3. 此基线将作为下一轮增量分析的起点
415
+ ```
@@ -99,6 +99,12 @@ incspec collect-req --complete
99
99
  4. **完成提示**: 文件写入后,在对话中仅输出一行字:
100
100
  > "✅ 结构化需求描述已全部收齐并写入文件,可直接用于后续增量 Diff 分析。"
101
101
 
102
+ ## 快速模式提示
103
+
104
+ 若当前工作流为快速模式 (通过 `incspec status` 确认),完成需求收集后输出:
105
+
106
+ > "✅ 结构化需求已收齐。快速模式下,直接运行 `incspec apply` 进入代码应用阶段。"
107
+
102
108
  # 示例交互
103
109
 
104
110
  **用户**: "我想在简历列表的操作列加一个下载按钮。"
@@ -16,6 +16,7 @@ description: 设计优先的前端功能增量编码工作流。适用于实现
16
16
 
17
17
  ## 快速开始
18
18
 
19
+ **完整模式 (7步):**
19
20
  ```
20
21
  1. 分析现有代码 → incspec analyze <path>
21
22
  2. 收集需求 → incspec collect-req
@@ -26,11 +27,35 @@ description: 设计优先的前端功能增量编码工作流。适用于实现
26
27
  7. 归档工作流 → incspec archive --yes
27
28
  ```
28
29
 
30
+ **快速模式 (5步):**
31
+ ```
32
+ 1. 分析现有代码 → incspec analyze <path> --quick
33
+ 2. 收集需求 → incspec collect-req
34
+ 3. 应用代码变更 → incspec apply (基于需求文档)
35
+ 4. 合并到基线 → incspec merge (重新分析生成)
36
+ 5. 归档工作流 → incspec archive --yes
37
+ ```
38
+
29
39
  首次使用前初始化: `incspec init`
30
40
 
41
+ ## 执行规则
42
+
43
+ 当用户请求满足以下条件时,**直接开始执行**,无需搜索确认:
44
+ - 明确指定了模式(完整/快速)
45
+ - 提供了目标路径或基线文件
46
+ - 意图清晰无歧义
47
+
48
+ **默认行为**:
49
+ - 未指定模式时,默认使用完整模式
50
+ - 提供 `--baseline=<file>` 时,跳过步骤1的代码分析,直接使用已有基线
51
+ - 提供 `--quick` 时,启用快速模式流程
52
+ - 选项可自由组合,Agent 应根据用户意图推断最优组合
53
+
31
54
  ## 工作流概览
32
55
 
33
- 7步设计优先工作流确保代码变更与现有架构无缝集成:
56
+ ### 完整模式 (7步)
57
+
58
+ 适用于复杂功能开发,需要完整的 UI 依赖分析和增量设计。
34
59
 
35
60
  | 步骤 | 目的 | 产出 |
36
61
  |------|------|------|
@@ -42,6 +67,22 @@ description: 设计优先的前端功能增量编码工作流。适用于实现
42
67
  | 6. 基线合并 | 将增量转换为干净基线 | 新基线 |
43
68
  | 7. 归档 | 归档工作流产出到 `archives/YYYY-MM/` | 干净的工作区 |
44
69
 
70
+ ### 快速模式 (5步)
71
+
72
+ 适用于简单功能或不涉及复杂 UI 依赖的变更。
73
+
74
+ | 步骤 | 目的 | 产出 |
75
+ |------|------|------|
76
+ | 1. 代码流程分析 | 记录当前API/Store/组件交互 | 基线快照 |
77
+ | 2. 需求收集 | 将模糊需求转换为结构化5列表格 | 需求报告 |
78
+ | 5. 代码应用 | 基于需求直接创建/修改文件 | 更新后的代码库 |
79
+ | 6. 基线合并 | 重新分析生成新基线 | 新基线 |
80
+ | 7. 归档 | 归档工作流产出 | 干净的工作区 |
81
+
82
+ **模式选择建议:**
83
+ - **完整模式**: 复杂 UI 功能、多组件交互、需要详细设计审查
84
+ - **快速模式**: Bug 修复、简单功能、不涉及 UI 依赖变更
85
+
45
86
  ## CLI集成
46
87
 
47
88
  每个步骤与 `incspec` CLI同步以跟踪工作流状态:
@@ -67,6 +108,12 @@ description: 设计优先的前端功能增量编码工作流。适用于实现
67
108
 
68
109
  分析现有代码,创建API调用、依赖关系和组件交互的文档化基线。
69
110
 
111
+ **命令:** `incspec analyze <path> [--module=<m>] [--quick] [--baseline=<file>]`
112
+
113
+ **选项:**
114
+ - `--quick`: 启用快速模式 (5步流程)
115
+ - `--baseline=<file>`: 复用已有基线,跳过代码分析
116
+
70
117
  **输入:** 源代码目录路径 (如 `src/pages/dashboard`) 或现有基线文件 (`--baseline=<file>`)
71
118
 
72
119
  **输出:** 基线报告,包含:
@@ -158,20 +205,28 @@ incspec archive <file> --keep # 复制而非移动
158
205
 
159
206
  ## 最佳实践
160
207
 
161
- **顺序执行:** 按步骤1-7顺序执行。跳过步骤会导致集成问题。
208
+ **顺序执行:** 按步骤顺序执行。完整模式按 1-7 执行,快速模式按 1-2-5-6-7 执行。跳过步骤会导致集成问题。
162
209
 
163
- **设计先于编码:** 步骤4设计获批前不编写任何代码。
210
+ **设计先于编码:** 完整模式下,步骤4设计获批前不编写任何代码。快速模式跳过设计步骤,适用于简单变更。
164
211
 
165
- **不可跳过依赖:** 遗漏依赖(步骤3)是集成失败的首要原因。
212
+ **不可跳过依赖:** 完整模式下,遗漏依赖(步骤3)是集成失败的首要原因。
166
213
 
167
214
  **CLI同步:** 始终与 `incspec` CLI同步以保证工作流可追溯。
168
215
 
216
+ **模式选择:**
217
+ - 不确定时优先选择完整模式
218
+ - 仅在变更范围明确、不涉及复杂依赖时使用快速模式
219
+
169
220
  **验证节点:**
170
221
  - 步骤2后: 需求中无模糊术语
171
- - 步骤4后: 编码前审查蓝图
222
+ - 步骤4 (完整模式): 编码前审查蓝图
172
223
  - 步骤5后: 验证所有文件已正确创建/修改
173
224
  - 步骤7后: 确认工作区已清理
174
225
 
226
+ **关键人工确认点:**
227
+ - 完整模式: 步骤2后 + 步骤4后
228
+ - 快速模式: 步骤2后 (需求确认后才能开始编码)
229
+
175
230
  ## 常见陷阱
176
231
 
177
232
  | 陷阱 | 后果 |
@@ -18,6 +18,17 @@ incspec analyze <source-path> --module=<module> --workflow=analyze-<module>
18
18
  incspec analyze <source-path> --module=<module> --workflow=analyze-<module> --complete --output=<output-file>
19
19
  ```
20
20
 
21
+ **启动快速模式工作流** (5步流程):
22
+
23
+ ```bash
24
+ incspec analyze <source-path> --module=<module> --quick
25
+ ```
26
+
27
+ 快速模式跳过步骤 3 (UI依赖采集) 和步骤 4 (增量设计),直接从需求进入代码应用。适用于:
28
+ - Bug 修复
29
+ - 简单功能迭代
30
+ - 不涉及复杂 UI 依赖变更的任务
31
+
21
32
  **使用现有基准报告** (跳过分析):
22
33
 
23
34
  若已有基准报告文件,可直接使用:
@@ -27,7 +38,7 @@ incspec analyze --baseline=<baseline-file> [--module=<module>] [--workflow=<work
27
38
  ```
28
39
 
29
40
  说明:
30
- - `<baseline-file>` 文件名,自动搜索 baselines/ 和 archives/ 目录
41
+ - `<baseline-file>` 文件名,自动递归搜索 baselines/ 和 archives/ 目录
31
42
  - 若文件在归档目录,自动移动到 baselines/ 目录
32
43
  - `<module>` 默认从文件名推断 (xxx-baseline-vN.md -> xxx)
33
44
  - `<workflow>` 默认为 analyze-<module>