@zeyue0329/xiaoma-cli 6.0.0-alpha.15 → 6.0.0-alpha.17

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.
@@ -6,6 +6,24 @@
6
6
 
7
7
  ---
8
8
 
9
+ ## 智能体命令快速参考
10
+
11
+ > **重要**: 本工作流通过唤醒专业智能体并执行其特定命令来完成各阶段任务。
12
+
13
+ ### 智能体命令汇总表
14
+
15
+ | 智能体 | 唤醒命令 | 核心工作流命令 | 用途 |
16
+ |--------|---------|---------------|------|
17
+ | Mary (Analyst) | `/analyst` | `*product-brief`, `*research` | 需求分析、业务规则匹配 |
18
+ | John (PM) | `/pm` | `*create-prd`, `*create-epics-and-stories` | PRD 创建、史诗故事定义 |
19
+ | Winston (Architect) | `/architect` | `*create-architecture`, `*validate-architecture` | 架构设计、技术决策 |
20
+ | Bob (SM) | `/sm` | `*sprint-planning`, `*create-story` | Sprint 规划、故事准备 |
21
+ | Amelia (DEV) | `/dev` | `*develop-story`, `*code-review` | TDD 开发、代码审查 |
22
+ | Murat (TEA) | `/tea` | `*trace`, `*test-review`, `*nfr-assess` | 测试追溯、质量验证 |
23
+ | Phoenix (Orchestrator) | `/phoenix` | `*auto-iterate`, `*phase-*` | 全自动编排 |
24
+
25
+ ---
26
+
9
27
  ## 知识库集成
10
28
 
11
29
  ### 知识库配置
@@ -54,6 +72,44 @@ knowledge_base:
54
72
 
55
73
  本工作流实现从需求文档到代码实现的全自动化执行,融合7大智能体能力,通过知识库驱动所有决策,实现零人工干预的端到端开发。
56
74
 
75
+ ### 智能体工作流集成汇总
76
+
77
+ > **重要**: 本工作流严格遵循项目现有智能体的标准工作流,确保完全兼容。
78
+
79
+ | 阶段 | 集成智能体 | 调用的工作流 | 用途 |
80
+ |------|-----------|-------------|------|
81
+ | Phase 1 | Mary (Analyst) | 内置分析能力 | 需求分析、业务规则匹配 |
82
+ | Phase 2 | John (PM) | 内置 PRD 能力 | PRD 创建、史诗故事定义 |
83
+ | Phase 3 | Winston (Architect) | 内置架构能力 | 架构设计、技术决策 |
84
+ | Phase 4 | Bob (SM) | `*sprint-planning` | 生成 sprint-status.yaml |
85
+ | Phase 4 | Bob (SM) | `*create-story` | 创建故事文件 (backlog→drafted→ready-for-dev) |
86
+ | Phase 4 | Amelia (DEV) | `*develop-story` | TDD 开发 (ready-for-dev→in-progress→review) |
87
+ | Phase 4 | Amelia (DEV) | `*code-review` | 代码审查 (review→done) |
88
+ | Phase 5 | Murat (TEA) | `*trace` | 需求到测试追踪 |
89
+ | Phase 5 | Murat (TEA) | `*test-review` | 测试质量评审 |
90
+ | Phase 5 | Murat (TEA) | `*nfr-assess` | NFR 验证 |
91
+
92
+ ### 故事状态系统 (6状态流转)
93
+
94
+ ```
95
+ backlog → drafted → ready-for-dev → in-progress → review → done
96
+ │ │ │ │ │ │
97
+ │ │ │ │ │ └─ 故事完成
98
+ │ │ │ │ └─ 等待代码审查
99
+ │ │ │ └─ 开发进行中
100
+ │ │ └─ 可以开始开发
101
+ │ └─ 故事文件已创建
102
+ └─ 仅存在于 Epic 文件中
103
+ ```
104
+
105
+ **状态转换触发点**:
106
+ - `backlog → drafted`: SM `*create-story` 创建故事文件
107
+ - `drafted → ready-for-dev`: SM `*create-story` 或 `*validate-create-story` 验证通过
108
+ - `ready-for-dev → in-progress`: DEV `*develop-story` Step 4
109
+ - `in-progress → review`: DEV `*develop-story` Step 9
110
+ - `review → done`: DEV `*code-review` APPROVED
111
+ - `review → in-progress`: DEV `*code-review` CHANGES_REQUESTED (返回修复)
112
+
57
113
  ```
58
114
  ┌─────────────────────────────────────────────────────────────────────────┐
59
115
  │ 全自动迭代开发流程 │
@@ -199,20 +255,83 @@ confidence: "high"
199
255
 
200
256
  **角色激活**: Analyst (需求分析师)
201
257
 
258
+ ---
259
+
260
+ #### 🤖 智能体执行指令
261
+
262
+ ```
263
+ ┌─────────────────────────────────────────────────────────────────┐
264
+ │ Phase 1: 需求分析 │
265
+ │ 智能体: Mary (Analyst) │
266
+ ├─────────────────────────────────────────────────────────────────┤
267
+ │ │
268
+ │ Step 1.1: 唤醒 Analyst 智能体 │
269
+ │ ┌─────────────────────────────────────────────────────────────┐│
270
+ │ │ 执行命令: /analyst ││
271
+ │ │ 说明: 唤醒业务分析师 Mary,准备进行需求分析工作 ││
272
+ │ └─────────────────────────────────────────────────────────────┘│
273
+ │ │
274
+ │ Step 1.2: 执行产品简报/调研工作流 │
275
+ │ ┌─────────────────────────────────────────────────────────────┐│
276
+ │ │ 执行命令: *product-brief ││
277
+ │ │ 说明: 基于迭代需求文档,创建结构化的产品简报 ││
278
+ │ │ 输入: 迭代需求文档内容 ││
279
+ │ │ 输出: product-brief.md ││
280
+ │ └─────────────────────────────────────────────────────────────┘│
281
+ │ │
282
+ │ Step 1.3: (可选) 执行深度调研 │
283
+ │ ┌─────────────────────────────────────────────────────────────┐│
284
+ │ │ 执行命令: *research ││
285
+ │ │ 说明: 针对复杂需求进行市场/竞品/技术调研 ││
286
+ │ │ 触发条件: 需求涉及新业务领域或技术栈 ││
287
+ │ └─────────────────────────────────────────────────────────────┘│
288
+ │ │
289
+ │ Step 1.4: 生成需求分析报告 │
290
+ │ ┌─────────────────────────────────────────────────────────────┐│
291
+ │ │ 基于 *product-brief 输出,整理为 requirement-analysis.md ││
292
+ │ │ 确保包含: 功能点清单、业务规则、隐含需求、约束和风险 ││
293
+ │ └─────────────────────────────────────────────────────────────┘│
294
+ │ │
295
+ └─────────────────────────────────────────────────────────────────┘
296
+ ```
297
+
298
+ **完整执行序列**:
299
+ ```bash
300
+ # 1. 唤醒 Analyst 智能体
301
+ /analyst
302
+
303
+ # 2. 执行产品简报工作流
304
+ *product-brief
305
+
306
+ # 3. (可选) 执行深度调研
307
+ *research
308
+ ```
309
+
310
+ ---
311
+
202
312
  **自动执行内容**:
203
313
 
204
314
  ```yaml
205
315
  phase: 1
206
316
  name: 需求分析
207
- role: Analyst
317
+ role: Analyst (Mary)
318
+ agent_activation:
319
+ command: "/analyst"
320
+ workflows:
321
+ - trigger: "*product-brief"
322
+ purpose: "创建产品简报,提取核心需求"
323
+ - trigger: "*research"
324
+ purpose: "深度调研(可选)"
325
+ condition: "需求涉及新业务领域时执行"
208
326
  inputs:
209
327
  - 迭代需求文档
210
328
  - 业务知识库
211
329
  outputs:
212
- - requirement-analysis.md
330
+ - requirement-analysis.md (基于 product-brief 整理)
213
331
 
214
332
  tasks:
215
333
  - name: 解析需求文档
334
+ agent_command: "/analyst → *product-brief"
216
335
  action: |
217
336
  1. 读取需求文档全文
218
337
  2. 提取功能点列表
@@ -276,22 +395,94 @@ tasks:
276
395
 
277
396
  **角色激活**: PM (产品经理) + PO (产品负责人)
278
397
 
