@zeyue0329/xiaoma-cli 6.0.0-alpha.14 → 6.0.0-alpha.16

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@zeyue0329/xiaoma-cli",
4
- "version": "6.0.0-alpha.14",
4
+ "version": "6.0.0-alpha.16",
5
5
  "description": "XiaoMa Cli: Universal AI Agent Framework",
6
6
  "keywords": [
7
7
  "agile",
@@ -54,6 +54,44 @@ knowledge_base:
54
54
 
55
55
  本工作流实现从需求文档到代码实现的全自动化执行,融合7大智能体能力,通过知识库驱动所有决策,实现零人工干预的端到端开发。
56
56
 
57
+ ### 智能体工作流集成汇总
58
+
59
+ > **重要**: 本工作流严格遵循项目现有智能体的标准工作流,确保完全兼容。
60
+
61
+ | 阶段 | 集成智能体 | 调用的工作流 | 用途 |
62
+ |------|-----------|-------------|------|
63
+ | Phase 1 | Mary (Analyst) | 内置分析能力 | 需求分析、业务规则匹配 |
64
+ | Phase 2 | John (PM) | 内置 PRD 能力 | PRD 创建、史诗故事定义 |
65
+ | Phase 3 | Winston (Architect) | 内置架构能力 | 架构设计、技术决策 |
66
+ | Phase 4 | Bob (SM) | `*sprint-planning` | 生成 sprint-status.yaml |
67
+ | Phase 4 | Bob (SM) | `*create-story` | 创建故事文件 (backlog→drafted→ready-for-dev) |
68
+ | Phase 4 | Amelia (DEV) | `*develop-story` | TDD 开发 (ready-for-dev→in-progress→review) |
69
+ | Phase 4 | Amelia (DEV) | `*code-review` | 代码审查 (review→done) |
70
+ | Phase 5 | Murat (TEA) | `*trace` | 需求到测试追踪 |
71
+ | Phase 5 | Murat (TEA) | `*test-review` | 测试质量评审 |
72
+ | Phase 5 | Murat (TEA) | `*nfr-assess` | NFR 验证 |
73
+
74
+ ### 故事状态系统 (6状态流转)
75
+
76
+ ```
77
+ backlog → drafted → ready-for-dev → in-progress → review → done
78
+ │ │ │ │ │ │
79
+ │ │ │ │ │ └─ 故事完成
80
+ │ │ │ │ └─ 等待代码审查
81
+ │ │ │ └─ 开发进行中
82
+ │ │ └─ 可以开始开发
83
+ │ └─ 故事文件已创建
84
+ └─ 仅存在于 Epic 文件中
85
+ ```
86
+
87
+ **状态转换触发点**:
88
+ - `backlog → drafted`: SM `*create-story` 创建故事文件
89
+ - `drafted → ready-for-dev`: SM `*create-story` 或 `*validate-create-story` 验证通过
90
+ - `ready-for-dev → in-progress`: DEV `*develop-story` Step 4
91
+ - `in-progress → review`: DEV `*develop-story` Step 9
92
+ - `review → done`: DEV `*code-review` APPROVED
93
+ - `review → in-progress`: DEV `*code-review` CHANGES_REQUESTED (返回修复)
94
+
57
95
  ```
58
96
  ┌─────────────────────────────────────────────────────────────────────────┐
59
97
  │ 全自动迭代开发流程 │
@@ -449,121 +487,650 @@ tasks:
449
487
 
450
488
  ### Step 4: 开发实现阶段 (Phase 4)
451
489
 
452
- **角色激活**: SM (Scrum Master) + DEV (开发者)
490
+ **角色激活**: SM (Scrum Master - Bob) + DEV (Developer - Amelia)
491
+
492
+ > **重要**: 本阶段严格遵循项目智能体的标准工作流,确保与 SM 和 DEV 智能体的完全兼容。
493
+
494
+ **故事状态定义** (与 SM 智能体一致):
495
+
496
+ ```yaml
497
+ # 故事状态流转 (6状态系统)
498
+ story_status:
499
+ backlog: "故事仅存在于 epic 文件中"
500
+ drafted: "故事文件已创建于 stories 文件夹"
501
+ ready-for-dev: "故事草稿已审核,可以开始开发"
502
+ in-progress: "开发者正在积极实现中"
503
+ review: "实现完成,等待代码审查"
504
+ done: "故事已完成"
505
+
506
+ # Epic 状态
507
+ epic_status:
508
+ backlog: "Epic 尚未开始"
509
+ in-progress: "Epic 正在进行中"
510
+ done: "Epic 中所有故事已完成"
511
+ ```
453
512
 
454
513
  **自动执行内容**:
455
514
 
456
515
  ```yaml
457
516
  phase: 4
458
517
  name: 开发实现
459
- role: SM + DEV
460
518
  inputs:
461
519
  - architecture.md
462
- - stories/
520
+ - epics/*.md # 包含故事定义的 Epic 文件
463
521
  - 技术知识库
464
522
  outputs:
523
+ - sprint-status.yaml # 使用 SM 智能体的标准格式
524
+ - stories/*.md # 独立故事文件
465
525
  - 实现的代码
466
526
  - 测试代码
467
- - sprint-status.yaml
527
+ - code-review-reports/
528
+
529
+ # 调用的智能体工作流
530
+ workflows_invoked:
531
+ - agent: SM (Bob)
532
+ workflow: sprint-planning
533
+ purpose: "生成 sprint-status.yaml"
534
+ - agent: SM (Bob)
535
+ workflow: create-story
536
+ purpose: "为每个故事创建详细故事文件"
537
+ - agent: DEV (Amelia)
538
+ workflow: dev-story
539
+ purpose: "TDD 驱动的故事实现"
540
+ - agent: DEV (Amelia)
541
+ workflow: code-review
542
+ purpose: "代码审查验证"
543
+ ```
468
544
 
469
- tasks:
470
- - name: Sprint 规划
471
- role: SM
472
- action: |
473
- 1. 基于故事优先级和依赖关系排序
474
- 2. 创建 sprint-status.yaml
475
- 3. 确定故事执行顺序
545
+ ---
476
546
 
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. 更新故事状态
547
+ #### Step 4.1: Sprint 规划 (SM 角色)
548
+
549
+ **调用工作流**: `{xiaoma_folder}/xmc/workflows/4-implementation/sprint-planning/workflow.yaml`
550
+
551
+ ```yaml
552
+ task: sprint_planning
553
+ role: SM (Bob)
554
+ invoke_workflow: "*sprint-planning"
555
+ actions:
556
+ - name: 分析 Epic 文件
557
+ scan:
558
+ - "{output_folder}/*epic*.md"
559
+ extract:
560
+ - Epic ID 和名称
561
+ - 所有故事标识符
562
+ - 依赖关系
563
+
564
+ - name: 生成 sprint-status.yaml
565
+ output_format: |
566
+ # Sprint Status File (SM 智能体标准格式)
567
+ generated: {date}
568
+ project: {project_name}
569
+ project_key: {project_key}
570
+ tracking_system: file-system
571
+ story_location: "{sprint_artifacts}"
572
+
573
+ development_status:
574
+ epic-1: backlog
575
+ 1-1-story-name: backlog
576
+ 1-2-story-name: backlog
577
+ epic-1-retrospective: optional
578
+ epic-2: backlog
579
+ 2-1-story-name: backlog
580
+
581
+ - name: 确定开发顺序
582
+ criteria:
583
+ - 技术依赖(基础组件优先)
584
+ - 业务依赖(前置功能优先)
585
+ - 优先级排序
586
+ ```
587
+
588
+ ---
589
+
590
+ #### Step 4.2: 故事开发循环
591
+
592
+ **对于每个故事,执行完整的状态转换和开发循环**:
593
+
594
+ ```
595
+ ┌─────────────────────────────────────────────────────────────────────────────┐
596
+ │ 故事生命周期管理 │
597
+ ├─────────────────────────────────────────────────────────────────────────────┤
598
+ │ │
599
+ │ Step 4.2.1: 故事准备 (SM - Bob) │
600
+ │ ├─ 调用: *create-story │
601
+ │ ├─ 输入: Epic 中的故事定义 │
602
+ │ ├─ 输出: stories/{story-key}.md │
603
+ │ └─ 状态: backlog → drafted → ready-for-dev │
604
+ │ │
605
+ │ Step 4.2.2: 故事开发 (DEV - Amelia) │
606
+ │ ├─ 调用: *develop-story │
607
+ │ ├─ 输入: ready-for-dev 状态的故事 │
608
+ │ ├─ 执行: TDD 驱动开发 (红-绿-重构) │
609
+ │ └─ 状态: ready-for-dev → in-progress → review │
610
+ │ │
611
+ │ Step 4.2.3: 代码审查 (DEV - Amelia) │
612
+ │ ├─ 调用: *code-review │
613
+ │ ├─ 输入: review 状态的故事 │
614
+ │ ├─ 审查: 功能正确性 + 代码质量 + 安全性 │
615
+ │ └─ 状态: review → done (通过) 或 返回修复 │
616
+ │ │
617
+ └─────────────────────────────────────────────────────────────────────────────┘
618
+ ```
619
+
620
+ ---
621
+
622
+ #### Step 4.2.1: 故事准备 (create-story)
623
+
624
+ **调用工作流**: `{xiaoma_folder}/xmc/workflows/4-implementation/create-story/workflow.yaml`
625
+
626
+ ```yaml
627
+ task: prepare_story
628
+ role: SM (Bob)
629
+ invoke_workflow: "*create-story"
630
+
631
+ for_each: story in sprint_status.development_status
632
+ where: status == "backlog" AND is_story (not epic/retrospective)
633
+
634
+ actions:
635
+ - name: 创建故事文件
636
+ inputs:
637
+ - sprint_status: "{sprint_artifacts}/sprint-status.yaml"
638
+ - epics_file: "{output_folder}/epics.md"
639
+ - prd_file: "{output_folder}/PRD.md"
640
+ - architecture_file: "{output_folder}/architecture.md"
641
+
642
+ - name: 生成故事上下文
643
+ include:
644
+ - 用户故事描述
645
+ - 接受标准 (Given-When-Then)
646
+ - 技术说明 (Dev Notes)
647
+ - 任务/子任务分解
648
+ - 相关文件列表
649
+
650
+ - name: 更新状态
651
+ update_sprint_status:
652
+ story_key: "backlog → drafted"
653
+
654
+ - name: 自动验证并标记 ready-for-dev
655
+ # SM 智能体的 create-story 支持直接标记 ready-for-dev
656
+ validate:
657
+ - 接受标准完整性
658
+ - 任务分解合理性
659
+ - 技术说明充分性
660
+ on_pass:
661
+ update_sprint_status:
662
+ story_key: "drafted → ready-for-dev"
663
+ ```
664
+
665
+ **故事文件格式** (符合 DEV 智能体要求):
666
+
667
+ ```markdown
668
+ # Story: {story-key}
669
+
670
+ ## Story
671
+ As a [用户角色],
672
+ I want [功能],
673
+ So that [价值].
674
+
675
+ ## Acceptance Criteria
676
+ - [ ] **AC-001**: Given [条件], When [操作], Then [结果]
677
+ - [ ] **AC-002**: ...
678
+
679
+ ## Tasks/Subtasks
680
+ - [ ] TASK-001: [任务描述]
681
+ - [ ] SUBTASK-001-1: [子任务]
682
+ - [ ] SUBTASK-001-2: [子任务]
683
+ - [ ] TASK-002: [任务描述]
684
+
685
+ ## Dev Notes
686
+ ### Architecture Requirements
687
+ [架构设计中的相关部分]
688
+
689
+ ### Technical Specifications
690
+ [技术实现说明]
691
+
692
+ ### Coding Standards
693
+ [从知识库获取的编码规范]
694
+
695
+ ## Dev Agent Record
696
+ ### Implementation Plan
697
+ [开发过程中填写]
698
+
699
+ ### Debug Log
700
+ [调试日志]
701
+
702
+ ### Completion Notes
703
+ [完成说明]
704
+
705
+ ## File List
706
+ [变更的文件列表]
707
+
708
+ ## Change Log
709
+ [变更日志]
710
+
711
+ ## Status
712
+ drafted <!-- 将更新为: ready-for-dev → in-progress → review → done -->
713
+ ```
714
+
715
+ ---
716
+
717
+ #### Step 4.2.2: 故事开发 (develop-story)
718
+
719
+ **调用工作流**: `{xiaoma_folder}/xmc/workflows/4-implementation/dev-story/workflow.yaml`
720
+
721
+ ```yaml
722
+ task: develop_story
723
+ role: DEV (Amelia)
724
+ invoke_workflow: "*develop-story"
725
+
726
+ precondition:
727
+ - sprint_status[story_key] == "ready-for-dev"
728
+
729
+ execution_flow:
730
+ # DEV 智能体 dev-story 工作流的 10 个步骤
731
+ step_1: "查找 ready-for-dev 故事并加载"
732
+ step_2: "加载项目上下文和故事信息"
733
+ step_3: "检测是否是代码审查后的继续"
734
+ step_4: "标记故事为 in-progress"
735
+ step_5: "TDD 实现 (红-绿-重构)"
736
+ step_6: "编写全面测试"
737
+ step_7: "运行验证和测试"
738
+ step_8: "验证并标记任务完成"
739
+ step_9: "故事完成,标记为 review"
740
+ step_10: "完成沟通和用户支持"
741
+
742
+ tdd_cycle:
743
+ red_phase:
744
+ - 根据接受标准编写失败测试
745
+ - 确认测试失败原因是功能未实现
746
+
747
+ green_phase:
748
+ - 实现最小代码使测试通过
749
+ - 运行测试确认通过
750
+
751
+ refactor_phase:
752
+ - 优化代码结构
753
+ - 确保测试仍然通过
754
+
755
+ critical_rules:
756
+ - "故事文件是唯一的事实来源"
757
+ - "严格按照 Tasks/Subtasks 顺序执行"
758
+ - "绝不实现故事文件中未定义的内容"
759
+ - "每个任务完成前必须有测试覆盖"
760
+ - "所有测试必须 100% 通过才能继续"
761
+
762
+ status_transitions:
763
+ on_start: "ready-for-dev → in-progress"
764
+ on_complete: "in-progress → review"
765
+ ```
766
+
767
+ ---
768
+
769
+ #### Step 4.2.3: 代码审查 (code-review)
770
+
771
+ **调用工作流**: `{xiaoma_folder}/xmc/workflows/4-implementation/code-review/workflow.yaml`
772
+
773
+ ```yaml
774
+ task: code_review
775
+ role: DEV (Amelia)
776
+ invoke_workflow: "*code-review"
777
+
778
+ precondition:
779
+ - sprint_status[story_key] == "review"
780
+
781
+ review_dimensions:
782
+ functionality:
783
+ - 是否满足所有接受标准
784
+ - 边界情况是否处理
785
+ - 异常处理是否完善
786
+
787
+ code_quality:
788
+ - 代码是否清晰可读
789
+ - 命名是否规范
790
+ - 是否遵循项目规范
791
+
792
+ security:
793
+ - 是否存在注入风险
794
+ - 敏感数据处理
795
+ - 认证授权正确性
796
+
797
+ performance:
798
+ - 是否有性能问题
799
+ - 数据库查询优化
800
+ - 内存泄漏风险
801
+
802
+ test_coverage:
803
+ - 测试是否充分
804
+ - 边界情况覆盖
805
+ - 测试可维护性
806
+
807
+ review_outcome:
808
+ APPROVED:
809
+ action: "更新状态为 done"
810
+ update_sprint_status:
811
+ story_key: "review → done"
812
+
813
+ CHANGES_REQUESTED:
814
+ action: "生成修复任务,返回开发"
815
+ insert_review_followups: true
816
+ # DEV 智能体会在下次执行时处理审查反馈
817
+
818
+ best_practice: |
819
+ 建议使用不同的 LLM 执行代码审查以获得更客观的评估
820
+ ```
821
+
822
+ ---
823
+
824
+ #### Step 4.2.4: 更新 Sprint 状态
825
+
826
+ ```yaml
827
+ task: update_sprint_status
828
+ after_each_story:
829
+ - name: 更新故事状态
830
+ file: "{sprint_artifacts}/sprint-status.yaml"
831
+ update:
832
+ development_status[story_key]: "{new_status}"
833
+
834
+ - name: 更新 Epic 状态
835
+ logic: |
836
+ if all_stories_in_epic == "done":
837
+ epic_status = "done"
838
+ elif any_story_in_epic == "in-progress" or "review":
839
+ epic_status = "in-progress"
840
+ else:
841
+ epic_status = "backlog"
842
+
843
+ - name: 计算进度
844
+ metrics:
845
+ total_stories: count(stories)
846
+ completed_stories: count(stories where status == "done")
847
+ completion_rate: completed_stories / total_stories * 100%
489
848
  ```
490
849
 
491
- **TDD 执行流程**:
850
+ ---
851
+
852
+ **TDD 执行流程详解**:
492
853
 
493
854
  ```
494
855
  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
- └──────────────────────────────────┘
856
+ ┌──────────────────────────────────────────────────────────────┐
857
+ │ 1. 🔴 编写测试 (Red Phase)
858
+ ├─ 查询知识库获取测试规范
859
+ ├─ 根据接受标准编写测试用例
860
+ │ ├─ 运行测试,确认失败 │
861
+ └─ 验证失败原因是功能未实现
862
+ ├──────────────────────────────────────────────────────────────┤
863
+ 2. 🟢 实现代码 (Green Phase)
864
+ │ ├─ 查询知识库获取编码规范 │
865
+ ├─ 编写最小代码使测试通过
866
+ ├─ 运行测试,确认通过
867
+ └─ 处理边界情况和异常
868
+ ├──────────────────────────────────────────────────────────────┤
869
+ 3. 🔵 重构 (Refactor Phase)
870
+ ├─ 检查代码质量(重复、复杂度)
871
+ ├─ 应用优化(提取方法、简化逻辑)
872
+ ├─ 运行测试确保仍然通过
873
+ │ └─ 更新 Dev Agent Record │
874
+ ├──────────────────────────────────────────────────────────────┤
875
+ │ 4. ✅ 标记任务完成 │
876
+ │ ├─ 验证所有测试存在且通过 │
877
+ │ ├─ 标记任务 checkbox [x] │
878
+ │ ├─ 更新 File List │
879
+ │ └─ 继续下一个任务或进入完成流程 │
880
+ └──────────────────────────────────────────────────────────────┘
513
881
  ```
514
882
 
515
883
  **质量门禁**:
516
- - [ ] 所有测试通过
517
- - [ ] 代码审查通过
518
- - [ ] 无安全漏洞
519
- - [ ] 符合代码规范
884
+ - [ ] 所有测试通过 (100%)
885
+ - [ ] 代码审查通过 (APPROVED)
886
+ - [ ] 无安全漏洞 (0 critical/high)
887
+ - [ ] 符合代码规范 (lint 通过)
888
+ - [ ] 测试覆盖率 >= 80%
520
889
 
521
890
  ---
522
891
 
523
892
  ### Step 5: 测试验证阶段 (Phase 5)
524
893
 
525
- **角色激活**: TEA (测试架构师)
894
+ **角色激活**: TEA (测试架构师 - Murat)
895
+
896
+ > **重要**: 本阶段集成 TEA 智能体的专用测试工作流,提供全面的测试验证能力。
526
897
 
527
898
  **自动执行内容**:
528
899
 
529
900
  ```yaml
530
901
  phase: 5
531
902
  name: 测试验证
532
- role: TEA
903
+ role: TEA (Murat)
533
904
  inputs:
534
905
  - 实现的代码
535
906
  - 测试代码
536
907
  - prd.md
908
+ - stories/
909
+ - architecture.md
537
910
  outputs:
538
911
  - test-report.md
539
912
  - quality-report.md
913
+ - traceability-matrix.md
914
+ - coverage-report/
915
+
916
+ # 调用的 TEA 智能体工作流
917
+ workflows_invoked:
918
+ - agent: TEA (Murat)
919
+ workflow: trace
920
+ purpose: "需求到测试的追踪映射"
921
+ - agent: TEA (Murat)
922
+ workflow: test-review
923
+ purpose: "测试质量评审"
924
+ - agent: TEA (Murat)
925
+ workflow: nfr-assess
926
+ purpose: "非功能性需求验证"
927
+ ```
540
928
 
541
- tasks:
542
- - name: 执行测试套件
543
- action: |
544
- 1. 运行单元测试
545
- 2. 运行集成测试
546
- 3. 收集测试覆盖率
929
+ ---
547
930
 
548
- - name: 质量门禁检查
549
- action: |
550
- 1. 检查测试覆盖率 >= 80%
551
- 2. 检查无失败测试
552
- 3. 检查代码质量指标
553
- 4. 检查安全扫描结果
931
+ #### Step 5.1: 需求追溯验证
554
932
 
555
- - name: 生成报告
556
- action: |
557
- 1. 生成测试报告
558
- 2. 生成质量报告
559
- 3. 生成追溯矩阵
933
+ **调用工作流**: `{xiaoma_folder}/xmc/workflows/testarch/trace/workflow.yaml`
934
+
935
+ ```yaml
936
+ task: requirement_traceability
937
+ role: TEA (Murat)
938
+ invoke_workflow: "*trace"
939
+
940
+ actions:
941
+ - name: 构建追溯矩阵
942
+ map:
943
+ - FR → Stories → Tests
944
+ - AC → Test Cases
945
+ - NFR → Validation Tests
946
+
947
+ - name: 验证覆盖完整性
948
+ check:
949
+ - 每个 FR 都有对应测试
950
+ - 每个 AC 都有对应测试用例
951
+ - 无遗漏的需求
952
+
953
+ - name: 生成追溯报告
954
+ output: "traceability-matrix.md"
955
+ ```
956
+
957
+ ---
958
+
959
+ #### Step 5.2: 执行测试套件
960
+
961
+ ```yaml
962
+ task: execute_test_suites
963
+ actions:
964
+ - name: 运行单元测试
965
+ command: "npm run test:unit"
966
+ collect:
967
+ - 通过/失败数量
968
+ - 覆盖率报告
969
+ - 失败详情
970
+
971
+ - name: 运行集成测试
972
+ command: "npm run test:integration"
973
+ collect:
974
+ - 通过/失败数量
975
+ - API 测试结果
976
+ - 数据库测试结果
977
+
978
+ - name: 运行端到端测试
979
+ command: "npm run test:e2e"
980
+ if: e2e_tests_exist
981
+ collect:
982
+ - 通过/失败数量
983
+ - 用户流程测试结果
984
+ ```
985
+
986
+ ---
987
+
988
+ #### Step 5.3: 测试质量评审
989
+
990
+ **调用工作流**: `{xiaoma_folder}/xmc/workflows/testarch/test-review/workflow.yaml`
991
+
992
+ ```yaml
993
+ task: test_quality_review
994
+ role: TEA (Murat)
995
+ invoke_workflow: "*test-review"
996
+
997
+ review_criteria:
998
+ - name: 测试充分性
999
+ check:
1000
+ - 关键路径是否覆盖
1001
+ - 边界条件是否测试
1002
+ - 异常场景是否覆盖
1003
+
1004
+ - name: 测试质量
1005
+ check:
1006
+ - 测试是否独立
1007
+ - 断言是否明确
1008
+ - 测试是否可维护
1009
+
1010
+ - name: 测试模式
1011
+ check:
1012
+ - AAA 模式 (Arrange-Act-Assert)
1013
+ - 单一职责
1014
+ - 无硬编码依赖
1015
+
1016
+ output:
1017
+ test_review_report:
1018
+ score: "[A-F]"
1019
+ issues: []
1020
+ recommendations: []
1021
+ ```
1022
+
1023
+ ---
1024
+
1025
+ #### Step 5.4: NFR 验证
1026
+
1027
+ **调用工作流**: `{xiaoma_folder}/xmc/workflows/testarch/nfr-assess/workflow.yaml`
1028
+
1029
+ ```yaml
1030
+ task: nfr_validation
1031
+ role: TEA (Murat)
1032
+ invoke_workflow: "*nfr-assess"
1033
+
1034
+ validations:
1035
+ performance:
1036
+ - nfr_id: "NFR-PERF-001"
1037
+ requirement: "页面响应时间 < 2s"
1038
+ test_method: "性能测试"
1039
+
1040
+ - nfr_id: "NFR-PERF-002"
1041
+ requirement: "API 响应时间 < 500ms"
1042
+ test_method: "负载测试"
1043
+
1044
+ security:
1045
+ - nfr_id: "NFR-SEC-001"
1046
+ requirement: "所有 API 需要认证"
1047
+ test_method: "安全扫描"
1048
+
1049
+ - nfr_id: "NFR-SEC-002"
1050
+ requirement: "敏感数据加密传输"
1051
+ test_method: "HTTPS 验证"
1052
+
1053
+ usability:
1054
+ - nfr_id: "NFR-USA-001"
1055
+ requirement: "支持响应式布局"
1056
+ test_method: "多设备测试"
1057
+ ```
1058
+
1059
+ ---
1060
+
1061
+ #### Step 5.5: 质量门禁检查
1062
+
1063
+ ```yaml
1064
+ task: quality_gate_check
1065
+ actions:
1066
+ - name: 代码覆盖率检查
1067
+ threshold:
1068
+ statements: ">= 80%"
1069
+ branches: ">= 75%"
1070
+ functions: ">= 85%"
1071
+ lines: ">= 80%"
1072
+
1073
+ - name: 代码质量检查
1074
+ run: "npm run lint"
1075
+ threshold:
1076
+ errors: 0
1077
+ warnings: "<= 10"
1078
+
1079
+ - name: 安全扫描
1080
+ run: "npm audit"
1081
+ threshold:
1082
+ critical: 0
1083
+ high: 0
1084
+
1085
+ - name: 类型检查
1086
+ run: "npm run type-check"
1087
+ threshold:
1088
+ errors: 0
1089
+
1090
+ - name: 构建验证
1091
+ run: "npm run build"
1092
+ threshold:
1093
+ success: true
1094
+ ```
1095
+
1096
+ ---
1097
+
1098
+ #### Step 5.6: 生成测试报告
1099
+
1100
+ ```yaml
1101
+ task: generate_reports
1102
+ outputs:
1103
+ - name: test-report.md
1104
+ content:
1105
+ - 执行摘要
1106
+ - 测试执行详情
1107
+ - 代码覆盖率
1108
+ - 需求追溯
1109
+ - 问题和建议
1110
+
1111
+ - name: quality-report.md
1112
+ content:
1113
+ - 质量门禁结果
1114
+ - 代码质量分析
1115
+ - 安全扫描结果
1116
+ - NFR 验证结果
1117
+
1118
+ - name: traceability-matrix.md
1119
+ content:
1120
+ - FR → Story → Test 映射
1121
+ - AC → Test Case 映射
1122
+ - 覆盖率统计
560
1123
  ```
561
1124
 
1125
+ ---
1126
+
562
1127
  **质量门禁**:
563
1128
  - [ ] 测试覆盖率 >= 80%
564
- - [ ] 所有测试通过
565
- - [ ] 无严重安全漏洞
1129
+ - [ ] 所有测试通过 (100%)
1130
+ - [ ] 无严重安全漏洞 (0 critical/high)
566
1131
  - [ ] 代码质量评分 >= B
1132
+ - [ ] NFR 验证通过
1133
+ - [ ] 需求追溯完整 (100%)
567
1134
 
568
1135
  ---
569
1136
 
@@ -606,7 +1173,9 @@ blocking_resolution:
606
1173
 
607
1174
  ## 状态追踪
608
1175
 
609
- 执行过程中自动更新 `auto-iteration-status.yaml`:
1176
+ ### 1. 迭代执行状态 (`auto-iteration-status.yaml`)
1177
+
1178
+ 执行过程中自动更新迭代级别的状态:
610
1179
 
611
1180
  ```yaml
612
1181
  # auto-iteration-status.yaml
@@ -628,14 +1197,16 @@ phases:
628
1197
  outputs:
629
1198
  - prd.md
630
1199
  - epics/epic-001.md
631
- - stories/story-001.md
632
1200
 
633
1201
  phase_3_design:
634
- status: "in_progress"
635
- current_task: "数据模型设计"
1202
+ status: "completed"
1203
+ outputs:
1204
+ - architecture.md
1205
+ - adr/
636
1206
 
637
1207
  phase_4_develop:
638
- status: "pending"
1208
+ status: "in_progress"
1209
+ current_story: "1-2-user-authentication"
639
1210
 
640
1211
  phase_5_test:
641
1212
  status: "pending"
@@ -648,6 +1219,96 @@ knowledge_base_queries:
648
1219
  source: "tech-kb/auth-patterns.md"
649
1220
  ```
650
1221
 
1222
+ ### 2. Sprint 开发状态 (`sprint-status.yaml`)
1223
+
1224
+ **与 SM 智能体完全兼容的格式**:
1225
+
1226
+ ```yaml
1227
+ # sprint-status.yaml
1228
+ # 由 SM 智能体的 sprint-planning 工作流生成
1229
+ # 格式与现有项目智能体系统完全一致
1230
+
1231
+ # 文件元数据
1232
+ generated: "2024-01-15 10:30"
1233
+ project: "My Project"
1234
+ project_key: "PROJ-001"
1235
+ tracking_system: file-system
1236
+ story_location: "{sprint_artifacts}"
1237
+
1238
+ # STATUS DEFINITIONS (与 SM 智能体一致):
1239
+ # ==================
1240
+ # Epic Status:
1241
+ # - backlog: Epic not yet started
1242
+ # - in-progress: Epic actively being worked on
1243
+ # - done: All stories in epic completed
1244
+ #
1245
+ # Story Status:
1246
+ # - backlog: Story only exists in epic file
1247
+ # - drafted: Story file created in stories folder
1248
+ # - ready-for-dev: Draft approved, ready for development
1249
+ # - in-progress: Developer actively working on implementation
1250
+ # - review: Implementation complete, ready for review
1251
+ # - done: Story completed
1252
+
1253
+ # 开发状态追踪
1254
+ development_status:
1255
+ # Epic 1
1256
+ epic-1: in-progress
1257
+ 1-1-user-authentication: done
1258
+ 1-2-account-management: in-progress
1259
+ 1-3-user-profile: ready-for-dev
1260
+ 1-4-password-reset: drafted
1261
+ 1-5-session-management: backlog
1262
+ epic-1-retrospective: optional
1263
+
1264
+ # Epic 2
1265
+ epic-2: backlog
1266
+ 2-1-product-catalog: backlog
1267
+ 2-2-search-functionality: backlog
1268
+ 2-3-product-details: backlog
1269
+ epic-2-retrospective: optional
1270
+ ```
1271
+
1272
+ ### 3. 状态同步机制
1273
+
1274
+ ```yaml
1275
+ status_sync:
1276
+ # Phase 4 开发过程中的状态同步
1277
+ on_story_status_change:
1278
+ - update: "sprint-status.yaml"
1279
+ field: "development_status[story_key]"
1280
+
1281
+ - update: "auto-iteration-status.yaml"
1282
+ field: "phases.phase_4_develop.current_story"
1283
+
1284
+ # 故事状态转换触发点
1285
+ transitions:
1286
+ backlog_to_drafted:
1287
+ trigger: "*create-story 完成创建故事文件"
1288
+ update_sprint_status: true
1289
+
1290
+ drafted_to_ready_for_dev:
1291
+ trigger: "*create-story 或 *validate-create-story 验证通过"
1292
+ update_sprint_status: true
1293
+
1294
+ ready_for_dev_to_in_progress:
1295
+ trigger: "*develop-story Step 4 开始开发"
1296
+ update_sprint_status: true
1297
+
1298
+ in_progress_to_review:
1299
+ trigger: "*develop-story Step 9 故事完成"
1300
+ update_sprint_status: true
1301
+
1302
+ review_to_done:
1303
+ trigger: "*code-review APPROVED"
1304
+ update_sprint_status: true
1305
+
1306
+ review_to_in_progress:
1307
+ trigger: "*code-review CHANGES_REQUESTED"
1308
+ update_sprint_status: true
1309
+ note: "DEV 智能体会处理审查反馈"
1310
+ ```
1311
+
651
1312
  ---
652
1313
 
653
1314
  ## 执行完成
@@ -5,7 +5,7 @@ const crypto = require('node:crypto');
5
5
  const { getSourcePath, getModulePath } = require('../../../lib/project-root');
6
6
 
7
7
  // Load package.json for version info
8
- const packageJson = require('../../../../../../../github/xiaoma-cli/BMAD-METHOD/package.json');
8
+ const packageJson = require('../../../../../package.json');
9
9
 
10
10
  /**
11
11
  * Generates manifest files for installed workflows, agents, and tasks