398
+ ---
399
+
400
+ #### 🤖 智能体执行指令
401
+
402
+ ```
403
+ ┌─────────────────────────────────────────────────────────────────┐
404
+ │ Phase 2: 需求规划 │
405
+ │ 智能体: John (PM) │
406
+ ├─────────────────────────────────────────────────────────────────┤
407
+ │ │
408
+ │ Step 2.1: 唤醒 PM 智能体 │
409
+ │ ┌─────────────────────────────────────────────────────────────┐│
410
+ │ │ 执行命令: /pm ││
411
+ │ │ 说明: 唤醒产品经理 John,准备进行需求规划工作 ││
412
+ │ └─────────────────────────────────────────────────────────────┘│
413
+ │ │
414
+ │ Step 2.2: 创建 PRD 文档 │
415
+ │ ┌─────────────────────────────────────────────────────────────┐│
416
+ │ │ 执行命令: *create-prd ││
417
+ │ │ 说明: 基于需求分析报告,创建完整的产品需求文档 ││
418
+ │ │ 输入: requirement-analysis.md / product-brief.md ││
419
+ │ │ 输出: prd.md ││
420
+ │ └─────────────────────────────────────────────────────────────┘│
421
+ │ │
422
+ │ Step 2.3: (推荐) 验证 PRD │
423
+ │ ┌─────────────────────────────────────────────────────────────┐│
424
+ │ │ 执行命令: *validate-prd ││
425
+ │ │ 说明: 使用全新上下文和不同 LLM 验证 PRD 质量 ││
426
+ │ │ 建议: 使用不同的 LLM 以获得更客观的评估 ││
427
+ │ └─────────────────────────────────────────────────────────────┘│
428
+ │ │
429
+ │ Step 2.4: 创建史诗和故事定义 │
430
+ │ ┌─────────────────────────────────────────────────────────────┐│
431
+ │ │ 执行命令: *create-epics-and-stories ││
432
+ │ │ 说明: 从 PRD 创建史诗和用户故事(在架构完成后执行) ││
433
+ │ │ 输入: prd.md + architecture.md ││
434
+ │ │ 输出: epics/epic-XXX.md ││
435
+ │ │ ⚠️ 注意: 故事定义写在 Epic 文件中,独立故事文件在 Phase 4 ││
436
+ │ │ 由 SM 的 *create-story 创建 ││
437
+ │ └─────────────────────────────────────────────────────────────┘│
438
+ │ │
439
+ └─────────────────────────────────────────────────────────────────┘
440
+ ```
441
+
442
+ **完整执行序列**:
443
+ ```bash
444
+ # 1. 唤醒 PM 智能体
445
+ /pm
446
+
447
+ # 2. 创建 PRD 文档
448
+ *create-prd
449
+
450
+ # 3. (推荐) 验证 PRD
451
+ *validate-prd
452
+
453
+ # 4. 创建史诗和故事定义 (需在架构设计后执行)
454
+ *create-epics-and-stories
455
+ ```
456
+
457
+ ---
458
+
279
459
  **自动执行内容**:
280
460
 
281
461
  ```yaml
282
462
  phase: 2
283
463
  name: 需求规划
284
- role: PM + PO
464
+ role: PM (John) + PO
465
+ agent_activation:
466
+ command: "/pm"
467
+ workflows:
468
+ - trigger: "*create-prd"
469
+ purpose: "创建产品需求文档"
470
+ - trigger: "*validate-prd"
471
+ purpose: "验证 PRD 质量(推荐)"
472
+ - trigger: "*create-epics-and-stories"
473
+ purpose: "创建史诗和故事定义"
474
+ prerequisite: "需在架构设计完成后执行"
285
475
  inputs:
286
476
  - requirement-analysis.md
287
477
  - 业务知识库
288
478
  outputs:
289
479
  - prd.md
290
- - epics/
291
- - stories/
480
+ - epics/epic-XXX.md # 包含故事定义的 Epic 文件
481
+ # 注意: 独立故事文件将在 Phase 4 由 *create-story 创建
292
482
 
293
483
  tasks:
294
484
  - name: 创建 PRD
485
+ agent_command: "/pm → *create-prd"
295
486
  action: |
296
487
  1. 基于需求分析报告创建 PRD
297
488
  2. 定义产品目标和成功指标
@@ -299,20 +490,22 @@ tasks:
299
490
  4. 定义非功能需求 (NFR)
300
491
  output: prd.md
301
492
 
302
- - name: 创建史诗
493
+ - name: 创建史诗文件(包含故事定义)
494
+ agent_command: "/pm → *create-epics-and-stories"
303
495
  action: |
304
496
  1. 将功能需求按模块分组为史诗
305
497
  2. 定义每个史诗的业务价值
306
498
  3. 确定史诗间的依赖关系
307
- output: epics/
308
-
309
- - name: 分解用户故事
310
- action: |
311
- 1. 将每个史诗分解为用户故事
312
- 2. 使用 INVEST 原则验证故事质量
313
- 3. 定义接受标准 (Given/When/Then)
314
- 4. 估算故事点
315
- output: stories/
499
+ 4. ⚠️ 重要: 故事定义写在 Epic 文件中,不单独创建故事文件
500
+ 5. 故事文件将在 Phase 4 由 SM *create-story 工作流创建
501
+ output: epics/epic-XXX.md
502
+ note: |
503
+ ⚠️ Phase 2 不创建独立的故事文件!
504
+ 故事的详细定义(用户故事、接受标准、任务分解)应写在 Epic 文件中。
505
+ Phase 4 的 *create-story 工作流会:
506
+ 1. 从 Epic 文件提取故事定义
507
+ 2. 创建符合 DEV 智能体格式的故事文件
508
+ 3. 自动设置正确的 Status: drafted
316
509
 
317
510
  - name: PO 验收标准审核
318
511
  action: |
@@ -363,12 +556,98 @@ tasks:
363
556
 
364
557
  **角色激活**: Architect (架构师)
365
558
 
559
+ ---
560
+
561
+ #### 🤖 智能体执行指令
562
+
563
+ ```
564
+ ┌─────────────────────────────────────────────────────────────────┐
565
+ │ Phase 3: 架构设计 │
566
+ │ 智能体: Winston (Architect) │
567
+ ├─────────────────────────────────────────────────────────────────┤
568
+ │ │
569
+ │ Step 3.1: 唤醒 Architect 智能体 │
570
+ │ ┌─────────────────────────────────────────────────────────────┐│
571
+ │ │ 执行命令: /architect ││
572
+ │ │ 说明: 唤醒架构师 Winston,准备进行架构设计工作 ││
573
+ │ └─────────────────────────────────────────────────────────────┘│
574
+ │ │
575
+ │ Step 3.2: 创建架构文档 │
576
+ │ ┌─────────────────────────────────────────────────────────────┐│
577
+ │ │ 执行命令: *create-architecture ││
578
+ │ │ 说明: 基于 PRD 创建完整的架构设计文档 ││
579
+ │ │ 输入: prd.md + 现有代码库 ││
580
+ │ │ 输出: architecture.md + adr/ ││
581
+ │ └─────────────────────────────────────────────────────────────┘│
582
+ │ │
583
+ │ Step 3.3: (推荐) 验证架构 │
584
+ │ ┌─────────────────────────────────────────────────────────────┐│
585
+ │ │ 执行命令: *validate-architecture ││
586
+ │ │ 说明: 使用全新上下文和不同 LLM 验证架构设计 ││
587
+ │ │ 建议: 使用不同的 LLM 以获得更客观的评估 ││
588
+ │ └─────────────────────────────────────────────────────────────┘│
589
+ │ │
590
+ │ Step 3.4: (可选) 实现准备验证 │
591
+ │ ┌─────────────────────────────────────────────────────────────┐│
592
+ │ │ 执行命令: *implementation-readiness ││
593
+ │ │ 说明: 验证 PRD、UX、架构、史诗和故事是否对齐 ││
594
+ │ │ 建议: 在进入 Phase 4 开发前执行此验证 ││
595
+ │ └─────────────────────────────────────────────────────────────┘│
596
+ │ │
597
+ │ Step 3.5: (可选) 创建架构图 │
598
+ │ ┌─────────────────────────────────────────────────────────────┐│
599
+ │ │ 执行命令: *create-excalidraw-diagram ││
600
+ │ │ 说明: 创建系统架构图或技术图表 ││
601
+ │ └─────────────────────────────────────────────────────────────┘│
602
+ │ │
603
+ │ Step 3.6: (可选) 创建数据流图 │
604
+ │ ┌─────────────────────────────────────────────────────────────┐│
605
+ │ │ 执行命令: *create-excalidraw-dataflow ││
606
+ │ │ 说明: 创建数据流图 ││
607
+ │ └─────────────────────────────────────────────────────────────┘│
608
+ │ │
609
+ └─────────────────────────────────────────────────────────────────┘
610
+ ```
611
+
612
+ **完整执行序列**:
613
+ ```bash
614
+ # 1. 唤醒 Architect 智能体
615
+ /architect
616
+
617
+ # 2. 创建架构文档
618
+ *create-architecture
619
+
620
+ # 3. (推荐) 验证架构
621
+ *validate-architecture
622
+
623
+ # 4. (可选) 实现准备验证
624
+ *implementation-readiness
625
+
626
+ # 5. (可选) 创建架构图
627
+ *create-excalidraw-diagram
628
+ ```
629
+
630
+ ---
631
+
366
632
  **自动执行内容**:
367
633
 
368
634
  ```yaml
369
635
  phase: 3
370
636
  name: 架构设计
371
- role: Architect
637
+ role: Architect (Winston)
638
+ agent_activation:
639
+ command: "/architect"
640
+ workflows:
641
+ - trigger: "*create-architecture"
642
+ purpose: "创建架构设计文档"
643
+ - trigger: "*validate-architecture"
644
+ purpose: "验证架构设计(推荐)"
645
+ - trigger: "*implementation-readiness"
646
+ purpose: "实现准备验证(可选)"
647
+ - trigger: "*create-excalidraw-diagram"
648
+ purpose: "创建架构图(可选)"
649
+ - trigger: "*create-excalidraw-dataflow"
650
+ purpose: "创建数据流图(可选)"
372
651
  inputs:
373
652
  - prd.md
374
653
  - epics/
@@ -380,6 +659,7 @@ outputs:
380
659
 
381
660
  tasks:
382
661
  - name: 分析现有架构
662
+ agent_command: "/architect → *create-architecture (Step 1)"
383
663
  action: |
384
664
  1. 扫描目标代码库结构
385
665
  2. 识别现有技术栈
@@ -387,6 +667,7 @@ tasks:
387
667
  4. 识别可复用组件
388
668
 
389
669
  - name: 设计技术方案
670
+ agent_command: "/architect → *create-architecture (Step 2)"
390
671
  action: |
391
672
  1. 基于 PRD 设计技术实现方案
392
673
  2. 匹配技术知识库中的最佳实践
@@ -394,12 +675,14 @@ tasks:
394
675
  4. 设计 API 接口
395
676
 
396
677
  - name: 数据模型设计
678
+ agent_command: "/architect → *create-architecture (Step 3)"
397
679
  action: |
398
680
  1. 设计新增/变更的数据表
399
681
  2. 创建 ER 图
400
682
  3. 设计数据迁移策略
401
683
 
402
684
  - name: 技术决策记录
685
+ agent_command: "/architect → *create-architecture (Step 4)"
403
686
  action: |
404
687
  1. 记录关键技术选型
405
688
  2. 记录选型理由和权衡
@@ -449,121 +732,1082 @@ tasks:
449
732
 
450
733
  ### Step 4: 开发实现阶段 (Phase 4)
451
734
 
452
- **角色激活**: SM (Scrum Master) + DEV (开发者)
735
+ **角色激活**: SM (Scrum Master - Bob) + DEV (Developer - Amelia)
736
+
737
+ > **重要**: 本阶段严格遵循项目智能体的标准工作流,确保与 SM 和 DEV 智能体的完全兼容。
738
+
739
+ ---
740
+
741
+ #### 🤖 智能体执行指令概览
742
+
743
+ ```
744
+ ┌─────────────────────────────────────────────────────────────────┐
745
+ │ Phase 4: 开发实现 │
746
+ │ 智能体: Bob (SM) + Amelia (DEV) │
747
+ ├─────────────────────────────────────────────────────────────────┤
748
+ │ │
749
+ │ 阶段流程概览: │
750
+ │ │
751
+ │ ┌──────────────────────────────────────────────────────────────┐
752
+ │ │ Step 4.1: Sprint 规划 (SM) │
753
+ │ │ ┌────────────────────────────────────────────────────────┐ │
754
+ │ │ │ 执行: /sm → *sprint-planning │ │
755
+ │ │ │ 输出: sprint-status.yaml │ │
756
+ │ │ └────────────────────────────────────────────────────────┘ │
757
+ │ └──────────────────────────────────────────────────────────────┘
758
+ │ ↓ │
759
+ │ ┌──────────────────────────────────────────────────────────────┐
760
+ │ │ Step 4.2: For Each Story 循环 │
761
+ │ │ │
762
+ │ │ Step 4.2.1: 故事准备 (SM) │
763
+ │ │ ┌────────────────────────────────────────────────────┐ │
764
+ │ │ │ 执行: /sm → *create-story │ │
765
+ │ │ │ 状态: backlog → drafted → ready-for-dev │ │
766
+ │ │ └────────────────────────────────────────────────────┘ │
767
+ │ │ ↓ │
768
+ │ │ Step 4.2.2: 故事开发 (DEV) │
769
+ │ │ ┌────────────────────────────────────────────────────┐ │
770
+ │ │ │ 执行: /dev → *develop-story │ │
771
+ │ │ │ 状态: ready-for-dev → in-progress → review │ │
772
+ │ │ └────────────────────────────────────────────────────┘ │
773
+ │ │ ↓ │
774
+ │ │ Step 4.2.3: 代码审查 (DEV) │
775
+ │ │ ┌────────────────────────────────────────────────────┐ │
776
+ │ │ │ 执行: /dev → *code-review │ │
777
+ │ │ │ 状态: review → done (通过) 或 返回修复 │ │
778
+ │ │ └────────────────────────────────────────────────────┘ │
779
+ │ │ │
780
+ │ └──────────────────────────────────────────────────────────────┘
781
+ │ │
782
+ └─────────────────────────────────────────────────────────────────┘
783
+ ```
784
+
785
+ **完整执行序列**:
786
+ ```bash
787
+ # === Step 4.1: Sprint 规划 ===
788
+ # 1. 唤醒 SM 智能体
789
+ /sm
790
+
791
+ # 2. 执行 Sprint 规划
792
+ *sprint-planning
793
+
794
+ # === Step 4.2: 故事开发循环 (对每个故事重复) ===
795
+
796
+ # --- Step 4.2.1: 故事准备 (SM) ---
797
+ # 3. 唤醒 SM 智能体 (如果不在当前上下文)
798
+ /sm
799
+
800
+ # 4. 创建故事文件
801
+ *create-story
802
+
803
+ # 5. (推荐) 验证故事
804
+ *validate-create-story
805
+
806
+ # --- Step 4.2.2: 故事开发 (DEV) ---
807
+ # 6. 唤醒 DEV 智能体
808
+ /dev
809
+
810
+ # 7. 执行故事开发
811
+ *develop-story
812
+
813
+ # --- Step 4.2.3: 代码审查 (DEV) ---
814
+ # 8. 唤醒 DEV 智能体 (建议使用全新上下文)
815
+ /dev
816
+
817
+ # 9. 执行代码审查
818
+ *code-review
819
+
820
+ # --- 重复 Step 4.2 直到所有故事完成 ---
821
+ ```
822
+
823
+ ---
824
+
825
+ **故事状态定义** (与 SM 智能体一致):
826
+
827
+ ```yaml
828
+ # 故事状态流转 (6状态系统)
829
+ story_status:
830
+ backlog: "故事仅存在于 epic 文件中"
831
+ drafted: "故事文件已创建于 stories 文件夹"
832
+ ready-for-dev: "故事草稿已审核,可以开始开发"
833
+ in-progress: "开发者正在积极实现中"
834
+ review: "实现完成,等待代码审查"
835
+ done: "故事已完成"
836
+
837
+ # Epic 状态
838
+ epic_status:
839
+ backlog: "Epic 尚未开始"
840
+ in-progress: "Epic 正在进行中"
841
+ done: "Epic 中所有故事已完成"
842
+ ```
453
843
 
454
844
  **自动执行内容**:
455
845
 
456
846
  ```yaml
457
847
  phase: 4
458
848
  name: 开发实现
459
- role: SM + DEV
460
849
  inputs:
461
850
  - architecture.md
462
- - stories/
851
+ - epics/*.md # 包含故事定义的 Epic 文件
463
852
  - 技术知识库
464
853
  outputs:
854
+ - sprint-status.yaml # 使用 SM 智能体的标准格式
855
+ - stories/*.md # 独立故事文件
465
856
  - 实现的代码
466
857
  - 测试代码
467
- - sprint-status.yaml
858
+ - code-review-reports/
859
+
860
+ # 调用的智能体工作流
861
+ workflows_invoked:
862
+ - agent: SM (Bob)
863
+ workflow: sprint-planning
864
+ purpose: "生成 sprint-status.yaml"
865
+ - agent: SM (Bob)
866
+ workflow: create-story
867
+ purpose: "为每个故事创建详细故事文件"
868
+ - agent: DEV (Amelia)
869
+ workflow: dev-story
870
+ purpose: "TDD 驱动的故事实现"
871
+ - agent: DEV (Amelia)
872
+ workflow: code-review
873
+ purpose: "代码审查验证"
874
+ ```
468
875
 
469
- tasks:
470
- - name: Sprint 规划
471
- role: SM
472
- action: |
473
- 1. 基于故事优先级和依赖关系排序
474
- 2. 创建 sprint-status.yaml
475
- 3. 确定故事执行顺序
876
+ ---
476
877
 
477
- - name: 故事开发循环
478
- role: DEV
479
- repeat: for_each_story
480
- action: |
481
- 1. 读取故事上下文
482
- 2. 分解为任务和子任务
483
- 3. TDD 驱动实现:
484
- a. 编写失败的测试
485
- b. 实现代码使测试通过
486
- c. 重构优化
487
- 4. 代码审查
488
- 5. 更新故事状态
878
+ #### Step 4.1: Sprint 规划 (SM 角色)
879
+
880
+ **调用工作流**: `{xiaoma_folder}/xmc/workflows/4-implementation/sprint-planning/workflow.yaml`
881
+
882
+ ---
883
+
884
+ ##### 🤖 智能体执行指令
885
+
886
+ ```
887
+ ┌─────────────────────────────────────────────────────────────────┐
888
+ │ Step 4.1: Sprint 规划 │
889
+ │ 智能体: Bob (SM) │
890
+ ├─────────────────────────────────────────────────────────────────┤
891
+ │ │
892
+ │ 执行步骤: │
893
+ │ │
894
+ │ 1. 唤醒 SM 智能体 │
895
+ │ ┌─────────────────────────────────────────────────────────┐ │
896
+ │ │ 执行命令: /sm │ │
897
+ │ │ 说明: 唤醒 Scrum Master Bob,准备进行 Sprint 规划 │ │
898
+ │ └─────────────────────────────────────────────────────────┘ │
899
+ │ │
900
+ │ 2. 执行 Sprint 规划工作流 │
901
+ │ ┌─────────────────────────────────────────────────────────┐ │
902
+ │ │ 执行命令: *sprint-planning │ │
903
+ │ │ 说明: 分析 Epic 文件,生成 sprint-status.yaml │ │
904
+ │ │ 输入: epics/*.md │ │
905
+ │ │ 输出: sprint-status.yaml │ │
906
+ │ └─────────────────────────────────────────────────────────┘ │
907
+ │ │
908
+ └─────────────────────────────────────────────────────────────────┘
489
909
  ```
490
910
 
491
- **TDD 执行流程**:
911
+ **执行命令**:
912
+ ```bash
913
+ # 唤醒 SM 智能体
914
+ /sm
915
+
916
+ # 执行 Sprint 规划
917
+ *sprint-planning
918
+ ```
919
+
920
+ ---
921
+
922
+ ```yaml
923
+ task: sprint_planning
924
+ role: SM (Bob)
925
+ agent_activation:
926
+ command: "/sm"
927
+ workflow: "*sprint-planning"
928
+ invoke_workflow: "*sprint-planning"
929
+ actions:
930
+ - name: 分析 Epic 文件
931
+ scan:
932
+ - "{output_folder}/*epic*.md"
933
+ extract:
934
+ - Epic ID 和名称
935
+ - 所有故事标识符
936
+ - 依赖关系
937
+
938
+ - name: 生成 sprint-status.yaml
939
+ output_format: |
940
+ # Sprint Status File (SM 智能体标准格式)
941
+ generated: {date}
942
+ project: {project_name}
943
+ project_key: {project_key}
944
+ tracking_system: file-system
945
+ story_location: "{sprint_artifacts}"
946
+
947
+ development_status:
948
+ epic-1: backlog
949
+ 1-1-story-name: backlog
950
+ 1-2-story-name: backlog
951
+ epic-1-retrospective: optional
952
+ epic-2: backlog
953
+ 2-1-story-name: backlog
954
+
955
+ - name: 确定开发顺序
956
+ criteria:
957
+ - 技术依赖(基础组件优先)
958
+ - 业务依赖(前置功能优先)
959
+ - 优先级排序
960
+ ```
961
+
962
+ ---
963
+
964
+ #### Step 4.2: 故事开发循环
965
+
966
+ **对于每个故事,执行完整的状态转换和开发循环**:
967
+
968
+ ```
969
+ ┌─────────────────────────────────────────────────────────────────────────────┐
970
+ │ 故事生命周期管理 │
971
+ ├─────────────────────────────────────────────────────────────────────────────┤
972
+ │ │
973
+ │ Step 4.2.1: 故事准备 (SM - Bob) │
974
+ │ ├─ 调用: *create-story │
975
+ │ ├─ 输入: Epic 中的故事定义 │
976
+ │ ├─ 输出: stories/{story-key}.md │
977
+ │ └─ 状态: backlog → drafted → ready-for-dev │
978
+ │ │
979
+ │ Step 4.2.2: 故事开发 (DEV - Amelia) │
980
+ │ ├─ 调用: *develop-story │
981
+ │ ├─ 输入: ready-for-dev 状态的故事 │
982
+ │ ├─ 执行: TDD 驱动开发 (红-绿-重构) │
983
+ │ └─ 状态: ready-for-dev → in-progress → review │
984
+ │ │
985
+ │ Step 4.2.3: 代码审查 (DEV - Amelia) │
986
+ │ ├─ 调用: *code-review │
987
+ │ ├─ 输入: review 状态的故事 │
988
+ │ ├─ 审查: 功能正确性 + 代码质量 + 安全性 │
989
+ │ └─ 状态: review → done (通过) 或 返回修复 │
990
+ │ │
991
+ └─────────────────────────────────────────────────────────────────────────────┘
992
+ ```
993
+
994
+ ---
995
+
996
+ #### Step 4.2.1: 故事准备 (create-story)
997
+
998
+ **调用工作流**: `{xiaoma_folder}/xmc/workflows/4-implementation/create-story/workflow.yaml`
999
+
1000
+ ---
1001
+
1002
+ ##### 🤖 智能体执行指令
1003
+
1004
+ ```
1005
+ ┌─────────────────────────────────────────────────────────────────┐
1006
+ │ Step 4.2.1: 故事准备 │
1007
+ │ 智能体: Bob (SM) │
1008
+ ├─────────────────────────────────────────────────────────────────┤
1009
+ │ │
1010
+ │ 执行步骤: │
1011
+ │ │
1012
+ │ 1. 唤醒 SM 智能体 │
1013
+ │ ┌─────────────────────────────────────────────────────────┐ │
1014
+ │ │ 执行命令: /sm │ │
1015
+ │ │ 说明: 唤醒 Scrum Master Bob,准备创建故事文件 │ │
1016
+ │ └─────────────────────────────────────────────────────────┘ │
1017
+ │ │
1018
+ │ 2. 创建故事文件 │
1019
+ │ ┌─────────────────────────────────────────────────────────┐ │
1020
+ │ │ 执行命令: *create-story │ │
1021
+ │ │ 说明: 从 Epic 中提取故事定义,创建独立的故事文件 │ │
1022
+ │ │ 输入: sprint-status.yaml + epics/*.md │ │
1023
+ │ │ 输出: stories/{story-key}.md │ │
1024
+ │ │ 状态: backlog → drafted → ready-for-dev │ │
1025
+ │ └─────────────────────────────────────────────────────────┘ │
1026
+ │ │
1027
+ │ 3. (推荐) 验证故事文件 │
1028
+ │ ┌─────────────────────────────────────────────────────────┐ │
1029
+ │ │ 执行命令: *validate-create-story │ │
1030
+ │ │ 说明: 使用全新上下文验证故事质量 │ │
1031
+ │ │ 建议: 使用不同的 LLM 以获得更客观的评估 │ │
1032
+ │ └─────────────────────────────────────────────────────────┘ │
1033
+ │ │
1034
+ └─────────────────────────────────────────────────────────────────┘
1035
+ ```
1036
+
1037
+ **执行命令**:
1038
+ ```bash
1039
+ # 唤醒 SM 智能体
1040
+ /sm
1041
+
1042
+ # 创建故事文件
1043
+ *create-story
1044
+
1045
+ # (推荐) 验证故事文件
1046
+ *validate-create-story
1047
+ ```
1048
+
1049
+ ---
1050
+
1051
+ ```yaml
1052
+ task: prepare_story
1053
+ role: SM (Bob)
1054
+ agent_activation:
1055
+ command: "/sm"
1056
+ workflows:
1057
+ - trigger: "*create-story"
1058
+ purpose: "创建故事文件"
1059
+ - trigger: "*validate-create-story"
1060
+ purpose: "验证故事(推荐)"
1061
+ invoke_workflow: "*create-story"
1062
+
1063
+ for_each: story in sprint_status.development_status
1064
+ where: status == "backlog" AND is_story (not epic/retrospective)
1065
+
1066
+ actions:
1067
+ - name: 创建故事文件
1068
+ inputs:
1069
+ - sprint_status: "{sprint_artifacts}/sprint-status.yaml"
1070
+ - epics_file: "{output_folder}/epics.md"
1071
+ - prd_file: "{output_folder}/PRD.md"
1072
+ - architecture_file: "{output_folder}/architecture.md"
1073
+
1074
+ - name: 生成故事上下文
1075
+ include:
1076
+ - 用户故事描述
1077
+ - 接受标准 (Given-When-Then)
1078
+ - 技术说明 (Dev Notes)
1079
+ - 任务/子任务分解
1080
+ - 相关文件列表
1081
+
1082
+ - name: 更新状态
1083
+ update_sprint_status:
1084
+ story_key: "backlog → drafted"
1085
+
1086
+ - name: 自动验证并标记 ready-for-dev
1087
+ # SM 智能体的 create-story 支持直接标记 ready-for-dev
1088
+ validate:
1089
+ - 接受标准完整性
1090
+ - 任务分解合理性
1091
+ - 技术说明充分性
1092
+ on_pass:
1093
+ update_sprint_status:
1094
+ story_key: "drafted → ready-for-dev"
1095
+ ```
1096
+
1097
+ **故事文件格式** (符合 DEV 智能体要求):
1098
+
1099
+ > ⚠️ **关键**: 必须包含 `Status:` 行,且位于标题之后!
1100
+
1101
+ ```markdown
1102
+ # Story: {story-key}
1103
+
1104
+ Status: drafted
1105
+
1106
+ ## Story
1107
+ As a [用户角色],
1108
+ I want [功能],
1109
+ So that [价值].
1110
+
1111
+ ## Acceptance Criteria
1112
+ - [ ] **AC-001**: Given [条件], When [操作], Then [结果]
1113
+ - [ ] **AC-002**: ...
1114
+
1115
+ ## Tasks/Subtasks
1116
+ - [ ] TASK-001: [任务描述]
1117
+ - [ ] SUBTASK-001-1: [子任务]
1118
+ - [ ] SUBTASK-001-2: [子任务]
1119
+ - [ ] TASK-002: [任务描述]
1120
+
1121
+ ## Dev Notes
1122
+ ### Architecture Requirements
1123
+ [架构设计中的相关部分]
1124
+
1125
+ ### Technical Specifications
1126
+ [技术实现说明]
1127
+
1128
+ ### Coding Standards
1129
+ [从知识库获取的编码规范]
1130
+
1131
+ ## Dev Agent Record
1132
+ ### Implementation Plan
1133
+ [开发过程中填写]
1134
+
1135
+ ### Debug Log
1136
+ [调试日志]
1137
+
1138
+ ### Completion Notes
1139
+ [完成说明]
1140
+
1141
+ ## File List
1142
+ [变更的文件列表]
1143
+
1144
+ ## Change Log
1145
+ [变更日志]
1146
+ ```
1147
+
1148
+ > **注意**: `Status:` 行位于文件顶部(标题之后),不是在底部!
1149
+ > 状态值将随开发进度更新: `drafted → ready-for-dev → in-progress → review → done`
1150
+
1151
+ ---
1152
+
1153
+ #### Step 4.2.2: 故事开发 (develop-story)
1154
+
1155
+ **调用工作流**: `{xiaoma_folder}/xmc/workflows/4-implementation/dev-story/workflow.yaml`
1156
+
1157
+ ---
1158
+
1159
+ ##### 🤖 智能体执行指令
1160
+
1161
+ ```
1162
+ ┌─────────────────────────────────────────────────────────────────┐
1163
+ │ Step 4.2.2: 故事开发 │
1164
+ │ 智能体: Amelia (DEV) │
1165
+ ├─────────────────────────────────────────────────────────────────┤
1166
+ │ │
1167
+ │ 执行步骤: │
1168
+ │ │
1169
+ │ 1. 唤醒 DEV 智能体 │
1170
+ │ ┌─────────────────────────────────────────────────────────┐ │
1171
+ │ │ 执行命令: /dev │ │
1172
+ │ │ 说明: 唤醒开发者 Amelia,准备进行 TDD 开发 │ │
1173
+ │ └─────────────────────────────────────────────────────────┘ │
1174
+ │ │
1175
+ │ 2. 执行故事开发工作流 │
1176
+ │ ┌─────────────────────────────────────────────────────────┐ │
1177
+ │ │ 执行命令: *develop-story │ │
1178
+ │ │ 说明: 执行 TDD 驱动的故事开发 │ │
1179
+ │ │ 前置条件: 故事状态为 ready-for-dev │ │
1180
+ │ │ 执行流程: │ │
1181
+ │ │ - Step 4: 标记为 in-progress │ │
1182
+ │ │ - Step 5: TDD 实现 (红-绿-重构) │ │
1183
+ │ │ - Step 6: 编写全面测试 │ │
1184
+ │ │ - Step 7: 运行验证和测试 │ │
1185
+ │ │ - Step 8: 验证并标记任务完成 │ │
1186
+ │ │ - Step 9: 标记为 review │ │
1187
+ │ │ 状态: ready-for-dev → in-progress → review │ │
1188
+ │ └─────────────────────────────────────────────────────────┘ │
1189
+ │ │
1190
+ │ ⚠️ 关键规则: │
1191
+ │ - 故事文件是唯一的事实来源 │
1192
+ │ - 严格按照 Tasks/Subtasks 顺序执行 │
1193
+ │ - 绝不实现故事文件中未定义的内容 │
1194
+ │ - 每个任务完成前必须有测试覆盖 │
1195
+ │ - 所有测试必须 100% 通过才能继续 │
1196
+ │ │
1197
+ └─────────────────────────────────────────────────────────────────┘
1198
+ ```
1199
+
1200
+ **执行命令**:
1201
+ ```bash
1202
+ # 唤醒 DEV 智能体
1203
+ /dev
1204
+
1205
+ # 执行故事开发
1206
+ *develop-story
1207
+ ```
1208
+
1209
+ ---
1210
+
1211
+ ```yaml
1212
+ task: develop_story
1213
+ role: DEV (Amelia)
1214
+ agent_activation:
1215
+ command: "/dev"
1216
+ workflow: "*develop-story"
1217
+ invoke_workflow: "*develop-story"
1218
+
1219
+ precondition:
1220
+ - sprint_status[story_key] == "ready-for-dev"
1221
+
1222
+ execution_flow:
1223
+ # DEV 智能体 dev-story 工作流的 10 个步骤
1224
+ step_1: "查找 ready-for-dev 故事并加载"
1225
+ step_2: "加载项目上下文和故事信息"
1226
+ step_3: "检测是否是代码审查后的继续"
1227
+ step_4: "标记故事为 in-progress"
1228
+ step_5: "TDD 实现 (红-绿-重构)"
1229
+ step_6: "编写全面测试"
1230
+ step_7: "运行验证和测试"
1231
+ step_8: "验证并标记任务完成"
1232
+ step_9: "故事完成,标记为 review"
1233
+ step_10: "完成沟通和用户支持"
1234
+
1235
+ tdd_cycle:
1236
+ red_phase:
1237
+ - 根据接受标准编写失败测试
1238
+ - 确认测试失败原因是功能未实现
1239
+
1240
+ green_phase:
1241
+ - 实现最小代码使测试通过
1242
+ - 运行测试确认通过
1243
+
1244
+ refactor_phase:
1245
+ - 优化代码结构
1246
+ - 确保测试仍然通过
1247
+
1248
+ critical_rules:
1249
+ - "故事文件是唯一的事实来源"
1250
+ - "严格按照 Tasks/Subtasks 顺序执行"
1251
+ - "绝不实现故事文件中未定义的内容"
1252
+ - "每个任务完成前必须有测试覆盖"
1253
+ - "所有测试必须 100% 通过才能继续"
1254
+
1255
+ status_transitions:
1256
+ on_start: "ready-for-dev → in-progress"
1257
+ on_complete: "in-progress → review"
1258
+
1259
+ # ⚠️ 强制状态更新操作 - 必须执行!
1260
+ mandatory_updates:
1261
+ on_start:
1262
+ - action: "编辑故事文件: Status: ready-for-dev → Status: in-progress"
1263
+ - action: "编辑 sprint-status.yaml: story_key: ready-for-dev → story_key: in-progress"
1264
+ on_complete:
1265
+ - action: "编辑故事文件: Status: in-progress → Status: review"
1266
+ - action: "编辑 sprint-status.yaml: story_key: in-progress → story_key: review"
1267
+ ```
1268
+
1269
+ ---
1270
+
1271
+ #### Step 4.2.3: 代码审查 (code-review)
1272
+
1273
+ **调用工作流**: `{xiaoma_folder}/xmc/workflows/4-implementation/code-review/workflow.yaml`
1274
+
1275
+ ---
1276
+
1277
+ ##### 🤖 智能体执行指令
1278
+
1279
+ ```
1280
+ ┌─────────────────────────────────────────────────────────────────┐
1281
+ │ Step 4.2.3: 代码审查 │
1282
+ │ 智能体: Amelia (DEV) │
1283
+ ├─────────────────────────────────────────────────────────────────┤
1284
+ │ │
1285
+ │ 执行步骤: │
1286
+ │ │
1287
+ │ 1. 唤醒 DEV 智能体 (建议全新上下文) │
1288
+ │ ┌─────────────────────────────────────────────────────────┐ │
1289
+ │ │ 执行命令: /dev │ │
1290
+ │ │ 说明: 唤醒开发者 Amelia,准备进行代码审查 │ │
1291
+ │ │ 建议: 使用全新上下文和不同 LLM 以获得更客观的评估 │ │
1292
+ │ └─────────────────────────────────────────────────────────┘ │
1293
+ │ │
1294
+ │ 2. 执行代码审查工作流 │
1295
+ │ ┌─────────────────────────────────────────────────────────┐ │
1296
+ │ │ 执行命令: *code-review │ │
1297
+ │ │ 说明: 执行彻底的代码审查 │ │
1298
+ │ │ 前置条件: 故事状态为 review │ │
1299
+ │ │ 审查维度: │ │
1300
+ │ │ - 功能正确性: 是否满足所有接受标准 │ │
1301
+ │ │ - 代码质量: 清晰可读、命名规范、遵循项目规范 │ │
1302
+ │ │ - 安全性: 注入风险、敏感数据处理、认证授权 │ │
1303
+ │ │ - 性能: 性能问题、数据库查询、内存泄漏 │ │
1304
+ │ │ - 测试覆盖: 测试充分性、边界情况覆盖 │ │
1305
+ │ │ │ │
1306
+ │ │ 审查结果: │ │
1307
+ │ │ - APPROVED: review → done │ │
1308
+ │ │ - CHANGES_REQUESTED: review → in-progress (返回修复) │ │
1309
+ │ └─────────────────────────────────────────────────────────┘ │
1310
+ │ │
1311
+ └─────────────────────────────────────────────────────────────────┘
1312
+ ```
1313
+
1314
+ **执行命令**:
1315
+ ```bash
1316
+ # 唤醒 DEV 智能体 (建议全新上下文)
1317
+ /dev
1318
+
1319
+ # 执行代码审查
1320
+ *code-review
1321
+ ```
1322
+
1323
+ ---
1324
+
1325
+ ```yaml
1326
+ task: code_review
1327
+ role: DEV (Amelia)
1328
+ agent_activation:
1329
+ command: "/dev"
1330
+ workflow: "*code-review"
1331
+ recommendation: "使用全新上下文和不同 LLM 以获得更客观的评估"
1332
+ invoke_workflow: "*code-review"
1333
+
1334
+ precondition:
1335
+ - sprint_status[story_key] == "review"
1336
+
1337
+ review_dimensions:
1338
+ functionality:
1339
+ - 是否满足所有接受标准
1340
+ - 边界情况是否处理
1341
+ - 异常处理是否完善
1342
+
1343
+ code_quality:
1344
+ - 代码是否清晰可读
1345
+ - 命名是否规范
1346
+ - 是否遵循项目规范
1347
+
1348
+ security:
1349
+ - 是否存在注入风险
1350
+ - 敏感数据处理
1351
+ - 认证授权正确性
1352
+
1353
+ performance:
1354
+ - 是否有性能问题
1355
+ - 数据库查询优化
1356
+ - 内存泄漏风险
1357
+
1358
+ test_coverage:
1359
+ - 测试是否充分
1360
+ - 边界情况覆盖
1361
+ - 测试可维护性
1362
+
1363
+ review_outcome:
1364
+ APPROVED:
1365
+ action: "更新状态为 done"
1366
+ update_sprint_status:
1367
+ story_key: "review → done"
1368
+ # ⚠️ 强制执行以下操作!
1369
+ mandatory_updates:
1370
+ - "编辑故事文件: Status: review → Status: done"
1371
+ - "编辑 sprint-status.yaml: story_key: review → story_key: done"
1372
+
1373
+ CHANGES_REQUESTED:
1374
+ action: "生成修复任务,返回开发"
1375
+ insert_review_followups: true
1376
+ # DEV 智能体会在下次执行时处理审查反馈
1377
+ # ⚠️ 强制执行以下操作!
1378
+ mandatory_updates:
1379
+ - "编辑故事文件: Status: review → Status: in-progress"
1380
+ - "编辑 sprint-status.yaml: story_key: review → story_key: in-progress"
1381
+
1382
+ best_practice: |
1383
+ 建议使用不同的 LLM 执行代码审查以获得更客观的评估
1384
+ ```
1385
+
1386
+ ---
1387
+
1388
+ #### Step 4.2.4: 更新 Sprint 状态
1389
+
1390
+ ```yaml
1391
+ task: update_sprint_status
1392
+ after_each_story:
1393
+ - name: 更新故事状态
1394
+ file: "{sprint_artifacts}/sprint-status.yaml"
1395
+ update:
1396
+ development_status[story_key]: "{new_status}"
1397
+
1398
+ - name: 更新 Epic 状态
1399
+ logic: |
1400
+ if all_stories_in_epic == "done":
1401
+ epic_status = "done"
1402
+ elif any_story_in_epic == "in-progress" or "review":
1403
+ epic_status = "in-progress"
1404
+ else:
1405
+ epic_status = "backlog"
1406
+
1407
+ - name: 计算进度
1408
+ metrics:
1409
+ total_stories: count(stories)
1410
+ completed_stories: count(stories where status == "done")
1411
+ completion_rate: completed_stories / total_stories * 100%
1412
+ ```
1413
+
1414
+ ---
1415
+
1416
+ **TDD 执行流程详解**:
492
1417
 
493
1418
  ```
494
1419
  For Each Task in Story:
495
- ┌──────────────────────────────────┐
496
- │ 1. 编写测试 (Red)
497
- - 根据接受标准编写测试用例
498
- - 运行测试,确认失败
499
- ├──────────────────────────────────┤
500
- 2. 实现代码 (Green)
501
- │ - 编写最小代码使测试通过 │
502
- - 运行测试,确认通过
503
- ├──────────────────────────────────┤
504
- 3. 重构 (Refactor)
505
- - 优化代码结构
506
- - 确保测试仍然通过
507
- ├──────────────────────────────────┤
508
- 4. 代码审查
509
- - 检查代码质量
510
- - 检查规范合规性
511
- - 检查安全性
512
- └──────────────────────────────────┘
1420
+ ┌──────────────────────────────────────────────────────────────┐
1421
+ │ 1. 🔴 编写测试 (Red Phase)
1422
+ ├─ 查询知识库获取测试规范
1423
+ ├─ 根据接受标准编写测试用例
1424
+ │ ├─ 运行测试,确认失败 │
1425
+ └─ 验证失败原因是功能未实现
1426
+ ├──────────────────────────────────────────────────────────────┤
1427
+ 2. 🟢 实现代码 (Green Phase)
1428
+ │ ├─ 查询知识库获取编码规范 │
1429
+ ├─ 编写最小代码使测试通过
1430
+ ├─ 运行测试,确认通过
1431
+ └─ 处理边界情况和异常
1432
+ ├──────────────────────────────────────────────────────────────┤
1433
+ 3. 🔵 重构 (Refactor Phase)
1434
+ ├─ 检查代码质量(重复、复杂度)
1435
+ ├─ 应用优化(提取方法、简化逻辑)
1436
+ ├─ 运行测试确保仍然通过
1437
+ │ └─ 更新 Dev Agent Record │
1438
+ ├──────────────────────────────────────────────────────────────┤
1439
+ │ 4. ✅ 标记任务完成 │
1440
+ │ ├─ 验证所有测试存在且通过 │
1441
+ │ ├─ 标记任务 checkbox [x] │
1442
+ │ ├─ 更新 File List │
1443
+ │ └─ 继续下一个任务或进入完成流程 │
1444
+ └──────────────────────────────────────────────────────────────┘
513
1445
  ```
514
1446
 
515
1447
  **质量门禁**:
516
- - [ ] 所有测试通过
517
- - [ ] 代码审查通过
518
- - [ ] 无安全漏洞
519
- - [ ] 符合代码规范
1448
+ - [ ] 所有测试通过 (100%)
1449
+ - [ ] 代码审查通过 (APPROVED)
1450
+ - [ ] 无安全漏洞 (0 critical/high)
1451
+ - [ ] 符合代码规范 (lint 通过)
1452
+ - [ ] 测试覆盖率 >= 80%
520
1453
 
521
1454
  ---
522
1455
 
523
1456
  ### Step 5: 测试验证阶段 (Phase 5)
524
1457
 
525
- **角色激活**: TEA (测试架构师)
1458
+ **角色激活**: TEA (测试架构师 - Murat)
1459
+
1460
+ > **重要**: 本阶段集成 TEA 智能体的专用测试工作流,提供全面的测试验证能力。
1461
+
1462
+ ---
1463
+
1464
+ #### 🤖 智能体执行指令
1465
+
1466
+ ```
1467
+ ┌─────────────────────────────────────────────────────────────────┐
1468
+ │ Phase 5: 测试验证 │
1469
+ │ 智能体: Murat (TEA) │
1470
+ ├─────────────────────────────────────────────────────────────────┤
1471
+ │ │
1472
+ │ Step 5.1: 唤醒 TEA 智能体 │
1473
+ │ ┌─────────────────────────────────────────────────────────────┐│
1474
+ │ │ 执行命令: /tea ││
1475
+ │ │ 说明: 唤醒测试架构师 Murat,准备进行测试验证工作 ││
1476
+ │ └─────────────────────────────────────────────────────────────┘│
1477
+ │ │
1478
+ │ Step 5.2: 需求追溯验证 │
1479
+ │ ┌─────────────────────────────────────────────────────────────┐│
1480
+ │ │ 执行命令: *trace ││
1481
+ │ │ 说明: 构建需求到测试的追溯矩阵 ││
1482
+ │ │ 输出: traceability-matrix.md ││
1483
+ │ │ 验证: FR → Stories → Tests 映射完整性 ││
1484
+ │ └─────────────────────────────────────────────────────────────┘│
1485
+ │ │
1486
+ │ Step 5.3: 测试质量评审 │
1487
+ │ ┌─────────────────────────────────────────────────────────────┐│
1488
+ │ │ 执行命令: *test-review ││
1489
+ │ │ 说明: 评审测试质量和充分性 ││
1490
+ │ │ 检查: 测试充分性、测试质量、测试模式 ││
1491
+ │ │ 输出: test-review-report.md ││
1492
+ │ └─────────────────────────────────────────────────────────────┘│
1493
+ │ │
1494
+ │ Step 5.4: NFR 验证 │
1495
+ │ ┌─────────────────────────────────────────────────────────────┐│
1496
+ │ │ 执行命令: *nfr-assess ││
1497
+ │ │ 说明: 验证非功能性需求 (性能、安全、可用性) ││
1498
+ │ │ 输出: nfr-assessment-report.md ││
1499
+ │ └─────────────────────────────────────────────────────────────┘│
1500
+ │ │
1501
+ │ Step 5.5: (可选) 测试设计 │
1502
+ │ ┌─────────────────────────────────────────────────────────────┐│
1503
+ │ │ 执行命令: *test-design ││
1504
+ │ │ 说明: 创建全面的测试场景 ││
1505
+ │ └─────────────────────────────────────────────────────────────┘│
1506
+ │ │
1507
+ │ Step 5.6: (可选) 测试自动化 │
1508
+ │ ┌─────────────────────────────────────────────────────────────┐│
1509
+ │ │ 执行命令: *automate ││
1510
+ │ │ 说明: 生成全面的测试自动化代码 ││
1511
+ │ └─────────────────────────────────────────────────────────────┘│
1512
+ │ │
1513
+ │ Step 5.7: (可选) CI/CD 流水线 │
1514
+ │ ┌─────────────────────────────────────────────────────────────┐│
1515
+ │ │ 执行命令: *ci ││
1516
+ │ │ 说明: 搭建 CI/CD 质量流水线脚手架 ││
1517
+ │ └─────────────────────────────────────────────────────────────┘│
1518
+ │ │
1519
+ └─────────────────────────────────────────────────────────────────┘
1520
+ ```
1521
+
1522
+ **完整执行序列**:
1523
+ ```bash
1524
+ # 1. 唤醒 TEA 智能体
1525
+ /tea
1526
+
1527
+ # 2. 需求追溯验证
1528
+ *trace
1529
+
1530
+ # 3. 测试质量评审
1531
+ *test-review
1532
+
1533
+ # 4. NFR 验证
1534
+ *nfr-assess
1535
+
1536
+ # 5. (可选) 测试设计
1537
+ *test-design
1538
+
1539
+ # 6. (可选) 测试自动化
1540
+ *automate
1541
+
1542
+ # 7. (可选) CI/CD 流水线
1543
+ *ci
1544
+ ```
1545
+
1546
+ ---
526
1547
 
527
1548
  **自动执行内容**:
528
1549
 
529
1550
  ```yaml
530
1551
  phase: 5
531
1552
  name: 测试验证
532
- role: TEA
1553
+ role: TEA (Murat)
1554
+ agent_activation:
1555
+ command: "/tea"
1556
+ workflows:
1557
+ - trigger: "*trace"
1558
+ purpose: "需求到测试的追踪映射"
1559
+ - trigger: "*test-review"
1560
+ purpose: "测试质量评审"
1561
+ - trigger: "*nfr-assess"
1562
+ purpose: "非功能性需求验证"
1563
+ - trigger: "*test-design"
1564
+ purpose: "测试场景设计(可选)"
1565
+ - trigger: "*automate"
1566
+ purpose: "测试自动化(可选)"
1567
+ - trigger: "*ci"
1568
+ purpose: "CI/CD 流水线(可选)"
533
1569
  inputs:
534
1570
  - 实现的代码
535
1571
  - 测试代码
536
1572
  - prd.md
1573
+ - stories/
1574
+ - architecture.md
537
1575
  outputs:
538
1576
  - test-report.md
539
1577
  - quality-report.md
1578
+ - traceability-matrix.md
1579
+ - coverage-report/
1580
+
1581
+ # 调用的 TEA 智能体工作流
1582
+ workflows_invoked:
1583
+ - agent: TEA (Murat)
1584
+ workflow: trace
1585
+ command: "/tea → *trace"
1586
+ purpose: "需求到测试的追踪映射"
1587
+ - agent: TEA (Murat)
1588
+ workflow: test-review
1589
+ command: "/tea → *test-review"
1590
+ purpose: "测试质量评审"
1591
+ - agent: TEA (Murat)
1592
+ workflow: nfr-assess
1593
+ command: "/tea → *nfr-assess"
1594
+ purpose: "非功能性需求验证"
1595
+ ```
540
1596
 
541
- tasks:
542
- - name: 执行测试套件
543
- action: |
544
- 1. 运行单元测试
545
- 2. 运行集成测试
546
- 3. 收集测试覆盖率
1597
+ ---
547
1598
 
548
- - name: 质量门禁检查
549
- action: |
550
- 1. 检查测试覆盖率 >= 80%
551
- 2. 检查无失败测试
552
- 3. 检查代码质量指标
553
- 4. 检查安全扫描结果
1599
+ #### Step 5.1: 需求追溯验证
554
1600
 
555
- - name: 生成报告
556
- action: |
557
- 1. 生成测试报告
558
- 2. 生成质量报告
559
- 3. 生成追溯矩阵
1601
+ **调用工作流**: `{xiaoma_folder}/xmc/workflows/testarch/trace/workflow.yaml`
1602
+
1603
+ **执行命令**: `/tea → *trace`
1604
+
1605
+ ```yaml
1606
+ task: requirement_traceability
1607
+ role: TEA (Murat)
1608
+ agent_command: "/tea → *trace"
1609
+ invoke_workflow: "*trace"
1610
+
1611
+ actions:
1612
+ - name: 构建追溯矩阵
1613
+ map:
1614
+ - FR → Stories → Tests
1615
+ - AC → Test Cases
1616
+ - NFR → Validation Tests
1617
+
1618
+ - name: 验证覆盖完整性
1619
+ check:
1620
+ - 每个 FR 都有对应测试
1621
+ - 每个 AC 都有对应测试用例
1622
+ - 无遗漏的需求
1623
+
1624
+ - name: 生成追溯报告
1625
+ output: "traceability-matrix.md"
560
1626
  ```
561
1627
 
1628
+ ---
1629
+
1630
+ #### Step 5.2: 执行测试套件
1631
+
1632
+ ```yaml
1633
+ task: execute_test_suites
1634
+ actions:
1635
+ - name: 运行单元测试
1636
+ command: "npm run test:unit"
1637
+ collect:
1638
+ - 通过/失败数量
1639
+ - 覆盖率报告
1640
+ - 失败详情
1641
+
1642
+ - name: 运行集成测试
1643
+ command: "npm run test:integration"
1644
+ collect:
1645
+ - 通过/失败数量
1646
+ - API 测试结果
1647
+ - 数据库测试结果
1648
+
1649
+ - name: 运行端到端测试
1650
+ command: "npm run test:e2e"
1651
+ if: e2e_tests_exist
1652
+ collect:
1653
+ - 通过/失败数量
1654
+ - 用户流程测试结果
1655
+ ```
1656
+
1657
+ ---
1658
+
1659
+ #### Step 5.3: 测试质量评审
1660
+
1661
+ **调用工作流**: `{xiaoma_folder}/xmc/workflows/testarch/test-review/workflow.yaml`
1662
+
1663
+ **执行命令**: `/tea → *test-review`
1664
+
1665
+ ```yaml
1666
+ task: test_quality_review
1667
+ role: TEA (Murat)
1668
+ agent_command: "/tea → *test-review"
1669
+ invoke_workflow: "*test-review"
1670
+
1671
+ review_criteria:
1672
+ - name: 测试充分性
1673
+ check:
1674
+ - 关键路径是否覆盖
1675
+ - 边界条件是否测试
1676
+ - 异常场景是否覆盖
1677
+
1678
+ - name: 测试质量
1679
+ check:
1680
+ - 测试是否独立
1681
+ - 断言是否明确
1682
+ - 测试是否可维护
1683
+
1684
+ - name: 测试模式
1685
+ check:
1686
+ - AAA 模式 (Arrange-Act-Assert)
1687
+ - 单一职责
1688
+ - 无硬编码依赖
1689
+
1690
+ output:
1691
+ test_review_report:
1692
+ score: "[A-F]"
1693
+ issues: []
1694
+ recommendations: []
1695
+ ```
1696
+
1697
+ ---
1698
+
1699
+ #### Step 5.4: NFR 验证
1700
+
1701
+ **调用工作流**: `{xiaoma_folder}/xmc/workflows/testarch/nfr-assess/workflow.yaml`
1702
+
1703
+ **执行命令**: `/tea → *nfr-assess`
1704
+
1705
+ ```yaml
1706
+ task: nfr_validation
1707
+ role: TEA (Murat)
1708
+ agent_command: "/tea → *nfr-assess"
1709
+ invoke_workflow: "*nfr-assess"
1710
+
1711
+ validations:
1712
+ performance:
1713
+ - nfr_id: "NFR-PERF-001"
1714
+ requirement: "页面响应时间 < 2s"
1715
+ test_method: "性能测试"
1716
+
1717
+ - nfr_id: "NFR-PERF-002"
1718
+ requirement: "API 响应时间 < 500ms"
1719
+ test_method: "负载测试"
1720
+
1721
+ security:
1722
+ - nfr_id: "NFR-SEC-001"
1723
+ requirement: "所有 API 需要认证"
1724
+ test_method: "安全扫描"
1725
+
1726
+ - nfr_id: "NFR-SEC-002"
1727
+ requirement: "敏感数据加密传输"
1728
+ test_method: "HTTPS 验证"
1729
+
1730
+ usability:
1731
+ - nfr_id: "NFR-USA-001"
1732
+ requirement: "支持响应式布局"
1733
+ test_method: "多设备测试"
1734
+ ```
1735
+
1736
+ ---
1737
+
1738
+ #### Step 5.5: 质量门禁检查
1739
+
1740
+ ```yaml
1741
+ task: quality_gate_check
1742
+ actions:
1743
+ - name: 代码覆盖率检查
1744
+ threshold:
1745
+ statements: ">= 80%"
1746
+ branches: ">= 75%"
1747
+ functions: ">= 85%"
1748
+ lines: ">= 80%"
1749
+
1750
+ - name: 代码质量检查
1751
+ run: "npm run lint"
1752
+ threshold:
1753
+ errors: 0
1754
+ warnings: "<= 10"
1755
+
1756
+ - name: 安全扫描
1757
+ run: "npm audit"
1758
+ threshold:
1759
+ critical: 0
1760
+ high: 0
1761
+
1762
+ - name: 类型检查
1763
+ run: "npm run type-check"
1764
+ threshold:
1765
+ errors: 0
1766
+
1767
+ - name: 构建验证
1768
+ run: "npm run build"
1769
+ threshold:
1770
+ success: true
1771
+ ```
1772
+
1773
+ ---
1774
+
1775
+ #### Step 5.6: 生成测试报告
1776
+
1777
+ ```yaml
1778
+ task: generate_reports
1779
+ outputs:
1780
+ - name: test-report.md
1781
+ content:
1782
+ - 执行摘要
1783
+ - 测试执行详情
1784
+ - 代码覆盖率
1785
+ - 需求追溯
1786
+ - 问题和建议
1787
+
1788
+ - name: quality-report.md
1789
+ content:
1790
+ - 质量门禁结果
1791
+ - 代码质量分析
1792
+ - 安全扫描结果
1793
+ - NFR 验证结果
1794
+
1795
+ - name: traceability-matrix.md
1796
+ content:
1797
+ - FR → Story → Test 映射
1798
+ - AC → Test Case 映射
1799
+ - 覆盖率统计
1800
+ ```
1801
+
1802
+ ---
1803
+
562
1804
  **质量门禁**:
563
1805
  - [ ] 测试覆盖率 >= 80%
564
- - [ ] 所有测试通过
565
- - [ ] 无严重安全漏洞
1806
+ - [ ] 所有测试通过 (100%)
1807
+ - [ ] 无严重安全漏洞 (0 critical/high)
566
1808
  - [ ] 代码质量评分 >= B
1809
+ - [ ] NFR 验证通过
1810
+ - [ ] 需求追溯完整 (100%)
567
1811
 
568
1812
  ---
569
1813
 
@@ -606,7 +1850,9 @@ blocking_resolution:
606
1850
 
607
1851
  ## 状态追踪
608
1852
 
609
- 执行过程中自动更新 `auto-iteration-status.yaml`:
1853
+ ### 1. 迭代执行状态 (`auto-iteration-status.yaml`)
1854
+
1855
+ 执行过程中自动更新迭代级别的状态:
610
1856
 
611
1857
  ```yaml
612
1858
  # auto-iteration-status.yaml
@@ -628,14 +1874,16 @@ phases:
628
1874
  outputs:
629
1875
  - prd.md
630
1876
  - epics/epic-001.md
631
- - stories/story-001.md
632
1877
 
633
1878
  phase_3_design:
634
- status: "in_progress"
635
- current_task: "数据模型设计"
1879
+ status: "completed"
1880
+ outputs:
1881
+ - architecture.md
1882
+ - adr/
636
1883
 
637
1884
  phase_4_develop:
638
- status: "pending"
1885
+ status: "in_progress"
1886
+ current_story: "1-2-user-authentication"
639
1887
 
640
1888
  phase_5_test:
641
1889
  status: "pending"
@@ -648,6 +1896,190 @@ knowledge_base_queries:
648
1896
  source: "tech-kb/auth-patterns.md"
649
1897
  ```
650
1898
 
1899
+ ### 2. Sprint 开发状态 (`sprint-status.yaml`)
1900
+
1901
+ **与 SM 智能体完全兼容的格式**:
1902
+
1903
+ ```yaml
1904
+ # sprint-status.yaml
1905
+ # 由 SM 智能体的 sprint-planning 工作流生成
1906
+ # 格式与现有项目智能体系统完全一致
1907
+
1908
+ # 文件元数据
1909
+ generated: "2024-01-15 10:30"
1910
+ project: "My Project"
1911
+ project_key: "PROJ-001"
1912
+ tracking_system: file-system
1913
+ story_location: "{sprint_artifacts}"
1914
+
1915
+ # STATUS DEFINITIONS (与 SM 智能体一致):
1916
+ # ==================
1917
+ # Epic Status:
1918
+ # - backlog: Epic not yet started
1919
+ # - in-progress: Epic actively being worked on
1920
+ # - done: All stories in epic completed
1921
+ #
1922
+ # Story Status:
1923
+ # - backlog: Story only exists in epic file
1924
+ # - drafted: Story file created in stories folder
1925
+ # - ready-for-dev: Draft approved, ready for development
1926
+ # - in-progress: Developer actively working on implementation
1927
+ # - review: Implementation complete, ready for review
1928
+ # - done: Story completed
1929
+
1930
+ # 开发状态追踪
1931
+ development_status:
1932
+ # Epic 1
1933
+ epic-1: in-progress
1934
+ 1-1-user-authentication: done
1935
+ 1-2-account-management: in-progress
1936
+ 1-3-user-profile: ready-for-dev
1937
+ 1-4-password-reset: drafted
1938
+ 1-5-session-management: backlog
1939
+ epic-1-retrospective: optional
1940
+
1941
+ # Epic 2
1942
+ epic-2: backlog
1943
+ 2-1-product-catalog: backlog
1944
+ 2-2-search-functionality: backlog
1945
+ 2-3-product-details: backlog
1946
+ epic-2-retrospective: optional
1947
+ ```
1948
+
1949
+ ### 3. 状态同步机制
1950
+
1951
+ ```yaml
1952
+ status_sync:
1953
+ # Phase 4 开发过程中的状态同步
1954
+ on_story_status_change:
1955
+ - update: "sprint-status.yaml"
1956
+ field: "development_status[story_key]"
1957
+
1958
+ - update: "auto-iteration-status.yaml"
1959
+ field: "phases.phase_4_develop.current_story"
1960
+
1961
+ # 故事状态转换触发点
1962
+ transitions:
1963
+ backlog_to_drafted:
1964
+ trigger: "*create-story 完成创建故事文件"
1965
+ update_sprint_status: true
1966
+
1967
+ drafted_to_ready_for_dev:
1968
+ trigger: "*create-story 或 *validate-create-story 验证通过"
1969
+ update_sprint_status: true
1970
+
1971
+ ready_for_dev_to_in_progress:
1972
+ trigger: "*develop-story Step 4 开始开发"
1973
+ update_sprint_status: true
1974
+
1975
+ in_progress_to_review:
1976
+ trigger: "*develop-story Step 9 故事完成"
1977
+ update_sprint_status: true
1978
+
1979
+ review_to_done:
1980
+ trigger: "*code-review APPROVED"
1981
+ update_sprint_status: true
1982
+
1983
+ review_to_in_progress:
1984
+ trigger: "*code-review CHANGES_REQUESTED"
1985
+ update_sprint_status: true
1986
+ note: "DEV 智能体会处理审查反馈"
1987
+ ```
1988
+
1989
+ ### 4. 强制状态更新操作 (MANDATORY)
1990
+
1991
+ > ⚠️ **关键**: 以下操作是**必须执行**的,不是可选的描述!
1992
+
1993
+ #### 4.1 Phase 4 开始前 - 创建 sprint-status.yaml
1994
+
1995
+ **必须首先执行** `*sprint-planning` 或手动创建:
1996
+
1997
+ ```bash
1998
+ # 在 {sprint_artifacts} 目录创建 sprint-status.yaml
1999
+ # 示例路径: docs/sprint-artifacts/sprint-status.yaml
2000
+ ```
2001
+
2002
+ ```yaml
2003
+ # sprint-status.yaml - 必须创建此文件
2004
+ generated: "{date}"
2005
+ project: "{project_name}"
2006
+ tracking_system: file-system
2007
+ story_location: "{sprint_artifacts}"
2008
+
2009
+ development_status:
2010
+ epic-1: backlog
2011
+ 1-1-story-name: backlog
2012
+ 1-2-story-name: backlog
2013
+ # ... 列出所有故事
2014
+ ```
2015
+
2016
+ #### 4.2 状态更新文件编辑操作
2017
+
2018
+ **每次状态变化时,必须执行以下两个更新**:
2019
+
2020
+ ##### 更新 1: sprint-status.yaml
2021
+
2022
+ ```yaml
2023
+ # 编辑 sprint-status.yaml 中的 development_status
2024
+ # 将故事状态从旧值改为新值
2025
+
2026
+ # 示例: 1-1-user-auth 从 backlog 变为 drafted
2027
+ development_status:
2028
+ 1-1-user-auth: drafted # 原来是 backlog
2029
+ ```
2030
+
2031
+ ##### 更新 2: 故事文件
2032
+
2033
+ 故事文件必须使用以下格式(符合 SM/DEV 智能体要求):
2034
+
2035
+ ```markdown
2036
+ # Story 1.1: User Authentication
2037
+
2038
+ Status: drafted
2039
+
2040
+ ## Story
2041
+ As a user,
2042
+ I want to authenticate,
2043
+ so that I can access the system.
2044
+
2045
+ ## Acceptance Criteria
2046
+ ...
2047
+ ```
2048
+
2049
+ **状态行位置**: 在标题之后,第一个 `## ` 节之前
2050
+
2051
+ **允许的状态值**:
2052
+ - `drafted` - 故事文件已创建
2053
+ - `ready-for-dev` - 准备开发
2054
+ - `in-progress` - 开发中
2055
+ - `review` - 等待审查
2056
+ - `done` - 已完成
2057
+
2058
+ #### 4.3 状态更新检查点
2059
+
2060
+ 在以下时间点**必须**更新状态:
2061
+
2062
+ | 时间点 | 触发动作 | 更新内容 |
2063
+ |--------|---------|---------|
2064
+ | `*create-story` 完成 | 故事文件创建 | `backlog → drafted` (或 `ready-for-dev`) |
2065
+ | `*develop-story` Step 4 | 开始开发 | `ready-for-dev → in-progress` |
2066
+ | `*develop-story` Step 9 | 开发完成 | `in-progress → review` |
2067
+ | `*code-review` APPROVED | 审查通过 | `review → done` |
2068
+
2069
+ #### 4.4 验证状态更新
2070
+
2071
+ 每个阶段完成后,验证状态一致性:
2072
+
2073
+ ```bash
2074
+ # 检查 sprint-status.yaml 中的状态
2075
+ grep "story-key" sprint-status.yaml
2076
+
2077
+ # 检查故事文件中的状态
2078
+ head -5 stories/story-key.md | grep "Status:"
2079
+ ```
2080
+
2081
+ **状态必须同步**: `sprint-status.yaml` 和故事文件中的状态必须一致!
2082
+
651
2083
  ---
652
2084
 
653
2085
  ## 执行完成