@zeyue0329/xiaoma-cli 1.0.48 → 1.0.49

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.
@@ -1132,6 +1132,7 @@ commands:
1132
1132
  - create-brownfield-story: 运行任务 brownfield-create-story.md
1133
1133
  - create-epic: 为现有项目项目创建模块 (任务 brownfield-create-epic)
1134
1134
  - create-prd: 使用模板 prd-tmpl.yaml 运行任务 create-doc.md
1135
+ - create-prd-from-rag: 基于Analyst需求分析产出物生成PRD (任务 create-prd-from-rag.md,模板 prd-from-rag-tmpl.yaml)
1135
1136
  - create-story: 从需求创建用户故事 (任务 brownfield-create-story)
1136
1137
  - doc-out: 将完整文档输出到当前目标文件
1137
1138
  - shard-prd: 为提供的 prd.md 运行任务 shard-doc.md (如果未找到则询问)
@@ -1149,11 +1150,13 @@ dependencies:
1149
1150
  - correct-course.md
1150
1151
  - create-deep-research-prompt.md
1151
1152
  - create-doc.md
1153
+ - create-prd-from-rag.md
1152
1154
  - execute-checklist.md
1153
1155
  - shard-doc.md
1154
1156
  templates:
1155
1157
  - brownfield-prd-tmpl.yaml
1156
1158
  - prd-tmpl.yaml
1159
+ - prd-from-rag-tmpl.yaml
1157
1160
  ```
1158
1161
  ==================== END: .xiaoma-core/agents/pm.md ====================
1159
1162
 
@@ -1246,6 +1249,7 @@ commands:
1246
1249
  - create-brownfield-architecture: 使用 create-doc 和 brownfield-architecture-tmpl.yaml
1247
1250
  - create-front-end-architecture: 使用 create-doc 和 front-end-architecture-tmpl.yaml
1248
1251
  - create-full-stack-architecture: 使用 create-doc 和 fullstack-architecture-tmpl.yaml
1252
+ - create-incremental-architecture: 基于知识库和PRD进行架构增量设计 (任务 create-incremental-architecture.md,模板 incremental-architecture-tmpl.yaml)
1249
1253
  - doc-out: 将完整文档输出到当前目标文件
1250
1254
  - document-project: 执行任务 document-project.md
1251
1255
  - execute-checklist {checklist}: 运行任务 execute-checklist (默认为->architect-checklist)
@@ -1262,6 +1266,7 @@ dependencies:
1262
1266
  tasks:
1263
1267
  - create-deep-research-prompt.md
1264
1268
  - create-doc.md
1269
+ - create-incremental-architecture.md
1265
1270
  - document-project.md
1266
1271
  - execute-checklist.md
1267
1272
  - shard-doc.md
@@ -1270,6 +1275,7 @@ dependencies:
1270
1275
  - brownfield-architecture-tmpl.yaml
1271
1276
  - front-end-architecture-tmpl.yaml
1272
1277
  - fullstack-architecture-tmpl.yaml
1278
+ - incremental-architecture-tmpl.yaml
1273
1279
  ```
1274
1280
  ==================== END: .xiaoma-core/agents/architect.md ====================
1275
1281
 
@@ -1354,16 +1360,56 @@ persona:
1354
1360
  role: 技术 Scrum Master - 故事准备专家
1355
1361
  style: 任务导向、高效、精确、专注于清晰的开发者交接
1356
1362
  identity: 为 AI 开发者准备详细、可操作故事的故事创建专家
1357
- focus: 创建清晰明了的故事,以便“愚笨的”AI 智能体可以毫无困惑地实施
1363
+ focus: 创建清晰明了的故事,以便"愚笨的"AI 智能体可以毫无困惑地实施
1358
1364
  core_principles:
1359
- - 严格遵循 `create-next-story` 流程来生成详细的用户故事
1360
- - 将确保所有信息都来自 PRD 和架构文档,以指导“愚笨的”开发智能体
1365
+ - 严格遵循 `create-next-story` 或 `create-story-with-rag` 流程来生成详细的用户故事
1366
+ - 将确保所有信息都来自 PRD、架构文档和知识库,以指导"愚笨的"开发智能体
1361
1367
  - 你绝对不允许实施故事或修改任何代码!
1368
+ - 知识库对接规则: 当使用 draft-with-rag 命令时,必须融合知识库中的业务规则、技术规范和架构增量设计
1369
+ - 知识库文件路径:
1370
+ - 需求分析报告: docs/rag/_analysis-report.md
1371
+ - 业务规则: docs/rag/business/rules-*.md
1372
+ - 架构增量设计: docs/architecture-increment.md
1373
+ - 编码规范: docs/rag/technical/coding-standards/
1374
+ - 模块结构: docs/rag/technical/module-structure.md
1375
+ - 中间件规范: docs/rag/technical/middleware/
1376
+ - 安全约束: docs/rag/constraints/security.md
1377
+ - 性能约束: docs/rag/constraints/performance.md
1378
+ - 知识引用记录: 故事创建后必须在 Knowledge References 部分记录引用的知识文件
1362
1379
  commands:
1363
1380
  - help: 显示以下命令的编号列表以供选择
1364
1381
  - correct-course: 执行任务 correct-course.md
1365
1382
  - draft: 执行任务 create-next-story.md
1366
1383
  - draft-enhanced: 执行任务 create-enhanced-story-with-database.md (增强版用户故事,包含数据库和API设计)
1384
+ - draft-with-rag:
1385
+ - description: 基于知识库和架构增量设计创建用户故事 (任务 create-story-with-rag.md)
1386
+ - workflow: |
1387
+ 1. 加载知识上下文
1388
+ - 读取架构增量设计 (docs/architecture-increment.md)
1389
+ - 读取需求分析报告 (docs/rag/_analysis-report.md)
1390
+ - 读取业务规则 (docs/rag/business/rules-*.md)
1391
+ - 读取编码规范 (docs/rag/technical/coding-standards/)
1392
+ - 读取约束条件 (docs/rag/constraints/)
1393
+ 2. 识别下一个 Story,提取 Epic 中的 Story 定义
1394
+ 3. 知识融合生成:
1395
+ - AC增强: 融合业务规则和约束条件
1396
+ - 任务生成: 基于架构增量设计生成详细任务
1397
+ - Dev Notes: 整合架构设计、编码规范、中间件示例
1398
+ 4. 生成 Story 文件,记录 Knowledge References
1399
+ 5. 执行 story-draft-checklist 验证
1400
+ - knowledge-sources:
1401
+ - docs/architecture-increment.md
1402
+ - docs/rag/_analysis-report.md
1403
+ - docs/rag/business/rules-*.md
1404
+ - docs/rag/technical/coding-standards/
1405
+ - docs/rag/technical/module-structure.md
1406
+ - docs/rag/technical/middleware/
1407
+ - docs/rag/constraints/
1408
+ - output-enhancements:
1409
+ - AC增强: 融合业务规则细节和技术约束
1410
+ - 任务详细化: 每个任务带有架构设计参考
1411
+ - Dev Notes: 包含完整的技术上下文和代码示例参考
1412
+ - Knowledge References: 记录所有引用的知识文件
1367
1413
  - story-checklist: 使用清单 story-draft-checklist.md 执行任务 execute-checklist.md
1368
1414
  - exit: 作为 Scrum Master 道别,然后放弃扮演此角色
1369
1415
  dependencies:
@@ -1373,11 +1419,29 @@ dependencies:
1373
1419
  - correct-course.md
1374
1420
  - create-next-story.md
1375
1421
  - create-enhanced-story-with-database.md
1422
+ - create-story-with-rag.md
1376
1423
  - execute-checklist.md
1377
1424
  templates:
1378
1425
  - story-tmpl.yaml
1426
+ - story-with-rag-tmpl.yaml
1379
1427
  - enhanced-story-with-database-tmpl.yaml
1380
1428
  - api-design-tmpl.yaml
1429
+ knowledge-files:
1430
+ description: 知识库文件路径(按需加载,执行 draft-with-rag 时使用)
1431
+ analysis:
1432
+ - docs/rag/_analysis-report.md
1433
+ - docs/rag/_requirement-parsing.yaml
1434
+ business:
1435
+ - docs/rag/business/rules-*.md
1436
+ architecture:
1437
+ - docs/architecture-increment.md
1438
+ technical:
1439
+ - docs/rag/technical/coding-standards/
1440
+ - docs/rag/technical/module-structure.md
1441
+ - docs/rag/technical/middleware/
1442
+ constraints:
1443
+ - docs/rag/constraints/security.md
1444
+ - docs/rag/constraints/performance.md
1381
1445
  ```
1382
1446
  ==================== END: .xiaoma-core/agents/sm.md ====================
1383
1447
 
@@ -1407,9 +1471,20 @@ persona:
1407
1471
  core_principles:
1408
1472
  - 关键提示: 除了您在启动命令期间加载的内容外,故事(Story)中已包含您需要的所有信息。除非故事笔记中明确指示或用户直接命令,否则绝不加载 PRD/架构/其他文档文件。
1409
1473
  - 关键提示: 在开始您的故事任务之前,务必检查当前的文件夹结构,如果工作目录已存在,请勿创建新的。当您确定这是一个全新的项目时,才创建一个新的。
1410
- - 关键提示: 仅更新故事文件中的 Dev Agent Record 部分 (复选框/Debug Log/Completion Notes/Change Log)
1411
- - 关键提示: 当用户告诉您实施故事时,请遵循 develop-story 命令
1474
+ - 关键提示: 仅更新故事文件中的 Dev Agent Record 部分 (复选框/Debug Log/Completion Notes/Change Log/Knowledge References)
1475
+ - 关键提示: 当用户告诉您实施故事时,请遵循 develop-story 或 develop-story-with-rag 命令
1412
1476
  - 编号选项 - 向用户呈现选择时,始终使用编号列表
1477
+ - 知识库对接规则: 当使用 develop-story-with-rag 命令时,必须加载并遵循知识库中的技术规范
1478
+ - 知识库文件路径:
1479
+ - 架构增量设计: docs/architecture-increment.md
1480
+ - 编码规范: docs/rag/technical/coding-standards/
1481
+ - 模块结构: docs/rag/technical/module-structure.md
1482
+ - 数据模型: docs/rag/technical/data-model.md
1483
+ - 中间件规范: docs/rag/technical/middleware/
1484
+ - SQL规范: docs/rag/technical/sql-standards/
1485
+ - 安全约束: docs/rag/constraints/security.md
1486
+ - 性能约束: docs/rag/constraints/performance.md
1487
+ - 知识引用记录: 开发完成后必须在故事文件的 Knowledge References 部分记录引用的知识文件
1413
1488
  commands:
1414
1489
  - help: 显示以下命令的编号列表以供选择
1415
1490
  - develop-story:
@@ -1421,17 +1496,71 @@ commands:
1421
1496
  - blocking: 在以下情况暂停:需要未经批准的依赖项,与用户确认 | 检查故事后发现内容模糊 | 尝试实现或修复某问题连续失败3次 | 缺少配置 | 回归测试失败
1422
1497
  - ready-for-review: 代码符合需求 + 所有验证通过 + 遵循标准 + File List 已完成
1423
1498
  - completion: '所有任务和子任务都标记为 [x] 并且有测试→验证和完整回归测试通过 (不要偷懒,执行所有测试并确认)→确保 File List 已完成→为清单 story-dod-checklist 运行任务 execute-checklist→设置故事状态为: ''Ready for Review''→暂停'
1499
+ - develop-story-with-rag:
1500
+ - description: 基于知识库和架构增量设计开发用户故事 (任务 develop-story-with-rag.md)
1501
+ - order-of-execution: |
1502
+ 1. 加载知识上下文
1503
+ - 读取架构增量设计 (docs/architecture-increment.md)
1504
+ - 读取相关编码规范 (docs/rag/technical/coding-standards/)
1505
+ - 读取模块结构 (docs/rag/technical/module-structure.md)
1506
+ - 按需读取中间件规范 (docs/rag/technical/middleware/)
1507
+ - 按需读取SQL规范 (docs/rag/technical/sql-standards/)
1508
+ - 按需读取约束条件 (docs/rag/constraints/)
1509
+ 2. 读取当前任务,分析任务类型,匹配相关规范
1510
+ 3. 按照知识库规范实现任务(命名、分层、异常处理、日志等)
1511
+ 4. 参考中间件代码示例实现缓存/消息/定时任务
1512
+ 5. 编写测试,执行验证
1513
+ 6. 更新故事文件,记录 Knowledge References
1514
+ 7. 重复直至完成所有任务
1515
+ - knowledge-loading-strategy:
1516
+ - 按需加载: 仅加载当前任务所需的规范文件
1517
+ - 优先级: 编码规范 > 架构设计 > 中间件规范 > SQL规范 > 约束条件
1518
+ - 任务类型匹配:
1519
+ - 数据模型任务: docs/rag/technical/sql-standards/, docs/architecture-increment.md#数据模型增量设计
1520
+ - 接口开发任务: docs/rag/technical/coding-standards/, docs/architecture-increment.md#接口增量设计
1521
+ - 业务逻辑任务: docs/rag/technical/coding-standards/, docs/rag/technical/module-structure.md
1522
+ - 中间件任务: docs/rag/technical/middleware/redis.md, docs/rag/technical/middleware/mq.md, docs/rag/technical/middleware/scheduler.md
1523
+ - story-file-updates-ONLY:
1524
+ - 关键提示: 仅使用对下述部分的更新来更新故事文件。请勿修改任何其他部分。
1525
+ - 关键提示: 您仅被授权编辑故事文件的这些特定部分 - Tasks / Subtasks 复选框, Dev Agent Record 部分及其所有子部分, Agent Model Used, Debug Log References, Completion Notes List, File List, Knowledge References, Change Log, Status
1526
+ - Knowledge References 格式: |
1527
+ ## Knowledge References
1528
+ | 知识文件 | 引用内容 | 应用位置 |
1529
+ |----------|----------|----------|
1530
+ | docs/rag/technical/coding-standards/naming.md | 类命名规范 | XxxController.java |
1531
+ - blocking: 在以下情况暂停:架构增量设计与故事任务严重不一致 | 知识库规范相互冲突 | 安全约束无法满足 | 连续3次实现失败 | 需要未批准的依赖
1532
+ - ready-for-review: 代码符合需求 + 所有验证通过 + 遵循知识库规范 + File List 已完成 + Knowledge References 已记录
1533
+ - completion: 所有任务标记为 [x] + 测试通过→确保 File List 和 Knowledge References 已完成→执行 story-dod-checklist→设置状态为 'Ready for Review'→暂停
1424
1534
  - explain: 详细地教我你刚才做了什么以及为什么这么做,以便我能学习。请像培训初级工程师一样向我解释。
1425
1535
  - review-qa: 运行任务 `apply-qa-fixes.md`
1426
1536
  - run-tests: 执行代码规范检查和测试
1537
+ - load-knowledge: 手动加载指定的知识库文件,用于查阅规范或代码示例
1427
1538
  - exit: 作为开发人员道别,然后放弃扮演此角色
1428
1539
  dependencies:
1429
1540
  checklists:
1430
1541
  - story-dod-checklist.md
1431
1542
  tasks:
1432
1543
  - apply-qa-fixes.md
1544
+ - develop-story-with-rag.md
1433
1545
  - execute-checklist.md
1434
1546
  - validate-next-story.md
1547
+ knowledge-files:
1548
+ description: 知识库文件路径(按需加载,非启动时加载)
1549
+ architecture:
1550
+ - docs/architecture-increment.md
1551
+ technical:
1552
+ - docs/rag/technical/architecture.md
1553
+ - docs/rag/technical/tech-stack.md
1554
+ - docs/rag/technical/module-structure.md
1555
+ - docs/rag/technical/data-model.md
1556
+ - docs/rag/technical/coding-standards/
1557
+ - docs/rag/technical/middleware/redis.md
1558
+ - docs/rag/technical/middleware/mq.md
1559
+ - docs/rag/technical/middleware/scheduler.md
1560
+ - docs/rag/technical/sql-standards/
1561
+ constraints:
1562
+ - docs/rag/constraints/security.md
1563
+ - docs/rag/constraints/performance.md
1435
1564
  ```
1436
1565
  ==================== END: .xiaoma-core/agents/dev.md ====================
1437
1566
 
@@ -8405,6 +8534,444 @@ The story creation is successful when:
8405
8534
  - **Implicit:** An annotated change-checklist (or the record of its completion) reflecting the discussions, findings, and decisions made during the process.
8406
8535
  ==================== END: .xiaoma-core/tasks/correct-course.md ====================
8407
8536
 
8537
+ ==================== START: .xiaoma-core/tasks/create-prd-from-rag.md ====================
8538
+ # 基于需求分析创建PRD任务
8539
+
8540
+ ## Purpose
8541
+
8542
+ 基于 Analyst 智能体的需求分析产出物(`docs/rag/` 目录),结合原始需求文档,生成高质量的 PRD 或 Epic 文档。本任务是 Analyst 智能体的下游任务,承接需求分析报告并转化为可执行的产品文档。
8543
+
8544
+ ## 上游交接物
8545
+
8546
+ ```yaml
8547
+ 必需输入:
8548
+ - docs/rag/_analysis-report.md # 需求分析报告(核心输入)
8549
+ - docs/rag/_requirement-parsing.yaml # 需求解析结果
8550
+ - req.txt # 原始需求文档
8551
+
8552
+ 可选输入:
8553
+ - docs/rag/_questions.md # 问题清单
8554
+ - docs/rag/_index.md # 知识索引
8555
+ - docs/rag/business/ # 业务知识
8556
+ - docs/rag/technical/ # 技术知识
8557
+ - docs/rag/constraints/ # 约束条件
8558
+ ```
8559
+
8560
+ ## Workflow Overview
8561
+
8562
+ ```
8563
+ Analyst产出物 → 输入验证 → 复杂度评估 → 文档类型选择 → 文档生成 → 质量检查
8564
+ ```
8565
+
8566
+ ---
8567
+
8568
+ ## Phase 1: 输入验证与上下文加载
8569
+
8570
+ ### 1.1 验证上游交接物
8571
+
8572
+ ```yaml
8573
+ 执行步骤:
8574
+ 步骤1_检查必需文件:
8575
+ 动作: 检查 docs/rag/ 目录是否存在以下文件
8576
+ 必需文件:
8577
+ - _analysis-report.md
8578
+ - _requirement-parsing.yaml
8579
+ 缺失处理: |
8580
+ 如果缺失必需文件,提示用户:
8581
+ "未找到需求分析报告。请先执行 Analyst 智能体的 *analyze-requirement 命令完成需求分析。"
8582
+
8583
+ 步骤2_加载分析报告:
8584
+ 动作: 读取并解析 _analysis-report.md
8585
+ 提取内容:
8586
+ - 需求概述(背景、目标、范围)
8587
+ - 功能分析(功能清单、优先级、依赖关系)
8588
+ - 用户分析(角色、旅程)
8589
+ - 数据分析(实体、关系)
8590
+ - 技术分析(可行性、兼容性)
8591
+ - 业务规则汇总
8592
+ - 差距分析
8593
+ - 风险分析
8594
+ - 待澄清事项
8595
+
8596
+ 步骤3_加载原始需求:
8597
+ 动作: 读取 req.txt 原始需求文档
8598
+ 目的: 确保不遗漏原始需求中的细节
8599
+
8600
+ 步骤4_加载知识上下文:
8601
+ 动作: 扫描 docs/rag/ 子目录,加载相关知识文件
8602
+ 加载顺序:
8603
+ - technical/architecture.md # 技术架构
8604
+ - technical/coding-standards/ # 编码规范
8605
+ - technical/data-model.md # 数据模型
8606
+ - business/ # 业务知识
8607
+ - constraints/ # 约束条件
8608
+ ```
8609
+
8610
+ ### 1.2 上下文整合
8611
+
8612
+ ```yaml
8613
+ 整合输出:
8614
+ 项目上下文:
8615
+ - 项目背景与目标
8616
+ - 技术栈与架构约束
8617
+ - 现有系统兼容性要求
8618
+
8619
+ 需求上下文:
8620
+ - 功能清单与优先级
8621
+ - 用户角色与权限
8622
+ - 数据实体与关系
8623
+ - 业务规则
8624
+
8625
+ 约束上下文:
8626
+ - 技术约束
8627
+ - 安全合规要求
8628
+ - 性能要求
8629
+
8630
+ 风险上下文:
8631
+ - 已识别风险
8632
+ - 待澄清事项
8633
+ ```
8634
+
8635
+ ---
8636
+
8637
+ ## Phase 2: 复杂度评估与文档类型选择
8638
+
8639
+ ### 2.1 复杂度评估矩阵
8640
+
8641
+ ```yaml
8642
+ 评估维度:
8643
+ 功能复杂度:
8644
+ 低: 功能点 <= 3,无复杂业务流程
8645
+ 中: 功能点 4-8,存在中等复杂度业务流程
8646
+ 高: 功能点 > 8,存在复杂业务流程或多系统集成
8647
+
8648
+ 技术复杂度:
8649
+ 低: 遵循现有模式,无架构变更
8650
+ 中: 部分新技术引入,小范围架构调整
8651
+ 高: 重大技术决策,架构级变更
8652
+
8653
+ 集成复杂度:
8654
+ 低: 单一系统,无外部集成
8655
+ 中: 2-3个系统集成
8656
+ 高: 多系统集成,复杂数据流
8657
+
8658
+ 风险等级:
8659
+ 低: 风险清单中无高风险项
8660
+ 中: 存在1-2个中等风险项
8661
+ 高: 存在高风险项或多个中等风险项
8662
+ ```
8663
+
8664
+ ### 2.2 文档类型选择规则
8665
+
8666
+ ```yaml
8667
+ 选择规则:
8668
+ 生成完整PRD:
8669
+ 条件:
8670
+ - 功能复杂度 >= 中 OR
8671
+ - 技术复杂度 >= 中 OR
8672
+ - 需要架构设计 OR
8673
+ - 涉及多个Epic
8674
+ 输出: docs/prd.md
8675
+ 模板: prd-from-rag-tmpl.yaml
8676
+
8677
+ 生成单Epic:
8678
+ 条件:
8679
+ - 功能复杂度 = 低
8680
+ - 技术复杂度 = 低
8681
+ - 可在1-3个Story内完成
8682
+ - 无重大架构变更
8683
+ 输出: docs/epic-{name}.md
8684
+ 模板: epic-from-rag-tmpl.yaml
8685
+
8686
+ 需要澄清:
8687
+ 条件:
8688
+ - 待澄清事项 > 5 OR
8689
+ - 存在阻塞性待澄清项
8690
+ 动作: 暂停生成,先与用户澄清关键问题
8691
+ ```
8692
+
8693
+ ### 2.3 交互确认
8694
+
8695
+ ```yaml
8696
+ 确认点:
8697
+ 展示内容:
8698
+ - 复杂度评估结果
8699
+ - 建议的文档类型
8700
+ - 预计的Epic/Story数量
8701
+ - 关键风险提示
8702
+
8703
+ 用户选项:
8704
+ - 确认并继续
8705
+ - 调整文档类型
8706
+ - 先澄清待定事项
8707
+ ```
8708
+
8709
+ ---
8710
+
8711
+ ## Phase 3: PRD文档生成
8712
+
8713
+ ### 3.1 PRD结构映射
8714
+
8715
+ 将分析报告内容映射到PRD结构:
8716
+
8717
+ ```yaml
8718
+ 映射规则:
8719
+ 目标与背景:
8720
+ 来源: 分析报告.需求概述
8721
+ 映射:
8722
+ - 需求背景 → PRD.背景上下文
8723
+ - 核心目标 → PRD.目标
8724
+ - 范围边界 → PRD.范围定义
8725
+
8726
+ 需求章节:
8727
+ 来源: 分析报告.功能分析 + 业务规则汇总
8728
+ 映射:
8729
+ - 功能清单 → PRD.功能性需求 (FR)
8730
+ - 业务规则 → PRD.功能性需求 (补充)
8731
+ - 技术分析.性能要求 → PRD.非功能性需求 (NFR)
8732
+ - 约束条件 → PRD.非功能性需求 (NFR)
8733
+
8734
+ UI设计目标:
8735
+ 来源: 分析报告.用户分析
8736
+ 映射:
8737
+ - 用户角色 → PRD.用户角色定义
8738
+ - 用户旅程 → PRD.关键交互范式
8739
+ - 功能清单中的UI相关项 → PRD.核心屏幕与视图
8740
+
8741
+ 技术假设:
8742
+ 来源: docs/rag/technical/ + 分析报告.技术分析
8743
+ 映射:
8744
+ - architecture.md → PRD.服务架构
8745
+ - coding-standards/ → PRD.编码规范约束
8746
+ - 技术可行性评估 → PRD.技术假设
8747
+
8748
+ Epic结构:
8749
+ 来源: 分析报告.功能分析
8750
+ 映射:
8751
+ - 功能清单(按优先级分组) → Epic列表
8752
+ - 功能依赖关系 → Story顺序
8753
+ - P0功能 → Epic 1 (核心功能)
8754
+ - P1功能 → Epic 2+ (增强功能)
8755
+
8756
+ 风险与待办:
8757
+ 来源: 分析报告.风险分析 + 待澄清事项
8758
+ 映射:
8759
+ - 风险清单 → PRD.风险评估
8760
+ - 待澄清事项 → PRD.开放问题
8761
+ ```
8762
+
8763
+ ### 3.2 Epic/Story 生成规则
8764
+
8765
+ ```yaml
8766
+ Epic生成规则:
8767
+ 分组策略:
8768
+ - 按功能模块分组
8769
+ - 每个Epic交付独立可测试的功能增量
8770
+ - Epic 1 优先包含P0功能
8771
+ - 后续Epic按优先级和依赖关系排列
8772
+
8773
+ Epic结构:
8774
+ - Epic标题
8775
+ - Epic目标 (2-3句话)
8776
+ - 包含的功能点
8777
+ - 技术实现要点(来自技术知识)
8778
+ - Story列表
8779
+
8780
+ Story生成规则:
8781
+ 拆分策略:
8782
+ - 每个Story是垂直切片
8783
+ - 单个AI Agent会话可完成(2-4小时工作量)
8784
+ - 明确的输入输出边界
8785
+
8786
+ Story结构:
8787
+ - Story标题
8788
+ - 用户故事格式 (As a... I want... So that...)
8789
+ - 验收标准 (基于分析报告中的业务规则)
8790
+ - 技术实现提示(来自技术知识)
8791
+ - 集成验证点(来自数据关系分析)
8792
+
8793
+ 排序规则:
8794
+ - 基础设施优先
8795
+ - 数据模型优先于业务逻辑
8796
+ - 核心流程优先于边缘场景
8797
+ - 遵循功能依赖关系图
8798
+ ```
8799
+
8800
+ ### 3.3 知识融合
8801
+
8802
+ ```yaml
8803
+ 知识融合点:
8804
+ 业务规则融合:
8805
+ 来源: docs/rag/business/rules-*.md
8806
+ 融合到: 验收标准、业务逻辑描述
8807
+
8808
+ 数据模型融合:
8809
+ 来源: docs/rag/technical/data-model.md
8810
+ 融合到: 数据实体定义、关联关系说明
8811
+
8812
+ 编码规范融合:
8813
+ 来源: docs/rag/technical/coding-standards/
8814
+ 融合到: 技术实现提示、代码示例引用
8815
+
8816
+ 中间件规范融合:
8817
+ 来源: docs/rag/technical/middleware/
8818
+ 融合到: 技术假设、实现约束
8819
+
8820
+ 安全要求融合:
8821
+ 来源: docs/rag/constraints/security.md
8822
+ 融合到: 非功能性需求、验收标准
8823
+ ```
8824
+
8825
+ ---
8826
+
8827
+ ## Phase 4: 质量检查与输出
8828
+
8829
+ ### 4.1 PRD质量检查清单
8830
+
8831
+ ```yaml
8832
+ 完整性检查:
8833
+ - [ ] 所有P0功能已覆盖
8834
+ - [ ] 所有P1功能已覆盖或标记为后续迭代
8835
+ - [ ] 所有已识别的业务规则已融入
8836
+ - [ ] 所有数据实体已定义
8837
+ - [ ] 所有用户角色已覆盖
8838
+
8839
+ 一致性检查:
8840
+ - [ ] 功能需求与分析报告一致
8841
+ - [ ] 技术假设与知识库一致
8842
+ - [ ] Epic/Story顺序符合依赖关系
8843
+ - [ ] 验收标准可测试
8844
+
8845
+ 可执行性检查:
8846
+ - [ ] 每个Story大小适合AI Agent执行
8847
+ - [ ] Story之间无循环依赖
8848
+ - [ ] 技术实现路径清晰
8849
+ - [ ] 风险缓解措施具体
8850
+
8851
+ 交接完整性检查:
8852
+ - [ ] 包含UX专家提示
8853
+ - [ ] 包含架构师提示
8854
+ - [ ] 待澄清事项已列出
8855
+ ```
8856
+
8857
+ ### 4.2 输出文件
8858
+
8859
+ ```yaml
8860
+ 主输出:
8861
+ PRD文档:
8862
+ 路径: docs/prd.md
8863
+ 格式: Markdown
8864
+
8865
+ 或 Epic文档:
8866
+ 路径: docs/epic-{name}.md
8867
+ 格式: Markdown
8868
+
8869
+ 辅助输出:
8870
+ 知识引用索引:
8871
+ 路径: docs/prd-knowledge-refs.md
8872
+ 内容: PRD中引用的知识文件清单
8873
+
8874
+ 待澄清事项:
8875
+ 路径: docs/prd-open-questions.md
8876
+ 内容: 需要进一步确认的问题
8877
+ ```
8878
+
8879
+ ---
8880
+
8881
+ ## Phase 5: 下游交接
8882
+
8883
+ ### 5.1 交接给UX专家
8884
+
8885
+ ```yaml
8886
+ UX专家交接:
8887
+ 必读文件:
8888
+ - docs/prd.md (UI设计目标章节)
8889
+ - docs/rag/_analysis-report.md (用户分析章节)
8890
+
8891
+ 关注点:
8892
+ - 用户角色与权限
8893
+ - 核心屏幕与视图
8894
+ - 关键用户旅程
8895
+ - 无障碍性要求
8896
+
8897
+ 建议命令: "*create-ux-design docs/prd.md"
8898
+ ```
8899
+
8900
+ ### 5.2 交接给架构师
8901
+
8902
+ ```yaml
8903
+ 架构师交接:
8904
+ 必读文件:
8905
+ - docs/prd.md (技术假设章节)
8906
+ - docs/rag/technical/ (技术知识目录)
8907
+ - docs/rag/_analysis-report.md (技术分析章节)
8908
+
8909
+ 关注点:
8910
+ - 技术栈与架构约束
8911
+ - 数据模型与关系
8912
+ - 集成点与接口
8913
+ - 性能与安全要求
8914
+
8915
+ 建议命令: "*create-architecture docs/prd.md"
8916
+ ```
8917
+
8918
+ ---
8919
+
8920
+ ## 使用说明
8921
+
8922
+ ### 激活命令
8923
+
8924
+ ```
8925
+ *create-prd-from-rag [rag_path]
8926
+ ```
8927
+
8928
+ ### 执行参数
8929
+
8930
+ ```yaml
8931
+ 参数:
8932
+ rag_path: RAG知识目录路径 (默认: docs/rag/)
8933
+ output_path: PRD输出路径 (默认: docs/prd.md)
8934
+ doc_type: 文档类型 (auto|prd|epic, 默认: auto)
8935
+ interactive: 交互模式 (默认: true)
8936
+ ```
8937
+
8938
+ ### 交互模式流程
8939
+
8940
+ 1. **验证阶段**: 检查上游交接物完整性
8941
+ 2. **评估阶段**: 展示复杂度评估结果,确认文档类型
8942
+ 3. **生成阶段**: 逐章节生成PRD,关键节点请求确认
8943
+ 4. **检查阶段**: 执行质量检查清单
8944
+ 5. **输出阶段**: 生成最终文档,提示下游交接
8945
+
8946
+ ### YOLO模式
8947
+
8948
+ 通过 `*yolo` 命令切换YOLO模式,一次性完成所有步骤,跳过中间确认环节。
8949
+
8950
+ ---
8951
+
8952
+ ## 任务完成标志
8953
+
8954
+ ```yaml
8955
+ 完成条件:
8956
+ 必要输出:
8957
+ - docs/prd.md 或 docs/epic-{name}.md
8958
+
8959
+ 完成提示: |
8960
+ ✅ PRD/Epic 文档生成完成!
8961
+
8962
+ 📄 输出文件: {output_path}
8963
+ 📊 Epic数量: {epic_count}
8964
+ 📝 Story数量: {story_count}
8965
+
8966
+ 🔄 下一步建议:
8967
+ - UX设计: *create-ux-design docs/prd.md
8968
+ - 架构设计: *create-architecture docs/prd.md
8969
+
8970
+ ⚠️ 待澄清事项: {open_questions_count} 项
8971
+ 请在开发前确认这些问题。
8972
+ ```
8973
+ ==================== END: .xiaoma-core/tasks/create-prd-from-rag.md ====================
8974
+
8408
8975
  ==================== START: .xiaoma-core/tasks/execute-checklist.md ====================
8409
8976
  <!-- Powered by XIAOMA™ Core -->
8410
8977
 
@@ -8969,96 +9536,509 @@ sections:
8969
9536
  - template: "IV3: {{performance_impact_verification}}"
8970
9537
  ==================== END: .xiaoma-core/templates/brownfield-prd-tmpl.yaml ====================
8971
9538
 
8972
- ==================== START: .xiaoma-core/checklists/change-checklist.md ====================
8973
- <!-- Powered by XiaoMa™ Core -->
8974
-
8975
- # Change Navigation Checklist
9539
+ ==================== START: .xiaoma-core/templates/prd-from-rag-tmpl.yaml ====================
9540
+ template:
9541
+ id: prd-from-rag-template-v1
9542
+ name: 基于需求分析的PRD文档
9543
+ version: 1.0
9544
+ description: 基于Analyst智能体的需求分析产出物生成PRD
9545
+ output:
9546
+ format: markdown
9547
+ filename: docs/prd.md
9548
+ title: "{{project_name}} 产品需求文档 (PRD)"
8976
9549
 
8977
- **Purpose:** To systematically guide the selected Agent and user through the analysis and planning required when a significant change (pivot, tech issue, missing requirement, failed story) is identified during the BMad workflow.
9550
+ workflow:
9551
+ mode: interactive
9552
+ elicitation: advanced-elicitation
9553
+ upstream:
9554
+ agent: analyst
9555
+ required_files:
9556
+ - docs/rag/_analysis-report.md
9557
+ - docs/rag/_requirement-parsing.yaml
9558
+ optional_files:
9559
+ - docs/rag/_questions.md
9560
+ - docs/rag/_index.md
9561
+ - docs/rag/business/*
9562
+ - docs/rag/technical/*
9563
+ - docs/rag/constraints/*
8978
9564
 
8979
- **Instructions:** Review each item with the user. Mark `[x]` for completed/confirmed, `[N/A]` if not applicable, or add notes for discussion points.
9565
+ sections:
9566
+ - id: input-validation
9567
+ title: 输入验证
9568
+ internal: true
9569
+ instruction: |
9570
+ 在开始生成PRD之前,执行以下验证:
8980
9571
 
8981
- [[LLM: INITIALIZATION INSTRUCTIONS - CHANGE NAVIGATION
9572
+ 1. **检查必需文件**:
9573
+ - docs/rag/_analysis-report.md 是否存在
9574
+ - docs/rag/_requirement-parsing.yaml 是否存在
9575
+ - req.txt 原始需求文档是否存在
8982
9576
 
8983
- Changes during development are inevitable, but how we handle them determines project success or failure.
9577
+ 2. **加载分析报告**:
9578
+ - 读取并解析 _analysis-report.md 的所有章节
9579
+ - 提取关键信息:功能清单、用户角色、数据实体、风险、待澄清事项
8984
9580
 
8985
- Before proceeding, understand:
9581
+ 3. **加载知识上下文**:
9582
+ - 扫描 docs/rag/technical/ 获取技术约束
9583
+ - 扫描 docs/rag/business/ 获取业务规则
9584
+ - 扫描 docs/rag/constraints/ 获取约束条件
8986
9585
 
8987
- 1. This checklist is for SIGNIFICANT changes that affect the project direction
8988
- 2. Minor adjustments within a story don't require this process
8989
- 3. The goal is to minimize wasted work while adapting to new realities
8990
- 4. User buy-in is critical - they must understand and approve changes
9586
+ 如果缺少必需文件,提示:
9587
+ "⚠️ 未找到需求分析报告。请先执行 Analyst 智能体完成需求分析:*analyze-requirement req.txt"
8991
9588
 
8992
- Required context:
9589
+ - id: complexity-assessment
9590
+ title: 复杂度评估
9591
+ instruction: |
9592
+ 基于分析报告内容,评估项目复杂度并推荐文档类型。
8993
9593
 
8994
- - The triggering story or issue
8995
- - Current project state (completed stories, current epic)
8996
- - Access to PRD, architecture, and other key documents
8997
- - Understanding of remaining work planned
9594
+ **评估维度**:
9595
+ 1. 功能复杂度:基于功能清单数量和依赖关系
9596
+ 2. 技术复杂度:基于技术可行性评估
9597
+ 3. 集成复杂度:基于数据关系和外部依赖
9598
+ 4. 风险等级:基于风险清单
8998
9599
 
8999
- APPROACH:
9000
- This is an interactive process with the user. Work through each section together, discussing implications and options. The user makes final decisions, but provide expert guidance on technical feasibility and impact.
9600
+ **推荐文档类型**:
9601
+ - 完整PRD:复杂度 >= 中等,或涉及多个Epic
9602
+ - 单Epic:复杂度低,可在1-3个Story内完成
9001
9603
 
9002
- REMEMBER: Changes are opportunities to improve, not failures. Handle them professionally and constructively.]]
9604
+ 展示评估结果并请用户确认文档类型。
9605
+ elicit: true
9606
+ sections:
9607
+ - id: assessment-result
9608
+ title: 评估结果
9609
+ type: table
9610
+ columns: [评估维度, 等级, 依据]
9611
+ - id: recommendation
9612
+ title: 推荐方案
9613
+ instruction: 基于评估结果给出文档类型推荐和理由
9003
9614
 
9004
- ---
9615
+ - id: goals-context
9616
+ title: 目标与背景
9617
+ instruction: |
9618
+ 从分析报告的"需求概述"章节提取内容,映射到PRD结构。
9005
9619
 
9006
- ## 1. Understand the Trigger & Context
9620
+ **映射规则**:
9621
+ - 分析报告.需求背景 → 背景上下文
9622
+ - 分析报告.核心目标 → 目标
9623
+ - 分析报告.范围边界 → 范围定义
9007
9624
 
9008
- [[LLM: Start by fully understanding what went wrong and why. Don't jump to solutions yet. Ask probing questions:
9625
+ 如果分析报告中信息不足,参考 req.txt 原始需求补充。
9626
+ sections:
9627
+ - id: goals
9628
+ title: 目标
9629
+ type: bullet-list
9630
+ instruction: |
9631
+ 从分析报告提取核心目标,转换为PRD目标格式。
9632
+ 每个目标应该是:
9633
+ - 可衡量的成果
9634
+ - 用户或业务价值
9635
+ - 与原始需求对应
9636
+ - id: background
9637
+ title: 背景上下文
9638
+ type: paragraphs
9639
+ instruction: |
9640
+ 综合以下来源生成背景描述:
9641
+ - 分析报告.需求背景
9642
+ - 分析报告.业务分析
9643
+ - 原始需求文档中的背景信息
9644
+ - id: scope
9645
+ title: 范围定义
9646
+ instruction: 从分析报告.范围边界提取,明确包含和不包含的内容
9647
+ sections:
9648
+ - id: in-scope
9649
+ title: 范围内
9650
+ type: bullet-list
9651
+ - id: out-of-scope
9652
+ title: 范围外
9653
+ type: bullet-list
9654
+ - id: changelog
9655
+ title: 变更日志
9656
+ type: table
9657
+ columns: [日期, 版本, 描述, 作者]
9009
9658
 
9010
- - What exactly happened that triggered this review?
9011
- - Is this a one-time issue or symptomatic of a larger problem?
9012
- - Could this have been anticipated earlier?
9013
- - What assumptions were incorrect?
9659
+ - id: requirements
9660
+ title: 需求
9661
+ instruction: |
9662
+ 从分析报告的"功能分析"和"业务规则汇总"章节提取需求。
9014
9663
 
9015
- Be specific and factual, not blame-oriented.]]
9664
+ **功能性需求来源**:
9665
+ - 分析报告.功能清单 → FR列表
9666
+ - 分析报告.业务规则 → FR补充说明
9667
+ - docs/rag/business/rules-*.md → 详细规则
9016
9668
 
9017
- - [ ] **Identify Triggering Story:** Clearly identify the story (or stories) that revealed the issue.
9018
- - [ ] **Define the Issue:** Articulate the core problem precisely.
9019
- - [ ] Is it a technical limitation/dead-end?
9020
- - [ ] Is it a newly discovered requirement?
9021
- - [ ] Is it a fundamental misunderstanding of existing requirements?
9022
- - [ ] Is it a necessary pivot based on feedback or new information?
9023
- - [ ] Is it a failed/abandoned story needing a new approach?
9024
- - [ ] **Assess Initial Impact:** Describe the immediate observed consequences (e.g., blocked progress, incorrect functionality, non-viable tech).
9025
- - [ ] **Gather Evidence:** Note any specific logs, error messages, user feedback, or analysis that supports the issue definition.
9669
+ **非功能性需求来源**:
9670
+ - 分析报告.技术分析.性能要求
9671
+ - docs/rag/constraints/security.md
9672
+ - docs/rag/constraints/performance.md
9026
9673
 
9027
- ## 2. Epic Impact Assessment
9674
+ 确保每个需求都可追溯到分析报告或知识库文档。
9675
+ elicit: true
9676
+ sections:
9677
+ - id: functional
9678
+ title: 功能性需求
9679
+ type: numbered-list
9680
+ prefix: FR
9681
+ instruction: |
9682
+ 按优先级排列功能性需求:
9683
+ - P0功能优先列出
9684
+ - 每个FR包含:需求描述 + 来源标注
9685
+ - 复杂业务规则单独标注参考文档
9028
9686
 
9029
- [[LLM: Changes ripple through the project structure. Systematically evaluate:
9687
+ 格式示例:
9688
+ FR1: [P0] 用户可以创建订单 (来源: 分析报告.功能清单.F001)
9689
+ examples:
9690
+ - "FR1: [P0] 系统支持用户通过手机号注册账户 (来源: _analysis-report.md#功能清单)"
9691
+ - "FR2: [P0] 订单状态流转遵循:待支付→已支付→已发货→已完成 (来源: business/rules-order.md)"
9692
+ - id: non-functional
9693
+ title: 非功能性需求
9694
+ type: numbered-list
9695
+ prefix: NFR
9696
+ instruction: |
9697
+ 从约束条件和技术分析中提取非功能性需求。
9698
+ 包括:性能、安全、可用性、兼容性等。
9699
+ examples:
9700
+ - "NFR1: 接口响应时间P99 < 500ms (来源: constraints/performance.md)"
9701
+ - "NFR2: 敏感数据传输必须使用HTTPS加密 (来源: constraints/security.md)"
9030
9702
 
9031
- 1. Can we salvage the current epic with modifications?
9032
- 2. Do future epics still make sense given this change?
9033
- 3. Are we creating or eliminating dependencies?
9034
- 4. Does the epic sequence need reordering?
9703
+ - id: data-model
9704
+ title: 数据模型
9705
+ instruction: |
9706
+ 从分析报告的"数据分析"章节和技术知识中提取数据模型。
9035
9707
 
9036
- Think about both immediate and downstream effects.]]
9708
+ **来源**:
9709
+ - 分析报告.数据实体清单
9710
+ - 分析报告.数据关系图
9711
+ - docs/rag/technical/data-model.md
9712
+ sections:
9713
+ - id: entities
9714
+ title: 数据实体
9715
+ type: table
9716
+ columns: [实体名称, 描述, 核心属性, 来源]
9717
+ instruction: 列出所有数据实体及其核心属性
9718
+ - id: relationships
9719
+ title: 数据关系
9720
+ instruction: |
9721
+ 描述实体间的关系,使用Mermaid ER图表示。
9722
+ 从分析报告.数据关系图提取,补充详细说明。
9723
+ examples:
9724
+ - |
9725
+ ```mermaid
9726
+ erDiagram
9727
+ User ||--o{ Order : creates
9728
+ Order ||--|{ OrderItem : contains
9729
+ ```
9037
9730
 
9038
- - [ ] **Analyze Current Epic:**
9039
- - [ ] Can the current epic containing the trigger story still be completed?
9040
- - [ ] Does the current epic need modification (story changes, additions, removals)?
9041
- - [ ] Should the current epic be abandoned or fundamentally redefined?
9042
- - [ ] **Analyze Future Epics:**
9043
- - [ ] Review all remaining planned epics.
9044
- - [ ] Does the issue require changes to planned stories in future epics?
9045
- - [ ] Does the issue invalidate any future epics?
9046
- - [ ] Does the issue necessitate the creation of entirely new epics?
9047
- - [ ] Should the order/priority of future epics be changed?
9048
- - [ ] **Summarize Epic Impact:** Briefly document the overall effect on the project's epic structure and flow.
9731
+ - id: technical-constraints
9732
+ title: 技术约束
9733
+ instruction: |
9734
+ 整合技术知识库中的约束条件,指导后续架构设计。
9735
+
9736
+ **来源**:
9737
+ - docs/rag/technical/architecture.md
9738
+ - docs/rag/technical/tech-stack.md
9739
+ - docs/rag/technical/coding-standards/
9740
+ - docs/rag/technical/middleware/
9741
+ - 分析报告.技术分析.与现有系统兼容性
9742
+ elicit: true
9743
+ sections:
9744
+ - id: tech-stack
9745
+ title: 技术栈约束
9746
+ instruction: |
9747
+ 从技术知识库提取技术栈要求:
9748
+ - 后端框架和版本
9749
+ - 数据库类型和版本
9750
+ - 中间件要求
9751
+ template: |
9752
+ **后端**: {{backend_framework}}
9753
+ **数据库**: {{database}}
9754
+ **缓存**: {{cache}}
9755
+ **消息队列**: {{mq}}
9756
+ - id: architecture-constraints
9757
+ title: 架构约束
9758
+ instruction: 从 architecture.md 提取架构模式和约束
9759
+ - id: coding-standards
9760
+ title: 编码规范约束
9761
+ instruction: |
9762
+ 从 coding-standards/ 目录提取关键规范:
9763
+ - 命名规范
9764
+ - 分层规范
9765
+ - 异常处理规范
9766
+ - id: integration-constraints
9767
+ title: 集成约束
9768
+ instruction: 从分析报告.技术分析提取集成相关约束
9049
9769
 
9050
- ## 3. Artifact Conflict & Impact Analysis
9770
+ - id: epic-list
9771
+ title: 模块列表
9772
+ instruction: |
9773
+ 基于分析报告的功能分析,规划Epic结构。
9051
9774
 
9052
- [[LLM: Documentation drives development in BMad. Check each artifact:
9775
+ **规划原则**:
9776
+ - 按功能优先级分组:P0功能 → Epic 1
9777
+ - 遵循功能依赖关系
9778
+ - 每个Epic交付独立可测试的功能增量
9053
9779
 
9054
- 1. Does this change invalidate documented decisions?
9055
- 2. Are architectural assumptions still valid?
9056
- 3. Do user flows need rethinking?
9057
- 4. Are technical constraints different than documented?
9780
+ **Epic分组策略**:
9781
+ 1. 从分析报告.功能清单提取所有功能
9782
+ 2. 按优先级排序:P0 > P1 > P2
9783
+ 3. 分析依赖关系,确定Epic边界
9784
+ 4. 每个Epic包含相关联的功能集
9058
9785
 
9059
- Be thorough - missed conflicts cause future problems.]]
9786
+ 展示Epic列表,请用户确认分组是否合理。
9787
+ elicit: true
9788
+ sections:
9789
+ - id: epic-overview
9790
+ title: Epic概览
9791
+ type: table
9792
+ columns: [Epic, 标题, 包含功能, 优先级, Story数量(预估)]
9793
+ instruction: 展示所有Epic的概览表格
9060
9794
 
9061
- - [ ] **Review PRD:**
9795
+ - id: epic-details
9796
+ title: "Epic {{epic_number}}: {{epic_title}}"
9797
+ repeatable: true
9798
+ instruction: |
9799
+ 为每个Epic生成详细内容,包含所有Story和验收标准。
9800
+
9801
+ **Epic内容来源**:
9802
+ - 分析报告.功能清单 (对应功能)
9803
+ - 分析报告.业务规则 (相关规则)
9804
+ - docs/rag/business/ (详细业务知识)
9805
+ - docs/rag/technical/ (技术实现参考)
9806
+
9807
+ **Story生成规则**:
9808
+ - 每个Story是垂直切片
9809
+ - 单个AI Agent会话可完成(2-4小时)
9810
+ - 验收标准来源于分析报告中的业务规则
9811
+ - 包含技术实现提示(来自技术知识)
9812
+
9813
+ **Story排序**:
9814
+ - 遵循分析报告.功能依赖关系
9815
+ - 基础设施和数据模型优先
9816
+ - 核心流程优先于边缘场景
9817
+ elicit: true
9818
+ template: |
9819
+ **Epic目标**: {{epic_goal}}
9820
+
9821
+ **包含功能**:
9822
+ {{功能列表,来源于分析报告}}
9823
+
9824
+ **技术要点**:
9825
+ {{技术实现要点,来源于技术知识库}}
9826
+ sections:
9827
+ - id: story
9828
+ title: "Story {{epic_number}}.{{story_number}}: {{story_title}}"
9829
+ repeatable: true
9830
+ template: |
9831
+ 作为一名 {{user_type}},
9832
+ 我想要 {{action}},
9833
+ 以便 {{benefit}}。
9834
+ sections:
9835
+ - id: acceptance-criteria
9836
+ title: 验收标准
9837
+ type: numbered-list
9838
+ instruction: |
9839
+ 从以下来源生成验收标准:
9840
+ - 分析报告.业务规则 (对应规则)
9841
+ - docs/rag/business/rules-*.md (详细规则)
9842
+ - 分析报告.数据分析 (数据约束)
9843
+
9844
+ 每个标准必须:
9845
+ - 可测试、可验证
9846
+ - 明确无歧义
9847
+ - 包含边界条件
9848
+ item_template: "AC{{criterion_number}}: {{criteria}} (来源: {{source}})"
9849
+ - id: technical-hints
9850
+ title: 技术实现提示
9851
+ instruction: |
9852
+ 从技术知识库提取实现提示:
9853
+ - 相关编码规范
9854
+ - 中间件使用示例
9855
+ - 数据模型参考
9856
+ type: bullet-list
9857
+ - id: knowledge-refs
9858
+ title: 知识引用
9859
+ instruction: 列出Story实现时需要参考的知识文档
9860
+ type: bullet-list
9861
+
9862
+ - id: risks-and-open-items
9863
+ title: 风险与待澄清事项
9864
+ instruction: |
9865
+ 从分析报告直接提取风险和待澄清事项。
9866
+
9867
+ **来源**:
9868
+ - 分析报告.风险分析
9869
+ - 分析报告.待澄清事项
9870
+ sections:
9871
+ - id: risks
9872
+ title: 风险清单
9873
+ type: table
9874
+ columns: [风险ID, 风险描述, 等级, 缓解措施]
9875
+ instruction: 从分析报告.风险清单直接映射
9876
+ - id: open-questions
9877
+ title: 待澄清事项
9878
+ type: table
9879
+ columns: [序号, 问题, 上下文, 建议选项, 状态]
9880
+ instruction: |
9881
+ 从分析报告.待澄清事项提取。
9882
+ 标注状态:待确认/已确认/已关闭
9883
+ 在PRD评审时需要逐一确认这些问题。
9884
+
9885
+ - id: knowledge-index
9886
+ title: 知识引用索引
9887
+ instruction: |
9888
+ 列出本PRD引用的所有知识文档,便于追溯和维护。
9889
+ sections:
9890
+ - id: analysis-refs
9891
+ title: 分析报告引用
9892
+ type: table
9893
+ columns: [章节, 引用位置, 用途]
9894
+ - id: knowledge-refs
9895
+ title: 知识库引用
9896
+ type: table
9897
+ columns: [文件路径, 引用位置, 用途]
9898
+
9899
+ - id: next-steps
9900
+ title: 后续步骤
9901
+ sections:
9902
+ - id: ux-expert-prompt
9903
+ title: UX专家交接
9904
+ instruction: |
9905
+ 生成给UX专家的交接提示,包含:
9906
+ - 需要关注的用户角色
9907
+ - 核心屏幕和交互
9908
+ - 品牌和无障碍要求
9909
+ - 相关知识文档路径
9910
+ template: |
9911
+ **交接给UX专家**
9912
+
9913
+ 请基于本PRD的用户分析部分设计UI/UX方案:
9914
+
9915
+ **关键输入**:
9916
+ - PRD文档: docs/prd.md
9917
+ - 用户分析: docs/rag/_analysis-report.md#用户分析
9918
+ - 用户角色: {{user_roles}}
9919
+ - 核心屏幕: {{core_screens}}
9920
+
9921
+ **设计重点**:
9922
+ {{design_focus}}
9923
+
9924
+ **执行命令**: *create-ux-design docs/prd.md
9925
+ - id: architect-prompt
9926
+ title: 架构师交接
9927
+ instruction: |
9928
+ 生成给架构师的交接提示,包含:
9929
+ - 技术栈约束
9930
+ - 数据模型要点
9931
+ - 集成需求
9932
+ - 相关知识文档路径
9933
+ template: |
9934
+ **交接给架构师**
9935
+
9936
+ 请基于本PRD和技术知识库设计系统架构:
9937
+
9938
+ **关键输入**:
9939
+ - PRD文档: docs/prd.md
9940
+ - 技术分析: docs/rag/_analysis-report.md#技术分析
9941
+ - 技术知识: docs/rag/technical/
9942
+ - 数据模型: docs/rag/technical/data-model.md
9943
+
9944
+ **架构重点**:
9945
+ - 技术栈: {{tech_stack}}
9946
+ - 关键集成点: {{integration_points}}
9947
+ - 性能要求: {{performance_requirements}}
9948
+
9949
+ **执行命令**: *create-architecture docs/prd.md
9950
+ ==================== END: .xiaoma-core/templates/prd-from-rag-tmpl.yaml ====================
9951
+
9952
+ ==================== START: .xiaoma-core/checklists/change-checklist.md ====================
9953
+ <!-- Powered by XiaoMa™ Core -->
9954
+
9955
+ # Change Navigation Checklist
9956
+
9957
+ **Purpose:** To systematically guide the selected Agent and user through the analysis and planning required when a significant change (pivot, tech issue, missing requirement, failed story) is identified during the BMad workflow.
9958
+
9959
+ **Instructions:** Review each item with the user. Mark `[x]` for completed/confirmed, `[N/A]` if not applicable, or add notes for discussion points.
9960
+
9961
+ [[LLM: INITIALIZATION INSTRUCTIONS - CHANGE NAVIGATION
9962
+
9963
+ Changes during development are inevitable, but how we handle them determines project success or failure.
9964
+
9965
+ Before proceeding, understand:
9966
+
9967
+ 1. This checklist is for SIGNIFICANT changes that affect the project direction
9968
+ 2. Minor adjustments within a story don't require this process
9969
+ 3. The goal is to minimize wasted work while adapting to new realities
9970
+ 4. User buy-in is critical - they must understand and approve changes
9971
+
9972
+ Required context:
9973
+
9974
+ - The triggering story or issue
9975
+ - Current project state (completed stories, current epic)
9976
+ - Access to PRD, architecture, and other key documents
9977
+ - Understanding of remaining work planned
9978
+
9979
+ APPROACH:
9980
+ This is an interactive process with the user. Work through each section together, discussing implications and options. The user makes final decisions, but provide expert guidance on technical feasibility and impact.
9981
+
9982
+ REMEMBER: Changes are opportunities to improve, not failures. Handle them professionally and constructively.]]
9983
+
9984
+ ---
9985
+
9986
+ ## 1. Understand the Trigger & Context
9987
+
9988
+ [[LLM: Start by fully understanding what went wrong and why. Don't jump to solutions yet. Ask probing questions:
9989
+
9990
+ - What exactly happened that triggered this review?
9991
+ - Is this a one-time issue or symptomatic of a larger problem?
9992
+ - Could this have been anticipated earlier?
9993
+ - What assumptions were incorrect?
9994
+
9995
+ Be specific and factual, not blame-oriented.]]
9996
+
9997
+ - [ ] **Identify Triggering Story:** Clearly identify the story (or stories) that revealed the issue.
9998
+ - [ ] **Define the Issue:** Articulate the core problem precisely.
9999
+ - [ ] Is it a technical limitation/dead-end?
10000
+ - [ ] Is it a newly discovered requirement?
10001
+ - [ ] Is it a fundamental misunderstanding of existing requirements?
10002
+ - [ ] Is it a necessary pivot based on feedback or new information?
10003
+ - [ ] Is it a failed/abandoned story needing a new approach?
10004
+ - [ ] **Assess Initial Impact:** Describe the immediate observed consequences (e.g., blocked progress, incorrect functionality, non-viable tech).
10005
+ - [ ] **Gather Evidence:** Note any specific logs, error messages, user feedback, or analysis that supports the issue definition.
10006
+
10007
+ ## 2. Epic Impact Assessment
10008
+
10009
+ [[LLM: Changes ripple through the project structure. Systematically evaluate:
10010
+
10011
+ 1. Can we salvage the current epic with modifications?
10012
+ 2. Do future epics still make sense given this change?
10013
+ 3. Are we creating or eliminating dependencies?
10014
+ 4. Does the epic sequence need reordering?
10015
+
10016
+ Think about both immediate and downstream effects.]]
10017
+
10018
+ - [ ] **Analyze Current Epic:**
10019
+ - [ ] Can the current epic containing the trigger story still be completed?
10020
+ - [ ] Does the current epic need modification (story changes, additions, removals)?
10021
+ - [ ] Should the current epic be abandoned or fundamentally redefined?
10022
+ - [ ] **Analyze Future Epics:**
10023
+ - [ ] Review all remaining planned epics.
10024
+ - [ ] Does the issue require changes to planned stories in future epics?
10025
+ - [ ] Does the issue invalidate any future epics?
10026
+ - [ ] Does the issue necessitate the creation of entirely new epics?
10027
+ - [ ] Should the order/priority of future epics be changed?
10028
+ - [ ] **Summarize Epic Impact:** Briefly document the overall effect on the project's epic structure and flow.
10029
+
10030
+ ## 3. Artifact Conflict & Impact Analysis
10031
+
10032
+ [[LLM: Documentation drives development in BMad. Check each artifact:
10033
+
10034
+ 1. Does this change invalidate documented decisions?
10035
+ 2. Are architectural assumptions still valid?
10036
+ 3. Do user flows need rethinking?
10037
+ 4. Are technical constraints different than documented?
10038
+
10039
+ Be thorough - missed conflicts cause future problems.]]
10040
+
10041
+ - [ ] **Review PRD:**
9062
10042
  - [ ] Does the issue conflict with the core goals or requirements stated in the PRD?
9063
10043
  - [ ] Does the PRD need clarification or updates based on the new understanding?
9064
10044
  - [ ] **Review Architecture Document:**
@@ -9952,122 +10932,650 @@ sections:
9952
10932
  instruction: 如果存在 UI/UX 清单,请用其检查本文档并在此处报告结果。
9953
10933
  ==================== END: .xiaoma-core/templates/front-end-spec-tmpl.yaml ====================
9954
10934
 
9955
- ==================== START: .xiaoma-core/templates/architecture-tmpl.yaml ====================
9956
- template:
9957
- id: architecture-template-v2
9958
- name: 架构文档
9959
- version: 2.0
9960
- output:
9961
- format: markdown
9962
- filename: docs/architecture.md
9963
- title: "{{project_name}} Architecture Document"
10935
+ ==================== START: .xiaoma-core/tasks/create-incremental-architecture.md ====================
10936
+ # 基于知识库的架构增量设计任务
9964
10937
 
9965
- workflow:
9966
- mode: interactive
9967
- elicitation: advanced-elicitation
10938
+ ## Purpose
9968
10939
 
9969
- sections:
9970
- - id: introduction
9971
- title: 引言
9972
- instruction: |
9973
- 如果可以,请在开始前审查所有提供的相关文档以收集全部背景信息。如果至少无法找到 docs/prd.md,请询问用户哪些文档将为架构设计提供基础。
9974
- sections:
9975
- - id: intro-content
9976
- content: |
9977
- 本文档概述了 {{project_name}} 的整体项目架构,包括后端系统、共享服务以及非 UI 特定的问题。其主要目标是作为 AI 驱动开发的指导性架构蓝图,确保遵循所选模式和技术的一致性。
10940
+ 基于 Analyst 智能体的技术知识库产出(`docs/rag/technical/`)和 PM 智能体生成的 PRD/Epic 文档,进行架构增量设计。通过对比现有技术架构与新需求,识别技术变动点,生成架构增量设计文档。
9978
10941
 
9979
- **与前端架构的关系:**
9980
- 如果项目包含重要的用户界面,将有一份独立的前端架构文档详细说明前端特定的设计,并且该文档必须与本文档结合使用。本文档中记录的核心技术栈选择(见“技术栈”)对整个项目(包括任何前端组件)具有决定性作用。
9981
- - id: starter-template
9982
- title: 启动模板或现有项目
9983
- instruction: |
9984
- 在进一步进行架构设计之前,请检查项目是否基于启动模板或现有代码库:
10942
+ ## 上游交接物
9985
10943
 
9986
- 1. 审查 PRD 和头脑风暴简报中是否提及:
9987
- - 启动模板(例如,Create React App, Next.js, Vue CLI, Angular CLI 等)
9988
- - 作为基础的现有项目或代码库
9989
- - 脚手架项目或工具
9990
- - 需要克隆或改造的先前项目
10944
+ ```yaml
10945
+ 必需输入:
10946
+ PRD/Epic文档:
10947
+ - docs/prd.md # PM生成的PRD文档
10948
+ - 或 docs/epic-{name}.md # PM生成的Epic文档
9991
10949
 
9992
- 2. 如果提及了启动模板或现有项目:
9993
- - 要求用户通过以下方式之一提供访问权限:
9994
- - 启动模板文档的链接
9995
- - 上传/附加项目文件(适用于小型项目)
9996
- - 分享项目仓库的链接(GitHub, GitLab 等)
9997
- - 分析启动模板/现有项目以了解:
9998
- - 预配置的技术栈和版本
9999
- - 项目结构和组织模式
10000
- - 内置脚本和工具
10001
- - 现有的架构模式和约定
10002
- - 启动模板带来的任何限制或约束
10003
- - 利用此分析来指导和调整您的架构决策
10950
+ 技术知识库:
10951
+ - docs/rag/technical/architecture.md # 现有技术架构
10952
+ - docs/rag/technical/tech-stack.md # 技术栈详情
10953
+ - docs/rag/technical/module-structure.md # 模块结构
10954
+ - docs/rag/technical/data-model.md # 数据模型
10004
10955
 
10005
- 3. 如果没有提及启动模板但这是一个全新的项目:
10006
- - 根据技术栈偏好建议合适的启动模板
10007
- - 解释其好处(更快的设置、最佳实践、社区支持)
10008
- - 让用户决定是否使用
10956
+ 可选输入:
10957
+ 分析报告:
10958
+ - docs/rag/_analysis-report.md # 需求分析报告(技术分析章节)
10009
10959
 
10010
- 4. 如果用户确认不使用启动模板:
10011
- - 从头开始进行架构设计
10012
- - 注意所有工具和配置都需要手动设置
10960
+ 编码规范:
10961
+ - docs/rag/technical/coding-standards/ # 编码规范目录
10962
+ - docs/rag/technical/middleware/ # 中间件规范目录
10013
10963
 
10014
- 在继续进行架构设计之前,在此处记录决策。如果没有,则填写“不适用”。
10015
- elicit: true
10016
- - id: changelog
10017
- title: 变更日志
10018
- type: table
10019
- columns: [日期, 版本, 描述, 作者]
10020
- instruction: 跟踪文档版本和变更
10964
+ 约束条件:
10965
+ - docs/rag/constraints/security.md # 安全要求
10966
+ - docs/rag/constraints/performance.md # 性能要求
10967
+ ```
10021
10968
 
10022
- - id: high-level-architecture
10023
- title: 高层架构
10024
- instruction: |
10025
- 本节包含多个为架构奠定基础的子章节。请一次性呈现所有子章节。
10026
- elicit: true
10027
- sections:
10028
- - id: technical-summary
10029
- title: 技术摘要
10030
- instruction: |
10031
- 提供一段简短的概述(3-5句话),内容包括:
10032
- - 系统的整体架构风格
10033
- - 关键组件及其关系
10034
- - 主要的技术选择
10035
- - 使用的核心架构模式
10036
- - 回顾 PRD 目标以及此架构如何支持这些目标
10037
- - id: high-level-overview
10038
- title: 高层概览
10039
- instruction: |
10040
- 根据 PRD 的技术假设部分,描述:
10969
+ ## Workflow Overview
10041
10970
 
10042
- 1. 主要的架构风格(例如,单体、微服务、无服务器、事件驱动)
10043
- 2. PRD 中决定的仓库结构(Monorepo/Polyrepo)
10044
- 3. PRD 中决定的服务架构
10045
- 4. 概念层面上的主要用户交互流程或数据流
10046
- 5. 关键的架构决策及其理由
10047
- - id: project-diagram
10048
- title: 高层项目图
10049
- type: mermaid
10050
- mermaid_type: graph
10051
- instruction: |
10052
- 创建一个 Mermaid 图,以可视化高层架构。考虑:
10053
- - 系统边界
10054
- - 主要组件/服务
10055
- - 数据流方向
10056
- - 外部集成
10057
- - 用户入口点
10971
+ ```
10972
+ 技术知识库 + PRD → 架构差异分析 → 变动点识别 → 增量设计 → 影响评估 → 架构增量文档
10973
+ ```
10058
10974
 
10059
- - id: architectural-patterns
10060
- title: 架构与设计模式
10061
- instruction: |
10062
- 列出将指导架构的关键高层模式。对于每个模式:
10975
+ ---
10063
10976
 
10064
- 1. 如果存在多个选项,请提出 2-3 个可行的方案
10065
- 2. 提出您的建议并附上明确的理由
10066
- 3. 在最终确定前获得用户确认
10067
- 4. 这些模式应与 PRD 的技术假设和项目目标保持一致
10977
+ ## Phase 1: 输入验证与上下文加载
10068
10978
 
10069
- 需要考虑的常见模式:
10070
- - 架构风格模式(无服务器、事件驱动、微服务、CQRS、六边形架构)
10979
+ ### 1.1 验证上游交接物
10980
+
10981
+ ```yaml
10982
+ 执行步骤:
10983
+ 步骤1_检查PRD文档:
10984
+ 动作: 检查 docs/prd.md 或 docs/epic-{name}.md 是否存在
10985
+ 缺失处理: |
10986
+ 如果缺失PRD文档,提示用户:
10987
+ "未找到PRD文档。请先执行 PM 智能体的 *create-prd-from-rag 命令生成PRD。"
10988
+
10989
+ 步骤2_检查技术知识库:
10990
+ 动作: 检查 docs/rag/technical/ 目录是否存在核心文件
10991
+ 核心文件:
10992
+ - architecture.md (现有架构)
10993
+ - data-model.md (数据模型)
10994
+ 缺失处理: |
10995
+ 如果技术知识库不完整,提示用户:
10996
+ "技术知识库不完整。建议先执行 Analyst 智能体完善技术知识:
10997
+ - 缺少 architecture.md:需要补充整体技术架构信息
10998
+ - 缺少 data-model.md:需要补充现有数据模型信息"
10999
+
11000
+ 步骤3_加载现有架构:
11001
+ 动作: 读取并解析技术知识库
11002
+ 提取内容:
11003
+ - 整体架构模式(单体/微服务/DDD等)
11004
+ - 技术栈详情(框架、数据库、中间件)
11005
+ - 模块结构(包结构、分层规范)
11006
+ - 现有数据模型(表结构、实体关系)
11007
+ - 编码规范(命名、注释、异常处理)
11008
+ - 中间件使用方式(Redis、MQ、ES等)
11009
+
11010
+ 步骤4_加载PRD需求:
11011
+ 动作: 读取并解析PRD文档
11012
+ 提取内容:
11013
+ - 功能性需求(FR列表)
11014
+ - 非功能性需求(NFR列表)
11015
+ - 数据实体与关系
11016
+ - 技术约束
11017
+ - Epic/Story结构
11018
+ ```
11019
+
11020
+ ### 1.2 上下文整合视图
11021
+
11022
+ ```yaml
11023
+ 整合输出:
11024
+ 现有架构视图:
11025
+ 架构模式: {从architecture.md提取}
11026
+ 技术栈:
11027
+ 后端: {框架、版本}
11028
+ 数据库: {类型、版本}
11029
+ 缓存: {类型、用途}
11030
+ 消息队列: {类型、用途}
11031
+ 模块结构: {包结构、分层}
11032
+ 数据模型: {现有实体、关系}
11033
+
11034
+ 新需求视图:
11035
+ 功能需求: {FR列表}
11036
+ 数据需求: {新增/修改实体}
11037
+ 性能需求: {NFR中的性能要求}
11038
+ 安全需求: {NFR中的安全要求}
11039
+ ```
11040
+
11041
+ ---
11042
+
11043
+ ## Phase 2: 架构差异分析
11044
+
11045
+ ### 2.1 技术变动检测
11046
+
11047
+ ```yaml
11048
+ 检测维度:
11049
+ 架构层面变动:
11050
+ 检测项:
11051
+ - 是否需要新增模块/服务
11052
+ - 是否需要调整分层结构
11053
+ - 是否需要引入新的架构模式
11054
+ 判定标准:
11055
+ 无变动: 完全遵循现有模块结构
11056
+ 小变动: 在现有模块内新增包/类
11057
+ 中变动: 新增独立模块
11058
+ 大变动: 需要调整整体架构
11059
+
11060
+ 技术栈变动:
11061
+ 检测项:
11062
+ - 是否需要引入新框架/库
11063
+ - 是否需要升级现有依赖版本
11064
+ - 是否需要新增中间件
11065
+ 判定标准:
11066
+ 无变动: 使用现有技术栈
11067
+ 小变动: 新增工具类库
11068
+ 中变动: 引入新中间件
11069
+ 大变动: 核心框架变更
11070
+
11071
+ 数据模型变动:
11072
+ 检测项:
11073
+ - 新增数据实体
11074
+ - 修改现有实体(字段增减)
11075
+ - 新增实体关系
11076
+ - 索引变更
11077
+ 判定标准:
11078
+ 无变动: 完全使用现有表结构
11079
+ 小变动: 现有表新增字段
11080
+ 中变动: 新增表/修改关联关系
11081
+ 大变动: 数据模型重构
11082
+
11083
+ 接口变动:
11084
+ 检测项:
11085
+ - 新增API端点
11086
+ - 修改现有API
11087
+ - 新增外部系统集成
11088
+ 判定标准:
11089
+ 无变动: 无接口变更
11090
+ 小变动: 新增内部API
11091
+ 中变动: 修改公开API/新增集成
11092
+ 大变动: API版本升级
11093
+
11094
+ 中间件变动:
11095
+ 检测项:
11096
+ - Redis使用变化(新增key类型、缓存策略)
11097
+ - MQ使用变化(新增Topic/Queue)
11098
+ - 定时任务变化
11099
+ - ES索引变化
11100
+ 判定标准:
11101
+ 无变动: 遵循现有使用方式
11102
+ 小变动: 新增使用场景
11103
+ 中变动: 新增配置/调整策略
11104
+ 大变动: 中间件架构调整
11105
+ ```
11106
+
11107
+ ### 2.2 变动分析报告
11108
+
11109
+ ```yaml
11110
+ 分析输出格式:
11111
+ 变动总览:
11112
+ 总体变动等级: 无/小/中/大
11113
+ 主要变动领域: [列表]
11114
+ 风险等级: 低/中/高
11115
+
11116
+ 详细变动清单:
11117
+ - 变动ID: CHG-001
11118
+ 领域: 数据模型
11119
+ 类型: 新增
11120
+ 描述: 新增订单实体
11121
+ 影响范围: order模块
11122
+ 关联需求: FR1, FR2
11123
+ 风险等级: 低
11124
+
11125
+ 兼容性分析:
11126
+ 向后兼容: 是/否
11127
+ 需要迁移: 是/否
11128
+ 影响范围: [受影响的模块/服务]
11129
+ ```
11130
+
11131
+ ---
11132
+
11133
+ ## Phase 3: 架构增量设计
11134
+
11135
+ ### 3.1 设计原则
11136
+
11137
+ ```yaml
11138
+ 设计原则:
11139
+ 最小变动原则:
11140
+ - 优先在现有架构内扩展
11141
+ - 避免不必要的重构
11142
+ - 保持与现有代码风格一致
11143
+
11144
+ 渐进演进原则:
11145
+ - 设计可分阶段实施的方案
11146
+ - 支持增量部署和回滚
11147
+ - 考虑向后兼容性
11148
+
11149
+ 知识复用原则:
11150
+ - 复用知识库中的编码规范
11151
+ - 遵循现有中间件使用模式
11152
+ - 参考已有代码示例
11153
+ ```
11154
+
11155
+ ### 3.2 增量设计内容
11156
+
11157
+ ```yaml
11158
+ 设计内容:
11159
+ 模块增量设计:
11160
+ 新增模块:
11161
+ - 模块名称
11162
+ - 职责描述
11163
+ - 包结构(遵循现有规范)
11164
+ - 与现有模块的关系
11165
+ 修改模块:
11166
+ - 模块名称
11167
+ - 修改内容
11168
+ - 修改理由
11169
+ - 影响评估
11170
+
11171
+ 数据模型增量设计:
11172
+ 新增实体:
11173
+ - 实体名称
11174
+ - 表名(遵循命名规范)
11175
+ - 字段定义(遵循字段规范)
11176
+ - 索引设计
11177
+ - DDL语句
11178
+ 修改实体:
11179
+ - 实体名称
11180
+ - 修改字段
11181
+ - 迁移脚本
11182
+ - 兼容性说明
11183
+
11184
+ 接口增量设计:
11185
+ 新增API:
11186
+ - 接口路径(遵循URL规范)
11187
+ - 请求方法
11188
+ - 请求参数(遵循参数规范)
11189
+ - 响应格式(遵循响应规范)
11190
+ - 错误码定义
11191
+ 修改API:
11192
+ - 接口路径
11193
+ - 变更内容
11194
+ - 版本策略
11195
+ - 兼容性说明
11196
+
11197
+ 中间件增量设计:
11198
+ Redis:
11199
+ - 新增Key定义(遵循Key命名规范)
11200
+ - 数据结构选择
11201
+ - 过期策略
11202
+ - 代码示例(参考知识库)
11203
+ MQ:
11204
+ - 新增Topic/Queue
11205
+ - 消息格式
11206
+ - 消费者配置
11207
+ - 代码示例(参考知识库)
11208
+ 定时任务:
11209
+ - 任务名称
11210
+ - 执行周期
11211
+ - 实现方式
11212
+ - 代码示例(参考知识库)
11213
+ ```
11214
+
11215
+ ### 3.3 知识库规范引用
11216
+
11217
+ ```yaml
11218
+ 规范引用:
11219
+ 编码规范引用:
11220
+ 来源: docs/rag/technical/coding-standards/
11221
+ 引用内容:
11222
+ - 命名规范 → 类/方法/变量命名
11223
+ - 分层规范 → Controller/Service/DAO实现
11224
+ - 异常处理 → 错误处理方式
11225
+ - 日志规范 → 日志打印方式
11226
+
11227
+ 中间件规范引用:
11228
+ 来源: docs/rag/technical/middleware/
11229
+ 引用内容:
11230
+ - Redis规范 → 缓存实现参考
11231
+ - MQ规范 → 消息处理参考
11232
+ - 定时任务规范 → 任务实现参考
11233
+
11234
+ SQL规范引用:
11235
+ 来源: docs/rag/technical/sql-standards/
11236
+ 引用内容:
11237
+ - 表设计规范 → DDL编写
11238
+ - 查询规范 → SQL编写
11239
+ - 性能规范 → 索引设计
11240
+ ```
11241
+
11242
+ ---
11243
+
11244
+ ## Phase 4: 影响评估与风险分析
11245
+
11246
+ ### 4.1 影响评估
11247
+
11248
+ ```yaml
11249
+ 评估维度:
11250
+ 代码影响:
11251
+ - 新增代码量估算
11252
+ - 修改代码范围
11253
+ - 测试代码需求
11254
+
11255
+ 数据影响:
11256
+ - 数据迁移需求
11257
+ - 数据一致性风险
11258
+ - 备份恢复策略
11259
+
11260
+ 性能影响:
11261
+ - 新增负载评估
11262
+ - 资源需求变化
11263
+ - 性能测试要求
11264
+
11265
+ 部署影响:
11266
+ - 部署步骤变更
11267
+ - 配置变更
11268
+ - 回滚方案
11269
+ ```
11270
+
11271
+ ### 4.2 风险分析
11272
+
11273
+ ```yaml
11274
+ 风险分析:
11275
+ 技术风险:
11276
+ - 新技术引入风险
11277
+ - 兼容性风险
11278
+ - 性能风险
11279
+
11280
+ 业务风险:
11281
+ - 功能影响范围
11282
+ - 数据安全风险
11283
+ - 服务可用性风险
11284
+
11285
+ 实施风险:
11286
+ - 实施复杂度
11287
+ - 团队技能匹配
11288
+ - 时间约束
11289
+
11290
+ 缓解措施:
11291
+ - 每个风险的缓解方案
11292
+ - 监控和告警策略
11293
+ - 应急预案
11294
+ ```
11295
+
11296
+ ---
11297
+
11298
+ ## Phase 5: 输出架构增量文档
11299
+
11300
+ ### 5.1 文档结构
11301
+
11302
+ ```yaml
11303
+ 文档结构:
11304
+ 元信息:
11305
+ - 文档版本
11306
+ - 生成时间
11307
+ - 关联PRD
11308
+ - 关联知识库版本
11309
+
11310
+ 变动总览:
11311
+ - 变动等级
11312
+ - 主要变动领域
11313
+ - 风险等级
11314
+
11315
+ 详细设计:
11316
+ - 模块增量设计
11317
+ - 数据模型增量设计
11318
+ - 接口增量设计
11319
+ - 中间件增量设计
11320
+
11321
+ 实施指南:
11322
+ - 实施顺序
11323
+ - 依赖关系
11324
+ - 检查点
11325
+
11326
+ 知识引用:
11327
+ - 引用的规范文档
11328
+ - 代码示例来源
11329
+
11330
+ 下游交接:
11331
+ - 开发者交接
11332
+ - QA交接
11333
+ ```
11334
+
11335
+ ### 5.2 输出文件
11336
+
11337
+ ```yaml
11338
+ 主输出:
11339
+ 架构增量文档:
11340
+ 路径: docs/architecture-increment.md
11341
+ 格式: Markdown
11342
+
11343
+ 辅助输出:
11344
+ 变动清单:
11345
+ 路径: docs/architecture-changes.yaml
11346
+ 格式: YAML
11347
+ 内容: 结构化的变动清单,便于追踪
11348
+
11349
+ DDL脚本:
11350
+ 路径: docs/ddl/
11351
+ 格式: SQL
11352
+ 内容: 数据库变更脚本
11353
+
11354
+ 知识引用索引:
11355
+ 路径: docs/architecture-knowledge-refs.md
11356
+ 内容: 设计中引用的知识库文档清单
11357
+ ```
11358
+
11359
+ ---
11360
+
11361
+ ## Phase 6: 下游交接
11362
+
11363
+ ### 6.1 交接给开发者
11364
+
11365
+ ```yaml
11366
+ 开发者交接:
11367
+ 必读文件:
11368
+ - docs/architecture-increment.md # 架构增量设计
11369
+ - docs/prd.md # PRD文档
11370
+ - docs/rag/technical/coding-standards/ # 编码规范
11371
+
11372
+ 关注点:
11373
+ - 新增模块的包结构
11374
+ - 数据模型变更
11375
+ - 中间件使用方式(含代码示例)
11376
+ - 接口设计规范
11377
+
11378
+ 建议命令: "*start-development docs/architecture-increment.md"
11379
+ ```
11380
+
11381
+ ### 6.2 交接给QA
11382
+
11383
+ ```yaml
11384
+ QA交接:
11385
+ 必读文件:
11386
+ - docs/architecture-increment.md # 架构增量设计(测试策略章节)
11387
+ - docs/prd.md # PRD文档(验收标准)
11388
+
11389
+ 关注点:
11390
+ - 功能测试范围
11391
+ - 集成测试要求
11392
+ - 回归测试范围
11393
+ - 性能测试要求
11394
+
11395
+ 建议命令: "*create-test-plan docs/architecture-increment.md"
11396
+ ```
11397
+
11398
+ ---
11399
+
11400
+ ## 使用说明
11401
+
11402
+ ### 激活命令
11403
+
11404
+ ```
11405
+ *create-incremental-architecture [prd_path] [rag_path]
11406
+ ```
11407
+
11408
+ ### 执行参数
11409
+
11410
+ ```yaml
11411
+ 参数:
11412
+ prd_path: PRD文档路径 (默认: docs/prd.md)
11413
+ rag_path: RAG知识目录路径 (默认: docs/rag/)
11414
+ output_path: 输出路径 (默认: docs/architecture-increment.md)
11415
+ interactive: 交互模式 (默认: true)
11416
+ ```
11417
+
11418
+ ### 交互模式流程
11419
+
11420
+ 1. **验证阶段**: 检查上游交接物完整性
11421
+ 2. **分析阶段**: 展示架构差异分析结果,确认变动点
11422
+ 3. **设计阶段**: 逐模块进行增量设计,关键节点请求确认
11423
+ 4. **评估阶段**: 展示影响评估和风险分析
11424
+ 5. **输出阶段**: 生成架构增量文档,提示下游交接
11425
+
11426
+ ### YOLO模式
11427
+
11428
+ 通过 `*yolo` 命令切换YOLO模式,一次性完成所有步骤,跳过中间确认环节。
11429
+
11430
+ ---
11431
+
11432
+ ## 任务完成标志
11433
+
11434
+ ```yaml
11435
+ 完成条件:
11436
+ 必要输出:
11437
+ - docs/architecture-increment.md
11438
+
11439
+ 完成提示: |
11440
+ ✅ 架构增量设计完成!
11441
+
11442
+ 📄 输出文件: docs/architecture-increment.md
11443
+ 📊 变动等级: {change_level}
11444
+ ⚠️ 风险等级: {risk_level}
11445
+
11446
+ 📋 变动摘要:
11447
+ - 模块变动: {module_changes}
11448
+ - 数据模型变动: {data_model_changes}
11449
+ - 接口变动: {api_changes}
11450
+ - 中间件变动: {middleware_changes}
11451
+
11452
+ 🔄 下一步建议:
11453
+ - 开发实施: *start-development docs/architecture-increment.md
11454
+ - 测试计划: *create-test-plan docs/architecture-increment.md
11455
+
11456
+ 💡 请在开发前确认架构设计,特别关注:
11457
+ - 风险清单中的高风险项
11458
+ - 数据迁移方案
11459
+ - 回滚策略
11460
+ ```
11461
+ ==================== END: .xiaoma-core/tasks/create-incremental-architecture.md ====================
11462
+
11463
+ ==================== START: .xiaoma-core/templates/architecture-tmpl.yaml ====================
11464
+ template:
11465
+ id: architecture-template-v2
11466
+ name: 架构文档
11467
+ version: 2.0
11468
+ output:
11469
+ format: markdown
11470
+ filename: docs/architecture.md
11471
+ title: "{{project_name}} Architecture Document"
11472
+
11473
+ workflow:
11474
+ mode: interactive
11475
+ elicitation: advanced-elicitation
11476
+
11477
+ sections:
11478
+ - id: introduction
11479
+ title: 引言
11480
+ instruction: |
11481
+ 如果可以,请在开始前审查所有提供的相关文档以收集全部背景信息。如果至少无法找到 docs/prd.md,请询问用户哪些文档将为架构设计提供基础。
11482
+ sections:
11483
+ - id: intro-content
11484
+ content: |
11485
+ 本文档概述了 {{project_name}} 的整体项目架构,包括后端系统、共享服务以及非 UI 特定的问题。其主要目标是作为 AI 驱动开发的指导性架构蓝图,确保遵循所选模式和技术的一致性。
11486
+
11487
+ **与前端架构的关系:**
11488
+ 如果项目包含重要的用户界面,将有一份独立的前端架构文档详细说明前端特定的设计,并且该文档必须与本文档结合使用。本文档中记录的核心技术栈选择(见“技术栈”)对整个项目(包括任何前端组件)具有决定性作用。
11489
+ - id: starter-template
11490
+ title: 启动模板或现有项目
11491
+ instruction: |
11492
+ 在进一步进行架构设计之前,请检查项目是否基于启动模板或现有代码库:
11493
+
11494
+ 1. 审查 PRD 和头脑风暴简报中是否提及:
11495
+ - 启动模板(例如,Create React App, Next.js, Vue CLI, Angular CLI 等)
11496
+ - 作为基础的现有项目或代码库
11497
+ - 脚手架项目或工具
11498
+ - 需要克隆或改造的先前项目
11499
+
11500
+ 2. 如果提及了启动模板或现有项目:
11501
+ - 要求用户通过以下方式之一提供访问权限:
11502
+ - 启动模板文档的链接
11503
+ - 上传/附加项目文件(适用于小型项目)
11504
+ - 分享项目仓库的链接(GitHub, GitLab 等)
11505
+ - 分析启动模板/现有项目以了解:
11506
+ - 预配置的技术栈和版本
11507
+ - 项目结构和组织模式
11508
+ - 内置脚本和工具
11509
+ - 现有的架构模式和约定
11510
+ - 启动模板带来的任何限制或约束
11511
+ - 利用此分析来指导和调整您的架构决策
11512
+
11513
+ 3. 如果没有提及启动模板但这是一个全新的项目:
11514
+ - 根据技术栈偏好建议合适的启动模板
11515
+ - 解释其好处(更快的设置、最佳实践、社区支持)
11516
+ - 让用户决定是否使用
11517
+
11518
+ 4. 如果用户确认不使用启动模板:
11519
+ - 从头开始进行架构设计
11520
+ - 注意所有工具和配置都需要手动设置
11521
+
11522
+ 在继续进行架构设计之前,在此处记录决策。如果没有,则填写“不适用”。
11523
+ elicit: true
11524
+ - id: changelog
11525
+ title: 变更日志
11526
+ type: table
11527
+ columns: [日期, 版本, 描述, 作者]
11528
+ instruction: 跟踪文档版本和变更
11529
+
11530
+ - id: high-level-architecture
11531
+ title: 高层架构
11532
+ instruction: |
11533
+ 本节包含多个为架构奠定基础的子章节。请一次性呈现所有子章节。
11534
+ elicit: true
11535
+ sections:
11536
+ - id: technical-summary
11537
+ title: 技术摘要
11538
+ instruction: |
11539
+ 提供一段简短的概述(3-5句话),内容包括:
11540
+ - 系统的整体架构风格
11541
+ - 关键组件及其关系
11542
+ - 主要的技术选择
11543
+ - 使用的核心架构模式
11544
+ - 回顾 PRD 目标以及此架构如何支持这些目标
11545
+ - id: high-level-overview
11546
+ title: 高层概览
11547
+ instruction: |
11548
+ 根据 PRD 的技术假设部分,描述:
11549
+
11550
+ 1. 主要的架构风格(例如,单体、微服务、无服务器、事件驱动)
11551
+ 2. PRD 中决定的仓库结构(Monorepo/Polyrepo)
11552
+ 3. PRD 中决定的服务架构
11553
+ 4. 概念层面上的主要用户交互流程或数据流
11554
+ 5. 关键的架构决策及其理由
11555
+ - id: project-diagram
11556
+ title: 高层项目图
11557
+ type: mermaid
11558
+ mermaid_type: graph
11559
+ instruction: |
11560
+ 创建一个 Mermaid 图,以可视化高层架构。考虑:
11561
+ - 系统边界
11562
+ - 主要组件/服务
11563
+ - 数据流方向
11564
+ - 外部集成
11565
+ - 用户入口点
11566
+
11567
+ - id: architectural-patterns
11568
+ title: 架构与设计模式
11569
+ instruction: |
11570
+ 列出将指导架构的关键高层模式。对于每个模式:
11571
+
11572
+ 1. 如果存在多个选项,请提出 2-3 个可行的方案
11573
+ 2. 提出您的建议并附上明确的理由
11574
+ 3. 在最终确定前获得用户确认
11575
+ 4. 这些模式应与 PRD 的技术假设和项目目标保持一致
11576
+
11577
+ 需要考虑的常见模式:
11578
+ - 架构风格模式(无服务器、事件驱动、微服务、CQRS、六边形架构)
10071
11579
  - 代码组织模式(依赖注入、仓库、模块、工厂)
10072
11580
  - 数据模式(事件溯源、Saga、每个服务一个数据库)
10073
11581
  - 通信模式(REST, GraphQL, 消息队列, 发布/订阅)
@@ -12287,20 +13795,624 @@ sections:
12287
13795
  instruction: 在运行检查清单前,提议输出完整的架构文档。一旦用户确认,执行 architect-checklist 并在此处填充结果。
12288
13796
  ==================== END: .xiaoma-core/templates/fullstack-architecture-tmpl.yaml ====================
12289
13797
 
12290
- ==================== START: .xiaoma-core/checklists/architect-checklist.md ====================
12291
- <!-- Powered by XiaoMa™ Core -->
13798
+ ==================== START: .xiaoma-core/templates/incremental-architecture-tmpl.yaml ====================
13799
+ template:
13800
+ id: incremental-architecture-template-v1
13801
+ name: 架构增量设计文档
13802
+ version: 1.0
13803
+ description: 基于知识库和PRD进行架构增量设计,识别技术变动并生成增量架构文档
13804
+ output:
13805
+ format: markdown
13806
+ filename: docs/architecture-increment.md
13807
+ title: "{{project_name}} 架构增量设计文档"
12292
13808
 
12293
- # Architect Solution Validation Checklist
13809
+ workflow:
13810
+ mode: interactive
13811
+ elicitation: advanced-elicitation
13812
+ upstream:
13813
+ agents:
13814
+ - analyst # 提供技术知识库
13815
+ - pm # 提供PRD文档
13816
+ required_files:
13817
+ - docs/prd.md
13818
+ - docs/rag/technical/architecture.md
13819
+ optional_files:
13820
+ - docs/rag/technical/tech-stack.md
13821
+ - docs/rag/technical/data-model.md
13822
+ - docs/rag/technical/module-structure.md
13823
+ - docs/rag/technical/coding-standards/*
13824
+ - docs/rag/technical/middleware/*
13825
+ - docs/rag/constraints/*
12294
13826
 
12295
- This checklist serves as a comprehensive framework for the Architect to validate the technical design and architecture before development execution. The Architect should systematically work through each item, ensuring the architecture is robust, scalable, secure, and aligned with the product requirements.
13827
+ sections:
13828
+ - id: input-validation
13829
+ title: 输入验证
13830
+ internal: true
13831
+ instruction: |
13832
+ 在开始架构设计之前,执行以下验证:
13833
+
13834
+ 1. **检查PRD文档**:
13835
+ - docs/prd.md 或 docs/epic-{name}.md 是否存在
13836
+ - 提取功能需求(FR)、非功能需求(NFR)、数据实体、技术约束
13837
+
13838
+ 2. **检查技术知识库**:
13839
+ - docs/rag/technical/architecture.md (现有架构)
13840
+ - docs/rag/technical/data-model.md (现有数据模型)
13841
+ - docs/rag/technical/coding-standards/ (编码规范)
13842
+ - docs/rag/technical/middleware/ (中间件规范)
13843
+
13844
+ 3. **加载现有架构信息**:
13845
+ - 架构模式、技术栈、模块结构
13846
+ - 现有数据实体和关系
13847
+ - 编码规范和中间件使用方式
13848
+
13849
+ 如果缺少必需文件,提示:
13850
+ "⚠️ 缺少必需的输入文件:
13851
+ - PRD文档:请先执行 PM 智能体 *create-prd-from-rag
13852
+ - 技术知识库:请先执行 Analyst 智能体完善技术知识"
13853
+
13854
+ - id: document-header
13855
+ title: 文档信息
13856
+ sections:
13857
+ - id: meta-info
13858
+ title: 元信息
13859
+ template: |
13860
+ | 属性 | 值 |
13861
+ |------|-----|
13862
+ | 文档版本 | {{version}} |
13863
+ | 生成时间 | {{timestamp}} |
13864
+ | 关联PRD | {{prd_path}} |
13865
+ | 技术知识库版本 | {{rag_version}} |
13866
+ | 架构师 | Architect Agent |
13867
+ - id: changelog
13868
+ title: 变更日志
13869
+ type: table
13870
+ columns: [日期, 版本, 变更内容, 作者]
12296
13871
 
12297
- [[LLM: INITIALIZATION INSTRUCTIONS - REQUIRED ARTIFACTS
13872
+ - id: existing-architecture-summary
13873
+ title: 现有架构概要
13874
+ instruction: |
13875
+ 从技术知识库提取现有架构信息,作为增量设计的基线。
12298
13876
 
12299
- Before proceeding with this checklist, ensure you have access to:
13877
+ **来源**:
13878
+ - docs/rag/technical/architecture.md
13879
+ - docs/rag/technical/tech-stack.md
13880
+ - docs/rag/technical/module-structure.md
13881
+ sections:
13882
+ - id: architecture-pattern
13883
+ title: 架构模式
13884
+ instruction: 从 architecture.md 提取架构模式描述
13885
+ template: |
13886
+ **架构类型**: {{architecture_type}}
13887
+ **分层结构**: {{layer_structure}}
13888
+ **关键特征**: {{key_characteristics}}
13889
+ - id: tech-stack-baseline
13890
+ title: 技术栈基线
13891
+ type: table
13892
+ columns: [类别, 技术, 版本, 用途]
13893
+ instruction: 从 tech-stack.md 提取当前技术栈
13894
+ - id: module-structure-baseline
13895
+ title: 模块结构基线
13896
+ instruction: 从 module-structure.md 提取现有模块结构
13897
+ type: code
13898
+ language: plaintext
13899
+ - id: data-model-baseline
13900
+ title: 数据模型基线
13901
+ instruction: |
13902
+ 从 data-model.md 提取现有数据实体清单。
13903
+ 使用Mermaid ER图展示核心实体关系。
12300
13904
 
12301
- 1. architecture.md - The primary architecture document (check docs/architecture.md)
12302
- 2. prd.md - Product Requirements Document for requirements alignment (check docs/prd.md)
12303
- 3. frontend-architecture.md or fe-architecture.md - If this is a UI project (check docs/frontend-architecture.md)
13905
+ - id: requirement-extraction
13906
+ title: 需求提取
13907
+ instruction: |
13908
+ 从PRD文档提取与架构相关的需求。
13909
+
13910
+ **来源**:
13911
+ - docs/prd.md 或 docs/epic-{name}.md
13912
+ sections:
13913
+ - id: functional-requirements
13914
+ title: 功能性需求摘要
13915
+ type: table
13916
+ columns: [需求ID, 需求描述, 架构影响, 优先级]
13917
+ instruction: |
13918
+ 提取PRD中的功能性需求(FR),评估每个需求的架构影响:
13919
+ - 无影响:完全在现有架构内实现
13920
+ - 小影响:需要新增类/方法
13921
+ - 中影响:需要新增模块/表
13922
+ - 大影响:需要架构调整
13923
+ - id: non-functional-requirements
13924
+ title: 非功能性需求摘要
13925
+ type: table
13926
+ columns: [需求ID, 需求描述, 约束类型, 架构影响]
13927
+ instruction: 提取PRD中的非功能性需求(NFR),特别关注性能、安全、可用性约束
13928
+ - id: data-requirements
13929
+ title: 数据需求摘要
13930
+ type: table
13931
+ columns: [实体名称, 操作类型, 核心属性, 关联实体]
13932
+ instruction: |
13933
+ 从PRD中提取数据实体需求,标注:
13934
+ - 新增:PRD中定义的新实体
13935
+ - 修改:需要变更的现有实体
13936
+ - 复用:直接使用的现有实体
13937
+
13938
+ - id: change-analysis
13939
+ title: 架构变动分析
13940
+ instruction: |
13941
+ 对比现有架构与新需求,识别所有技术变动点。
13942
+
13943
+ **分析维度**:
13944
+ 1. 架构层面变动
13945
+ 2. 技术栈变动
13946
+ 3. 数据模型变动
13947
+ 4. 接口变动
13948
+ 5. 中间件变动
13949
+
13950
+ 展示分析结果,请用户确认变动识别是否准确。
13951
+ elicit: true
13952
+ sections:
13953
+ - id: change-overview
13954
+ title: 变动总览
13955
+ template: |
13956
+ | 维度 | 变动等级 | 变动数量 | 主要变动 |
13957
+ |------|----------|----------|----------|
13958
+ | 架构层面 | {{arch_level}} | {{arch_count}} | {{arch_main}} |
13959
+ | 技术栈 | {{tech_level}} | {{tech_count}} | {{tech_main}} |
13960
+ | 数据模型 | {{data_level}} | {{data_count}} | {{data_main}} |
13961
+ | 接口 | {{api_level}} | {{api_count}} | {{api_main}} |
13962
+ | 中间件 | {{mw_level}} | {{mw_count}} | {{mw_main}} |
13963
+
13964
+ **总体变动等级**: {{overall_level}}
13965
+ **风险等级**: {{risk_level}}
13966
+ - id: architecture-changes
13967
+ title: 架构层面变动
13968
+ condition: 存在架构层面变动
13969
+ sections:
13970
+ - id: new-modules
13971
+ title: 新增模块
13972
+ type: table
13973
+ columns: [模块名称, 职责, 所属层, 关联需求]
13974
+ - id: modified-modules
13975
+ title: 修改模块
13976
+ type: table
13977
+ columns: [模块名称, 变更内容, 变更原因, 关联需求]
13978
+ - id: tech-stack-changes
13979
+ title: 技术栈变动
13980
+ condition: 存在技术栈变动
13981
+ sections:
13982
+ - id: new-technologies
13983
+ title: 新增技术
13984
+ type: table
13985
+ columns: [技术名称, 版本, 用途, 引入理由, 替代方案]
13986
+ - id: version-upgrades
13987
+ title: 版本升级
13988
+ type: table
13989
+ columns: [技术名称, 当前版本, 目标版本, 升级原因, 兼容性风险]
13990
+ - id: data-model-changes
13991
+ title: 数据模型变动
13992
+ sections:
13993
+ - id: new-entities
13994
+ title: 新增实体
13995
+ type: table
13996
+ columns: [实体名称, 表名, 核心字段, 关联实体, 关联需求]
13997
+ - id: modified-entities
13998
+ title: 修改实体
13999
+ type: table
14000
+ columns: [实体名称, 变更字段, 变更类型, 兼容性, 关联需求]
14001
+ - id: new-relationships
14002
+ title: 新增关系
14003
+ type: table
14004
+ columns: [源实体, 目标实体, 关系类型, 关联字段, 关联需求]
14005
+ - id: api-changes
14006
+ title: 接口变动
14007
+ condition: 存在接口变动
14008
+ sections:
14009
+ - id: new-apis
14010
+ title: 新增API
14011
+ type: table
14012
+ columns: [接口路径, 方法, 功能描述, 关联需求]
14013
+ - id: modified-apis
14014
+ title: 修改API
14015
+ type: table
14016
+ columns: [接口路径, 变更内容, 兼容性策略, 关联需求]
14017
+ - id: middleware-changes
14018
+ title: 中间件变动
14019
+ condition: 存在中间件变动
14020
+ sections:
14021
+ - id: redis-changes
14022
+ title: Redis变动
14023
+ type: table
14024
+ columns: [Key名称, 数据结构, 用途, 过期策略, 关联需求]
14025
+ - id: mq-changes
14026
+ title: 消息队列变动
14027
+ type: table
14028
+ columns: [Topic/Queue, 消息类型, 生产者, 消费者, 关联需求]
14029
+ - id: scheduler-changes
14030
+ title: 定时任务变动
14031
+ type: table
14032
+ columns: [任务名称, 执行周期, 功能描述, 关联需求]
14033
+
14034
+ - id: incremental-design
14035
+ title: 增量设计详情
14036
+ instruction: |
14037
+ 为每个变动点提供详细的增量设计方案。
14038
+ 设计必须遵循知识库中的编码规范和中间件使用规范。
14039
+ elicit: true
14040
+ sections:
14041
+ - id: module-design
14042
+ title: 模块增量设计
14043
+ repeatable: true
14044
+ instruction: |
14045
+ 为每个新增/修改的模块提供详细设计。
14046
+ 包结构必须遵循 docs/rag/technical/module-structure.md 中的规范。
14047
+ sections:
14048
+ - id: module-detail
14049
+ title: "{{module_name}}"
14050
+ template: |
14051
+ **模块类型**: 新增 / 修改
14052
+ **职责描述**: {{responsibility}}
14053
+ **所属层**: {{layer}}
14054
+ **关联需求**: {{related_requirements}}
14055
+ sections:
14056
+ - id: package-structure
14057
+ title: 包结构设计
14058
+ instruction: 遵循现有模块结构规范设计包结构
14059
+ type: code
14060
+ language: plaintext
14061
+ - id: class-design
14062
+ title: 核心类设计
14063
+ instruction: |
14064
+ 列出核心类及其职责,命名遵循编码规范:
14065
+ - Controller: {Module}Controller
14066
+ - Service: {Module}Service / {Module}ServiceImpl
14067
+ - DAO: {Module}Mapper / {Module}Repository
14068
+ type: table
14069
+ columns: [类名, 类型, 职责, 依赖]
14070
+ - id: integration-points
14071
+ title: 集成点
14072
+ instruction: 描述与现有模块的集成方式
14073
+ type: bullet-list
14074
+
14075
+ - id: data-model-design
14076
+ title: 数据模型增量设计
14077
+ repeatable: true
14078
+ instruction: |
14079
+ 为每个新增/修改的数据实体提供详细设计。
14080
+ 设计必须遵循 docs/rag/technical/sql-standards/ 中的规范。
14081
+ sections:
14082
+ - id: entity-detail
14083
+ title: "{{entity_name}}"
14084
+ template: |
14085
+ **操作类型**: 新增 / 修改
14086
+ **表名**: {{table_name}}
14087
+ **关联需求**: {{related_requirements}}
14088
+ sections:
14089
+ - id: field-design
14090
+ title: 字段设计
14091
+ type: table
14092
+ columns: [字段名, 类型, 长度, 约束, 默认值, 说明]
14093
+ instruction: 字段命名遵循数据库命名规范
14094
+ - id: index-design
14095
+ title: 索引设计
14096
+ type: table
14097
+ columns: [索引名, 类型, 字段, 用途]
14098
+ instruction: 索引命名遵循 idx_{表名}_{字段} 规范
14099
+ - id: ddl-script
14100
+ title: DDL脚本
14101
+ type: code
14102
+ language: sql
14103
+ instruction: |
14104
+ 生成DDL脚本,遵循SQL规范:
14105
+ - 包含完整的字段定义
14106
+ - 包含索引创建
14107
+ - 包含注释
14108
+ - id: migration-script
14109
+ title: 迁移脚本
14110
+ condition: 修改现有表
14111
+ type: code
14112
+ language: sql
14113
+ instruction: 生成安全的迁移脚本,考虑向后兼容性
14114
+
14115
+ - id: api-design
14116
+ title: 接口增量设计
14117
+ repeatable: true
14118
+ condition: 存在接口变动
14119
+ instruction: |
14120
+ 为每个新增/修改的API提供详细设计。
14121
+ 设计必须遵循现有API规范。
14122
+ sections:
14123
+ - id: api-detail
14124
+ title: "{{api_name}}"
14125
+ template: |
14126
+ **操作类型**: 新增 / 修改
14127
+ **接口路径**: {{api_path}}
14128
+ **请求方法**: {{http_method}}
14129
+ **功能描述**: {{description}}
14130
+ **关联需求**: {{related_requirements}}
14131
+ sections:
14132
+ - id: request-design
14133
+ title: 请求设计
14134
+ sections:
14135
+ - id: request-params
14136
+ title: 请求参数
14137
+ type: table
14138
+ columns: [参数名, 类型, 必填, 说明, 示例]
14139
+ - id: request-body
14140
+ title: 请求体
14141
+ type: code
14142
+ language: json
14143
+ - id: response-design
14144
+ title: 响应设计
14145
+ sections:
14146
+ - id: success-response
14147
+ title: 成功响应
14148
+ type: code
14149
+ language: json
14150
+ - id: error-codes
14151
+ title: 错误码
14152
+ type: table
14153
+ columns: [错误码, 错误信息, 触发场景]
14154
+ - id: controller-skeleton
14155
+ title: Controller骨架代码
14156
+ type: code
14157
+ language: java
14158
+ instruction: |
14159
+ 生成Controller骨架代码,遵循编码规范:
14160
+ - 使用正确的注解
14161
+ - 参数校验
14162
+ - 统一响应格式
14163
+
14164
+ - id: middleware-design
14165
+ title: 中间件增量设计
14166
+ condition: 存在中间件变动
14167
+ instruction: |
14168
+ 为中间件使用提供详细设计。
14169
+ 必须参考 docs/rag/technical/middleware/ 中的规范和代码示例。
14170
+ sections:
14171
+ - id: redis-design
14172
+ title: Redis设计
14173
+ condition: 存在Redis变动
14174
+ repeatable: true
14175
+ sections:
14176
+ - id: redis-detail
14177
+ title: "{{redis_key_name}}"
14178
+ template: |
14179
+ **Key模式**: {{key_pattern}}
14180
+ **数据结构**: {{data_structure}}
14181
+ **用途**: {{purpose}}
14182
+ **过期策略**: {{expiration}}
14183
+ **关联需求**: {{related_requirements}}
14184
+ sections:
14185
+ - id: redis-code-example
14186
+ title: 代码示例
14187
+ type: code
14188
+ language: java
14189
+ instruction: 参考 docs/rag/technical/middleware/redis.md 中的代码示例
14190
+ - id: mq-design
14191
+ title: 消息队列设计
14192
+ condition: 存在MQ变动
14193
+ repeatable: true
14194
+ sections:
14195
+ - id: mq-detail
14196
+ title: "{{topic_name}}"
14197
+ template: |
14198
+ **Topic/Queue**: {{topic_queue}}
14199
+ **消息类型**: {{message_type}}
14200
+ **生产者**: {{producer}}
14201
+ **消费者**: {{consumer}}
14202
+ **关联需求**: {{related_requirements}}
14203
+ sections:
14204
+ - id: message-schema
14205
+ title: 消息格式
14206
+ type: code
14207
+ language: json
14208
+ - id: producer-code
14209
+ title: 生产者代码示例
14210
+ type: code
14211
+ language: java
14212
+ instruction: 参考 docs/rag/technical/middleware/mq.md 中的代码示例
14213
+ - id: consumer-code
14214
+ title: 消费者代码示例
14215
+ type: code
14216
+ language: java
14217
+ - id: scheduler-design
14218
+ title: 定时任务设计
14219
+ condition: 存在定时任务变动
14220
+ repeatable: true
14221
+ sections:
14222
+ - id: scheduler-detail
14223
+ title: "{{task_name}}"
14224
+ template: |
14225
+ **任务名称**: {{task_name}}
14226
+ **执行周期**: {{cron_expression}}
14227
+ **功能描述**: {{description}}
14228
+ **关联需求**: {{related_requirements}}
14229
+ sections:
14230
+ - id: scheduler-code
14231
+ title: 任务代码示例
14232
+ type: code
14233
+ language: java
14234
+ instruction: 参考 docs/rag/technical/middleware/scheduler.md 中的代码示例
14235
+
14236
+ - id: impact-assessment
14237
+ title: 影响评估
14238
+ instruction: 评估架构变动的影响范围和风险
14239
+ elicit: true
14240
+ sections:
14241
+ - id: code-impact
14242
+ title: 代码影响
14243
+ template: |
14244
+ **新增代码量估算**: {{new_code_estimate}}
14245
+ **修改代码范围**: {{modified_code_scope}}
14246
+ **测试代码需求**: {{test_code_requirement}}
14247
+ - id: data-impact
14248
+ title: 数据影响
14249
+ template: |
14250
+ **数据迁移需求**: {{migration_requirement}}
14251
+ **数据一致性风险**: {{consistency_risk}}
14252
+ **备份恢复策略**: {{backup_strategy}}
14253
+ - id: performance-impact
14254
+ title: 性能影响
14255
+ template: |
14256
+ **新增负载评估**: {{load_estimate}}
14257
+ **资源需求变化**: {{resource_change}}
14258
+ **性能测试要求**: {{performance_test_requirement}}
14259
+ - id: deployment-impact
14260
+ title: 部署影响
14261
+ template: |
14262
+ **部署步骤变更**: {{deployment_change}}
14263
+ **配置变更**: {{config_change}}
14264
+ **回滚方案**: {{rollback_plan}}
14265
+
14266
+ - id: risk-analysis
14267
+ title: 风险分析
14268
+ sections:
14269
+ - id: risk-list
14270
+ title: 风险清单
14271
+ type: table
14272
+ columns: [风险ID, 风险类型, 风险描述, 可能性, 影响, 缓解措施]
14273
+ instruction: |
14274
+ 识别所有风险,类型包括:
14275
+ - 技术风险:新技术引入、兼容性、性能
14276
+ - 业务风险:功能影响、数据安全、服务可用性
14277
+ - 实施风险:复杂度、技能匹配、时间约束
14278
+ - id: critical-risks
14279
+ title: 关键风险详述
14280
+ instruction: 对高风险项提供详细分析和缓解方案
14281
+ repeatable: true
14282
+ template: |
14283
+ ### {{risk_name}}
14284
+
14285
+ **风险描述**: {{description}}
14286
+ **可能性**: {{probability}}
14287
+ **影响程度**: {{impact}}
14288
+
14289
+ **根因分析**: {{root_cause}}
14290
+
14291
+ **缓解措施**:
14292
+ {{mitigation_measures}}
14293
+
14294
+ **应急预案**:
14295
+ {{contingency_plan}}
14296
+
14297
+ **监控指标**:
14298
+ {{monitoring_metrics}}
14299
+
14300
+ - id: implementation-guide
14301
+ title: 实施指南
14302
+ sections:
14303
+ - id: implementation-sequence
14304
+ title: 实施顺序
14305
+ instruction: |
14306
+ 基于依赖关系,规划实施顺序。
14307
+ 每个阶段对应PRD中的Epic/Story。
14308
+ type: numbered-list
14309
+ template: |
14310
+ 1. **阶段1: {{phase1_name}}**
14311
+ - Story: {{story_refs}}
14312
+ - 前置条件: {{prerequisites}}
14313
+ - 产出物: {{deliverables}}
14314
+ - 检查点: {{checkpoints}}
14315
+ - id: dependency-diagram
14316
+ title: 依赖关系图
14317
+ type: mermaid
14318
+ mermaid_type: graph
14319
+ instruction: 使用Mermaid图展示实施依赖关系
14320
+ - id: checkpoints
14321
+ title: 关键检查点
14322
+ type: table
14323
+ columns: [检查点, 阶段, 验证内容, 负责人]
14324
+
14325
+ - id: knowledge-references
14326
+ title: 知识引用索引
14327
+ instruction: 列出设计中引用的所有知识库文档
14328
+ sections:
14329
+ - id: architecture-refs
14330
+ title: 架构知识引用
14331
+ type: table
14332
+ columns: [文件路径, 引用章节, 引用内容]
14333
+ - id: coding-standard-refs
14334
+ title: 编码规范引用
14335
+ type: table
14336
+ columns: [文件路径, 引用规范, 应用位置]
14337
+ - id: middleware-refs
14338
+ title: 中间件规范引用
14339
+ type: table
14340
+ columns: [文件路径, 引用示例, 应用位置]
14341
+
14342
+ - id: next-steps
14343
+ title: 后续步骤
14344
+ sections:
14345
+ - id: developer-handoff
14346
+ title: 开发者交接
14347
+ instruction: |
14348
+ 生成给开发者的交接提示,包含:
14349
+ - 需要阅读的文档清单
14350
+ - 编码规范要点
14351
+ - 实施注意事项
14352
+ template: |
14353
+ **交接给开发者**
14354
+
14355
+ 请基于本架构增量设计文档进行开发:
14356
+
14357
+ **必读文档**:
14358
+ - 架构增量设计: docs/architecture-increment.md
14359
+ - PRD文档: {{prd_path}}
14360
+ - 编码规范: docs/rag/technical/coding-standards/
14361
+
14362
+ **开发重点**:
14363
+ - 变动模块: {{changed_modules}}
14364
+ - 数据模型变更: {{data_changes}}
14365
+ - 接口变更: {{api_changes}}
14366
+
14367
+ **注意事项**:
14368
+ - 严格遵循编码规范
14369
+ - 参考中间件代码示例
14370
+ - 每个Story完成后进行集成验证
14371
+
14372
+ **执行命令**: *start-development docs/architecture-increment.md
14373
+ - id: qa-handoff
14374
+ title: QA交接
14375
+ instruction: |
14376
+ 生成给QA的交接提示,包含:
14377
+ - 测试范围
14378
+ - 重点测试项
14379
+ - 回归测试要求
14380
+ template: |
14381
+ **交接给QA**
14382
+
14383
+ 请基于本架构增量设计制定测试计划:
14384
+
14385
+ **必读文档**:
14386
+ - 架构增量设计: docs/architecture-increment.md (影响评估章节)
14387
+ - PRD文档: {{prd_path}} (验收标准)
14388
+
14389
+ **测试范围**:
14390
+ - 新增功能: {{new_features}}
14391
+ - 修改功能: {{modified_features}}
14392
+ - 回归范围: {{regression_scope}}
14393
+
14394
+ **重点关注**:
14395
+ - 数据迁移验证
14396
+ - 接口兼容性测试
14397
+ - 性能影响验证
14398
+
14399
+ **执行命令**: *create-test-plan docs/architecture-increment.md
14400
+ ==================== END: .xiaoma-core/templates/incremental-architecture-tmpl.yaml ====================
14401
+
14402
+ ==================== START: .xiaoma-core/checklists/architect-checklist.md ====================
14403
+ <!-- Powered by XiaoMa™ Core -->
14404
+
14405
+ # Architect Solution Validation Checklist
14406
+
14407
+ This checklist serves as a comprehensive framework for the Architect to validate the technical design and architecture before development execution. The Architect should systematically work through each item, ensuring the architecture is robust, scalable, secure, and aligned with the product requirements.
14408
+
14409
+ [[LLM: INITIALIZATION INSTRUCTIONS - REQUIRED ARTIFACTS
14410
+
14411
+ Before proceeding with this checklist, ensure you have access to:
14412
+
14413
+ 1. architecture.md - The primary architecture document (check docs/architecture.md)
14414
+ 2. prd.md - Product Requirements Document for requirements alignment (check docs/prd.md)
14415
+ 3. frontend-architecture.md or fe-architecture.md - If this is a UI project (check docs/frontend-architecture.md)
12304
14416
  4. Any system diagrams referenced in the architecture
12305
14417
  5. API documentation if available
12306
14418
  6. Technology stack details and version specifications
@@ -13727,94 +15839,1019 @@ benefit: "{{user_benefit}}"
13727
15839
  - [ ] 错误处理机制明确
13728
15840
  - [ ] 数据映射关系清晰
13729
15841
 
13730
- #### 3.2 一致性检查
15842
+ #### 3.2 一致性检查
15843
+
15844
+ - [ ] API参数与数据库字段对应
15845
+ - [ ] 数据类型一致
15846
+ - [ ] 业务规则与数据库约束匹配
15847
+ - [ ] 接口设计符合RESTful规范
15848
+
15849
+ #### 3.3 可实现性检查
15850
+
15851
+ - [ ] 任务分解合理可执行
15852
+ - [ ] 技术实现方案可行
15853
+ - [ ] 测试覆盖充分
15854
+ - [ ] 开发者说明详细
15855
+
15856
+ ### 4. 输出文件
15857
+
15858
+ 生成的用户故事文件:`docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md`
15859
+
15860
+ ### 5. 后续协作
15861
+
15862
+ #### 5.1 与开发者协作
15863
+
15864
+ - 确保开发者理解数据库设计和API规范
15865
+ - 提供必要的技术支持和澄清
15866
+ - 跟踪开发进度和问题解决
15867
+
15868
+ #### 5.2 与QA协作
15869
+
15870
+ - 明确测试重点和验收标准
15871
+ - 提供API测试用例和数据
15872
+ - 确保质量标准得到执行
15873
+
15874
+ ## 模板使用示例
15875
+
15876
+ ### 示例:用户注册功能
15877
+
15878
+ **用户故事**:
15879
+
15880
+ > 作为新用户,我希望能够注册账户,以便使用系统的各项功能。
15881
+
15882
+ **相关实体**:
15883
+
15884
+ - Users表:存储用户基本信息
15885
+ - UserProfiles表:存储用户详细资料
15886
+
15887
+ **涉及API**:
15888
+
15889
+ - POST /api/users:创建用户账户
15890
+ - POST /api/users/verify-email:验证邮箱
15891
+ - GET /api/users/check-username:检查用户名可用性
15892
+
15893
+ **数据操作**:
15894
+
15895
+ - 插入用户基本信息到users表
15896
+ - 验证用户名和邮箱的唯一性
15897
+ - 创建用户会话信息
15898
+
15899
+ **API详细设计**:
15900
+
15901
+ ```json
15902
+ // POST /api/users
15903
+ {
15904
+ "username": "johndoe",
15905
+ "email": "john@example.com",
15906
+ "password": "hashedPassword"
15907
+ }
15908
+
15909
+ // 响应
15910
+ {
15911
+ "code": 200,
15912
+ "message": "用户创建成功",
15913
+ "data": {
15914
+ "userId": 12345,
15915
+ "username": "johndoe",
15916
+ "email": "john@example.com",
15917
+ "status": "active"
15918
+ }
15919
+ }
15920
+ ```
15921
+
15922
+ ## 注意事项
15923
+
15924
+ 1. **数据一致性**:确保API设计与数据库设计保持一致
15925
+ 2. **安全性**:考虑数据验证、权限控制和敏感信息保护
15926
+ 3. **性能**:关注查询效率和接口响应时间
15927
+ 4. **可维护性**:保持代码结构清晰和文档完整
15928
+ 5. **可测试性**:确保功能可以被充分测试
15929
+ ==================== END: .xiaoma-core/tasks/create-enhanced-story-with-database.md ====================
15930
+
15931
+ ==================== START: .xiaoma-core/tasks/create-story-with-rag.md ====================
15932
+ # 基于知识库的用户故事创建任务
15933
+
15934
+ ## Purpose
15935
+
15936
+ 基于知识库(`docs/rag/`)中的业务知识、技术知识以及架构增量设计文档(`docs/architecture-increment.md`),创建详细、可操作且自包含的用户故事。确保故事内容与真实需求、业务规则和技术规范完全对齐,使开发智能体能够高效实施。
15937
+
15938
+ ## 上游交接物
15939
+
15940
+ ```yaml
15941
+ 必需输入:
15942
+ PRD/Epic文档:
15943
+ - docs/prd.md # PM生成的PRD文档
15944
+ - 或 docs/prd/{epic-name}.md # 切分后的Epic文档
15945
+
15946
+ 架构增量设计:
15947
+ - docs/architecture-increment.md # Architect生成的增量设计
15948
+
15949
+ 需求分析报告:
15950
+ - docs/rag/_analysis-report.md # Analyst生成的需求分析报告
15951
+
15952
+ 可选输入:
15953
+ 业务知识库:
15954
+ - docs/rag/business/rules-*.md # 业务规则文件
15955
+ - docs/rag/_requirement-parsing.yaml # 需求解析结果
15956
+
15957
+ 技术知识库:
15958
+ - docs/rag/technical/architecture.md # 现有技术架构
15959
+ - docs/rag/technical/tech-stack.md # 技术栈详情
15960
+ - docs/rag/technical/module-structure.md # 模块结构
15961
+ - docs/rag/technical/data-model.md # 数据模型
15962
+ - docs/rag/technical/coding-standards/ # 编码规范目录
15963
+ - docs/rag/technical/middleware/ # 中间件规范目录
15964
+ - docs/rag/technical/sql-standards/ # SQL规范目录
15965
+
15966
+ 约束条件:
15967
+ - docs/rag/constraints/security.md # 安全要求
15968
+ - docs/rag/constraints/performance.md # 性能要求
15969
+
15970
+ 上一个故事:
15971
+ - docs/project/stories/{epic}.{story-1}.*.md # 上一个完成的故事
15972
+ ```
15973
+
15974
+ ## Workflow Overview
15975
+
15976
+ ```
15977
+ PRD/Epic + 知识库 + 架构增量设计 → 识别Story → 知识融合 → 生成详细Story → 检查清单验证
15978
+ ```
15979
+
15980
+ ---
15981
+
15982
+ ## Phase 0: 加载核心配置与知识上下文
15983
+
15984
+ ### 0.1 加载核心配置
15985
+
15986
+ ```yaml
15987
+ 执行步骤:
15988
+ 步骤1_加载配置:
15989
+ 动作: 读取 .xiaoma-core/core-config.yaml
15990
+ 提取:
15991
+ - devStoryLocation # 故事文件存放位置
15992
+ - prd.* # PRD配置
15993
+ - architecture.* # 架构文档配置
15994
+ 缺失处理: |
15995
+ 如果配置文件不存在,提示:
15996
+ "core-config.yaml 未找到。请先配置项目。"
15997
+ ```
15998
+
15999
+ ### 0.2 验证上游交接物
16000
+
16001
+ ```yaml
16002
+ 执行步骤:
16003
+ 步骤1_检查PRD:
16004
+ 动作: 检查 docs/prd.md 或切分后的 Epic 文件
16005
+ 缺失处理: 提示执行 PM 智能体 *create-prd-from-rag
16006
+
16007
+ 步骤2_检查架构增量设计:
16008
+ 动作: 检查 docs/architecture-increment.md
16009
+ 缺失处理: |
16010
+ 如果不存在:
16011
+ - 提示执行 Architect 智能体 *create-incremental-architecture
16012
+ - 或询问是否使用传统架构文档继续
16013
+
16014
+ 步骤3_检查需求分析报告:
16015
+ 动作: 检查 docs/rag/_analysis-report.md
16016
+ 缺失处理: |
16017
+ 如果不存在:
16018
+ - 提示执行 Analyst 智能体完成需求分析
16019
+ - 或询问是否仅使用 PRD 继续(功能受限)
16020
+
16021
+ 步骤4_扫描知识库:
16022
+ 动作: 扫描 docs/rag/ 目录,识别可用的知识文件
16023
+ 输出:
16024
+ available_knowledge:
16025
+ business_rules: [文件列表]
16026
+ technical_specs: [文件列表]
16027
+ constraints: [文件列表]
16028
+ ```
16029
+
16030
+ ### 0.3 知识上下文整合
16031
+
16032
+ ```yaml
16033
+ 知识整合:
16034
+ 业务上下文:
16035
+ 来源:
16036
+ - docs/rag/_analysis-report.md#功能分析
16037
+ - docs/rag/_analysis-report.md#业务规则汇总
16038
+ - docs/rag/business/rules-*.md
16039
+ 提取内容:
16040
+ - 功能清单与优先级
16041
+ - 业务规则与约束
16042
+ - 用户角色与权限
16043
+ - 数据实体与关系
16044
+
16045
+ 技术上下文:
16046
+ 来源:
16047
+ - docs/architecture-increment.md
16048
+ - docs/rag/technical/coding-standards/
16049
+ - docs/rag/technical/module-structure.md
16050
+ - docs/rag/technical/middleware/
16051
+ 提取内容:
16052
+ - 模块设计与包结构
16053
+ - 数据模型设计与DDL
16054
+ - 接口设计与API规范
16055
+ - 中间件使用方式与代码示例
16056
+ - 编码规范要点
16057
+
16058
+ 约束上下文:
16059
+ 来源:
16060
+ - docs/rag/constraints/security.md
16061
+ - docs/rag/constraints/performance.md
16062
+ - docs/rag/_analysis-report.md#技术分析
16063
+ 提取内容:
16064
+ - 安全要求
16065
+ - 性能要求
16066
+ - 兼容性约束
16067
+ ```
16068
+
16069
+ ---
16070
+
16071
+ ## Phase 1: 识别下一个 Story
16072
+
16073
+ ### 1.1 定位 Epic 和 Story
16074
+
16075
+ ```yaml
16076
+ 执行步骤:
16077
+ 步骤1_定位Epic:
16078
+ 动作: 根据 PRD 配置定位当前 Epic
16079
+ 来源:
16080
+ - docs/prd.md 中的 Epic 列表
16081
+ - 或 docs/prd/{epic-name}.md 切分文件
16082
+
16083
+ 步骤2_确定Story编号:
16084
+ 动作: 扫描 devStoryLocation 目录
16085
+ 逻辑:
16086
+ - 如果无故事文件: 下一个是 1.1
16087
+ - 如果有故事文件: 找到最高编号,确定下一个
16088
+ - 检查最高编号故事状态,非Done则警告
16089
+
16090
+ 步骤3_提取Story需求:
16091
+ 动作: 从 Epic/PRD 中提取当前 Story 的定义
16092
+ 提取内容:
16093
+ - Story 标题
16094
+ - 用户故事描述
16095
+ - 验收标准 (AC)
16096
+ - 关联的功能点 (FR)
16097
+ ```
16098
+
16099
+ ### 1.2 关联知识映射
16100
+
16101
+ ```yaml
16102
+ 知识映射:
16103
+ 目的: 将 Story 需求映射到知识库中的具体内容
16104
+
16105
+ 映射维度:
16106
+ 业务规则映射:
16107
+ - Story AC → 相关业务规则 (docs/rag/business/rules-*.md)
16108
+ - 功能点 → 分析报告中的功能分析
16109
+
16110
+ 技术设计映射:
16111
+ - Story → 架构增量设计中的相关章节
16112
+ - 数据需求 → 数据模型增量设计
16113
+ - API需求 → 接口增量设计
16114
+ - 中间件需求 → 中间件增量设计
16115
+
16116
+ 约束映射:
16117
+ - 安全相关AC → security.md
16118
+ - 性能相关AC → performance.md
16119
+ ```
16120
+
16121
+ ---
16122
+
16123
+ ## Phase 2: 知识融合与 Story 内容生成
16124
+
16125
+ ### 2.1 用户故事描述生成
16126
+
16127
+ ```yaml
16128
+ 用户故事生成:
16129
+ 来源:
16130
+ - PRD/Epic 中的 Story 定义
16131
+ - docs/rag/_analysis-report.md#用户分析
16132
+
16133
+ 格式:
16134
+ 作为: {用户角色,来自用户分析}
16135
+ 我希望: {功能描述,来自功能分析}
16136
+ 以便: {业务价值,来自需求背景}
16137
+
16138
+ 验证:
16139
+ - 用户角色在分析报告中有定义
16140
+ - 功能在功能清单中有对应
16141
+ - 价值与业务目标对齐
16142
+ ```
16143
+
16144
+ ### 2.2 验收标准增强
16145
+
16146
+ ```yaml
16147
+ 验收标准增强:
16148
+ 基础AC:
16149
+ 来源: PRD/Epic 中定义的验收标准
16150
+
16151
+ 业务规则增强:
16152
+ 来源: docs/rag/business/rules-*.md
16153
+ 动作: |
16154
+ 对每个AC,检查是否有相关业务规则:
16155
+ - 如有,将业务规则细节融入AC
16156
+ - 标注来源: (来源: business/rules-{name}.md)
16157
+
16158
+ 技术约束增强:
16159
+ 来源: docs/rag/constraints/
16160
+ 动作: |
16161
+ 检查AC是否涉及安全/性能要求:
16162
+ - 如有,添加技术约束说明
16163
+ - 标注来源: (来源: constraints/{name}.md)
16164
+
16165
+ 示例:
16166
+ 原始AC: "用户可以创建订单"
16167
+ 增强后: |
16168
+ 用户可以创建订单
16169
+ - 订单状态初始为"待支付" (来源: business/rules-order.md)
16170
+ - 订单号格式: ORD{yyyyMMdd}{6位序号} (来源: business/rules-order.md)
16171
+ - 创建接口响应时间 < 500ms (来源: constraints/performance.md)
16172
+ ```
16173
+
16174
+ ### 2.3 任务/子任务生成
16175
+
16176
+ ```yaml
16177
+ 任务生成:
16178
+ 来源整合:
16179
+ 架构设计:
16180
+ - docs/architecture-increment.md#模块增量设计
16181
+ - docs/architecture-increment.md#数据模型增量设计
16182
+ - docs/architecture-increment.md#接口增量设计
16183
+ - docs/architecture-increment.md#中间件增量设计
16184
+
16185
+ 编码规范:
16186
+ - docs/rag/technical/coding-standards/
16187
+ - docs/rag/technical/module-structure.md
16188
+
16189
+ 任务生成规则:
16190
+ 数据层任务:
16191
+ 条件: Story涉及数据模型变更
16192
+ 来源: architecture-increment.md#数据模型增量设计
16193
+ 任务模板: |
16194
+ - [ ] 创建/修改数据模型 (AC: {相关AC})
16195
+ - [ ] 创建实体类 {EntityName} [参考: architecture-increment.md#entity-detail]
16196
+ - [ ] 执行DDL脚本 [参考: architecture-increment.md#ddl-script]
16197
+ - [ ] 创建Mapper/Repository [遵循: coding-standards/]
16198
+
16199
+ 接口层任务:
16200
+ 条件: Story涉及API开发
16201
+ 来源: architecture-increment.md#接口增量设计
16202
+ 任务模板: |
16203
+ - [ ] 实现API接口 (AC: {相关AC})
16204
+ - [ ] 创建Controller [参考: architecture-increment.md#api-detail]
16205
+ - [ ] 实现请求参数校验 [遵循: coding-standards/]
16206
+ - [ ] 实现响应格式 [参考: architecture-increment.md#response-design]
16207
+
16208
+ 业务层任务:
16209
+ 条件: Story涉及业务逻辑
16210
+ 来源: architecture-increment.md#模块增量设计
16211
+ 任务模板: |
16212
+ - [ ] 实现业务逻辑 (AC: {相关AC})
16213
+ - [ ] 创建Service类 [参考: architecture-increment.md#class-design]
16214
+ - [ ] 实现业务规则 [参考: business/rules-{name}.md]
16215
+ - [ ] 添加事务管理 [遵循: coding-standards/]
16216
+
16217
+ 中间件任务:
16218
+ 条件: Story涉及缓存/消息/定时任务
16219
+ 来源: architecture-increment.md#中间件增量设计
16220
+ 任务模板: |
16221
+ - [ ] 实现中间件功能 (AC: {相关AC})
16222
+ - [ ] Redis缓存实现 [参考: architecture-increment.md#redis-design, middleware/redis.md]
16223
+ - [ ] 消息队列实现 [参考: architecture-increment.md#mq-design, middleware/mq.md]
16224
+
16225
+ 测试任务:
16226
+ 来源: docs/rag/technical/coding-standards/ (测试部分)
16227
+ 任务模板: |
16228
+ - [ ] 编写测试用例 (AC: ALL)
16229
+ - [ ] 单元测试 [遵循: coding-standards/testing]
16230
+ - [ ] 集成测试(如需要)
16231
+ - [ ] 验收标准验证
16232
+ ```
16233
+
16234
+ ### 2.4 开发者说明生成
16235
+
16236
+ ```yaml
16237
+ 开发者说明生成:
16238
+ 结构:
16239
+ 上一个Story洞察:
16240
+ 来源: 上一个Story的Dev Agent Record
16241
+ 内容: 关键经验、技术决策、注意事项
16242
+
16243
+ 架构设计参考:
16244
+ 来源: docs/architecture-increment.md
16245
+ 内容: |
16246
+ ### 架构设计参考
16247
+ **模块设计**: [参考: architecture-increment.md#module-design]
16248
+ - 包结构: {package_structure}
16249
+ - 核心类: {class_list}
16250
+
16251
+ **数据模型**: [参考: architecture-increment.md#data-model-design]
16252
+ - 表名: {table_name}
16253
+ - 核心字段: {fields}
16254
+
16255
+ **接口设计**: [参考: architecture-increment.md#api-design]
16256
+ - 路径: {api_path}
16257
+ - 方法: {http_method}
16258
+
16259
+ 业务规则:
16260
+ 来源: docs/rag/business/rules-*.md
16261
+ 内容: |
16262
+ ### 业务规则
16263
+ [参考: business/rules-{name}.md]
16264
+ - 规则1: {rule_description}
16265
+ - 规则2: {rule_description}
16266
+
16267
+ 编码规范要点:
16268
+ 来源: docs/rag/technical/coding-standards/
16269
+ 内容: |
16270
+ ### 编码规范要点
16271
+ [参考: coding-standards/]
16272
+ - 命名规范: {naming_rules}
16273
+ - 分层规范: {layer_rules}
16274
+ - 异常处理: {exception_rules}
16275
+
16276
+ 中间件使用:
16277
+ 条件: Story涉及中间件
16278
+ 来源: docs/rag/technical/middleware/
16279
+ 内容: |
16280
+ ### 中间件使用
16281
+ **Redis**: [参考: middleware/redis.md]
16282
+ - Key命名: {key_pattern}
16283
+ - 代码示例: {code_example}
16284
+
16285
+ **MQ**: [参考: middleware/mq.md]
16286
+ - Topic: {topic_name}
16287
+ - 代码示例: {code_example}
16288
+
16289
+ 约束条件:
16290
+ 来源: docs/rag/constraints/
16291
+ 内容: |
16292
+ ### 约束条件
16293
+ **安全要求**: [参考: constraints/security.md]
16294
+ - {security_requirements}
16295
+
16296
+ **性能要求**: [参考: constraints/performance.md]
16297
+ - {performance_requirements}
16298
+
16299
+ 文件位置:
16300
+ 来源: docs/rag/technical/module-structure.md
16301
+ 内容: |
16302
+ ### 文件位置
16303
+ [参考: module-structure.md]
16304
+ - Controller: {path}
16305
+ - Service: {path}
16306
+ - Mapper: {path}
16307
+ - Entity: {path}
16308
+ ```
16309
+
16310
+ ### 2.5 测试说明生成
16311
+
16312
+ ```yaml
16313
+ 测试说明生成:
16314
+ 来源:
16315
+ - docs/rag/technical/coding-standards/ (测试部分)
16316
+ - docs/architecture-increment.md#测试策略 (如有)
16317
+
16318
+ 内容:
16319
+ 测试框架:
16320
+ 来源: coding-standards/
16321
+ 内容: {test_framework}
16322
+
16323
+ 测试文件位置:
16324
+ 来源: module-structure.md
16325
+ 内容: {test_file_location}
16326
+
16327
+ 测试场景:
16328
+ 来源: AC + 业务规则
16329
+ 内容: |
16330
+ - 正常流程测试: {scenarios}
16331
+ - 异常流程测试: {error_scenarios}
16332
+ - 边界条件测试: {edge_cases}
16333
+
16334
+ 验收测试:
16335
+ 来源: Story AC
16336
+ 内容: 每个AC对应的测试方法
16337
+ ```
16338
+
16339
+ ### 2.6 知识引用索引
16340
+
16341
+ ```yaml
16342
+ 知识引用索引:
16343
+ 目的: 记录Story中引用的所有知识文件,便于追溯
16344
+
16345
+ 格式:
16346
+ ## Knowledge References
16347
+
16348
+ | 知识文件 | 引用章节 | 应用位置 |
16349
+ |----------|----------|----------|
16350
+ | docs/architecture-increment.md | 模块设计 | 任务列表、Dev Notes |
16351
+ | docs/rag/business/rules-order.md | 订单规则 | AC增强、业务逻辑任务 |
16352
+ | docs/rag/technical/coding-standards/ | 命名规范 | Dev Notes |
16353
+ | docs/rag/technical/middleware/redis.md | 缓存示例 | 中间件任务 |
16354
+ | docs/rag/constraints/performance.md | 响应时间要求 | AC约束 |
16355
+ ```
16356
+
16357
+ ---
16358
+
16359
+ ## Phase 3: Story 文件生成与验证
16360
+
16361
+ ### 3.1 生成 Story 文件
16362
+
16363
+ ```yaml
16364
+ 输出文件:
16365
+ 路径: {devStoryLocation}/{epicNum}.{storyNum}.{story_title_short}.md
16366
+ 状态: Draft
16367
+
16368
+ 内容结构:
16369
+ - 状态
16370
+ - 用户故事
16371
+ - 验收标准(增强版)
16372
+ - 任务/子任务(带知识引用)
16373
+ - 开发者说明(知识融合版)
16374
+ - 测试说明
16375
+ - Knowledge References(新增)
16376
+ - 变更日志
16377
+ - 开发者代理记录
16378
+ - QA结果
16379
+ ```
16380
+
16381
+ ### 3.2 执行检查清单
16382
+
16383
+ ```yaml
16384
+ 检查清单:
16385
+ 执行: .xiaoma-core/checklists/story-draft-checklist.md
16386
+
16387
+ 额外检查项:
16388
+ 知识引用完整性:
16389
+ - [ ] 架构增量设计已引用
16390
+ - [ ] 相关业务规则已引用
16391
+ - [ ] 编码规范已引用
16392
+ - [ ] 约束条件已引用
16393
+
16394
+ 知识一致性:
16395
+ - [ ] AC与业务规则一致
16396
+ - [ ] 任务与架构设计一致
16397
+ - [ ] 技术选型与技术栈一致
16398
+ ```
16399
+
16400
+ ### 3.3 完成报告
16401
+
16402
+ ```yaml
16403
+ 完成报告:
16404
+ 格式: |
16405
+ ✅ 用户故事创建完成!
16406
+
16407
+ 📄 故事文件: {story_path}
16408
+ 📊 状态: Draft
16409
+ 🔢 Story编号: {epicNum}.{storyNum}
16410
+
16411
+ 📚 知识融合摘要:
16412
+ - 架构设计: {architecture_sections_used}
16413
+ - 业务规则: {business_rules_used}
16414
+ - 技术规范: {technical_specs_used}
16415
+ - 约束条件: {constraints_used}
16416
+
16417
+ 📋 任务概要:
16418
+ - 数据层任务: {data_task_count}
16419
+ - 接口层任务: {api_task_count}
16420
+ - 业务层任务: {business_task_count}
16421
+ - 测试任务: {test_task_count}
16422
+
16423
+ ✅ 检查清单: {checklist_result}
16424
+
16425
+ 🔄 下一步建议:
16426
+ - 审核故事: 请PO/用户审核后批准
16427
+ - 验证故事: 可执行 *validate-story 进行深度验证
16428
+ - 开始开发: 批准后执行 Dev智能体 *develop-story-with-rag
16429
+ ```
16430
+
16431
+ ---
16432
+
16433
+ ## 阻塞条件
16434
+
16435
+ ```yaml
16436
+ 阻塞条件:
16437
+ 必须停止:
16438
+ - PRD/Epic 文件不存在
16439
+ - 架构增量设计与PRD严重不一致
16440
+ - 关键业务规则缺失
16441
+
16442
+ 警告继续:
16443
+ - 部分知识文件缺失(记录后继续)
16444
+ - 上一个Story未完成(用户确认后继续)
16445
+ ```
16446
+
16447
+ ---
16448
+
16449
+ ## 使用说明
16450
+
16451
+ ### 激活命令
16452
+
16453
+ ```
16454
+ *draft-with-rag [epic_num] [story_num]
16455
+ ```
16456
+
16457
+ ### 执行参数
16458
+
16459
+ ```yaml
16460
+ 参数:
16461
+ epic_num: Epic编号 (可选,默认自动识别)
16462
+ story_num: Story编号 (可选,默认自动识别下一个)
16463
+ rag_path: RAG知识目录路径 (默认: docs/rag/)
16464
+ interactive: 交互模式 (默认: true)
16465
+ ```
16466
+
16467
+ ### 与原有命令的区别
16468
+
16469
+ | 命令 | 知识来源 | 适用场景 |
16470
+ |------|----------|----------|
16471
+ | `*draft` | 仅PRD + 架构文档 | 传统项目 |
16472
+ | `*draft-with-rag` | PRD + 知识库 + 架构增量设计 | 有知识库的项目 |
16473
+
16474
+ ---
16475
+
16476
+ ## 任务完成标志
16477
+
16478
+ ```yaml
16479
+ 完成条件:
16480
+ 必要输出:
16481
+ - Story文件已创建
16482
+ - Knowledge References已记录
16483
+ - 检查清单已执行
16484
+
16485
+ Story就绪标志:
16486
+ - 所有AC都有知识来源支撑
16487
+ - 所有任务都有技术参考
16488
+ - Dev Notes包含足够上下文
16489
+ - 知识引用索引完整
16490
+ ```
16491
+ ==================== END: .xiaoma-core/tasks/create-story-with-rag.md ====================
16492
+
16493
+ ==================== START: .xiaoma-core/templates/story-with-rag-tmpl.yaml ====================
16494
+ template:
16495
+ id: story-with-rag-template-v1
16496
+ name: 基于知识库的用户故事文档
16497
+ version: 1.0
16498
+ description: 融合知识库业务规则、技术规范和架构增量设计的用户故事模板
16499
+ output:
16500
+ format: markdown
16501
+ filename: docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md
16502
+ title: "Story {{epic_num}}.{{story_num}}: {{story_title_short}}"
16503
+
16504
+ workflow:
16505
+ mode: interactive
16506
+ elicitation: advanced-elicitation
16507
+ upstream:
16508
+ agents:
16509
+ - analyst # 提供需求分析报告和知识库
16510
+ - pm # 提供PRD文档
16511
+ - architect # 提供架构增量设计
16512
+ required_files:
16513
+ - docs/prd.md
16514
+ - docs/architecture-increment.md
16515
+ optional_files:
16516
+ - docs/rag/_analysis-report.md
16517
+ - docs/rag/business/*
16518
+ - docs/rag/technical/*
16519
+ - docs/rag/constraints/*
16520
+
16521
+ agent_config:
16522
+ editable_sections:
16523
+ - Status
16524
+ - Story
16525
+ - Acceptance Criteria
16526
+ - Tasks / Subtasks
16527
+ - Dev Notes
16528
+ - Testing
16529
+ - Knowledge References
16530
+ - Change Log
16531
+
16532
+ sections:
16533
+ - id: status
16534
+ title: 状态
16535
+ type: choice
16536
+ choices: [Draft, Approved, InProgress, Review, Done]
16537
+ instruction: 选择此用户故事的当前状态
16538
+ owner: scrum-master
16539
+ editors: [scrum-master, po-agent, dev-agent]
16540
+
16541
+ - id: story
16542
+ title: 用户故事
16543
+ type: template-text
16544
+ template: |
16545
+ **作为** {{role}},
16546
+ **我希望** {{action}},
16547
+ **以便** {{benefit}}
16548
+ instruction: |
16549
+ 使用标准格式定义用户故事。
16550
+ - 角色来源: docs/rag/_analysis-report.md#用户分析
16551
+ - 功能来源: PRD/Epic 中的 Story 定义
16552
+ - 价值来源: 需求分析报告中的业务目标
16553
+ elicit: true
16554
+ owner: scrum-master
16555
+ editors: [scrum-master]
16556
+
16557
+ - id: acceptance-criteria
16558
+ title: 验收标准
16559
+ type: numbered-list
16560
+ instruction: |
16561
+ 从 Epic 文件中复制验收标准,并融合知识库内容增强:
16562
+
16563
+ **增强规则**:
16564
+ 1. 检查每个AC是否有对应的业务规则 (docs/rag/business/rules-*.md)
16565
+ - 如有,将业务规则细节融入AC
16566
+ - 标注来源: (来源: business/rules-{name}.md)
16567
+
16568
+ 2. 检查每个AC是否涉及约束条件 (docs/rag/constraints/)
16569
+ - 如有安全要求,添加安全约束
16570
+ - 如有性能要求,添加性能指标
16571
+ - 标注来源: (来源: constraints/{name}.md)
16572
+
16573
+ **示例**:
16574
+ 1. 用户可以创建订单
16575
+ - 订单状态初始为"待支付" (来源: business/rules-order.md)
16576
+ - 订单号格式: ORD{yyyyMMdd}{6位序号} (来源: business/rules-order.md)
16577
+ - 接口响应时间 < 500ms (来源: constraints/performance.md)
16578
+ elicit: true
16579
+ owner: scrum-master
16580
+ editors: [scrum-master]
16581
+
16582
+ - id: tasks-subtasks
16583
+ title: 任务 / 子任务
16584
+ type: bullet-list
16585
+ instruction: |
16586
+ 基于架构增量设计 (docs/architecture-increment.md) 生成详细任务。
16587
+
16588
+ **任务生成规则**:
16589
+
16590
+ 1. **数据层任务** (如Story涉及数据模型):
16591
+ 来源: architecture-increment.md#数据模型增量设计
16592
+ ```
16593
+ - [ ] 创建/修改数据模型 (AC: {相关AC})
16594
+ - [ ] 创建实体类 [参考: architecture-increment.md#entity-detail]
16595
+ - [ ] 执行DDL脚本 [参考: architecture-increment.md#ddl-script]
16596
+ - [ ] 创建Mapper/Repository [遵循: coding-standards/]
16597
+ ```
16598
+
16599
+ 2. **接口层任务** (如Story涉及API):
16600
+ 来源: architecture-increment.md#接口增量设计
16601
+ ```
16602
+ - [ ] 实现API接口 (AC: {相关AC})
16603
+ - [ ] 创建Controller [参考: architecture-increment.md#api-detail]
16604
+ - [ ] 实现参数校验 [遵循: coding-standards/]
16605
+ - [ ] 实现响应格式 [参考: architecture-increment.md#response-design]
16606
+ ```
16607
+
16608
+ 3. **业务层任务** (如Story涉及业务逻辑):
16609
+ 来源: architecture-increment.md#模块增量设计
16610
+ ```
16611
+ - [ ] 实现业务逻辑 (AC: {相关AC})
16612
+ - [ ] 创建Service类 [参考: architecture-increment.md#class-design]
16613
+ - [ ] 实现业务规则 [参考: business/rules-{name}.md]
16614
+ ```
16615
+
16616
+ 4. **中间件任务** (如Story涉及缓存/消息):
16617
+ 来源: architecture-increment.md#中间件增量设计
16618
+ ```
16619
+ - [ ] 实现缓存逻辑 (AC: {相关AC})
16620
+ - [ ] Redis实现 [参考: architecture-increment.md#redis-design]
16621
+ - [ ] 代码示例 [参考: middleware/redis.md]
16622
+ ```
16623
+
16624
+ 5. **测试任务**:
16625
+ ```
16626
+ - [ ] 编写测试用例 (AC: ALL)
16627
+ - [ ] 单元测试 [遵循: coding-standards/testing]
16628
+ - [ ] 集成测试(如需要)
16629
+ ```
16630
+ template: |
16631
+ - [ ] 任务 1 (AC: #) [参考: {knowledge_ref}]
16632
+ - [ ] 子任务 1.1 [遵循: {standard_ref}]
16633
+ - [ ] 任务 2 (AC: #) [参考: {knowledge_ref}]
16634
+ - [ ] 子任务 2.1 [遵循: {standard_ref}]
16635
+ elicit: true
16636
+ owner: scrum-master
16637
+ editors: [scrum-master, dev-agent]
16638
+
16639
+ - id: dev-notes
16640
+ title: 开发者说明
16641
+ instruction: |
16642
+ 整合知识库内容,为开发者提供完整的技术上下文。
16643
+
16644
+ **来源整合**:
16645
+ - 架构设计: docs/architecture-increment.md
16646
+ - 编码规范: docs/rag/technical/coding-standards/
16647
+ - 模块结构: docs/rag/technical/module-structure.md
16648
+ - 中间件规范: docs/rag/technical/middleware/
16649
+ - 业务规则: docs/rag/business/rules-*.md
16650
+ - 约束条件: docs/rag/constraints/
16651
+
16652
+ **填充规则**:
16653
+ - 每个技术细节必须标注来源
16654
+ - 提供足够上下文使开发者无需阅读原始文档
16655
+ - 包含相关代码示例引用
16656
+ elicit: true
16657
+ owner: scrum-master
16658
+ editors: [scrum-master]
16659
+ sections:
16660
+ - id: previous-story-insights
16661
+ title: 上一个Story洞察
16662
+ instruction: |
16663
+ 从上一个Story的Dev Agent Record中提取关键信息:
16664
+ - 技术决策和实现方式
16665
+ - 遇到的问题和解决方案
16666
+ - 对当前Story的建议
16667
+ owner: scrum-master
16668
+ editors: [scrum-master]
16669
+
16670
+ - id: architecture-reference
16671
+ title: 架构设计参考
16672
+ instruction: |
16673
+ 从 docs/architecture-increment.md 提取与当前Story相关的设计:
13731
16674
 
13732
- - [ ] API参数与数据库字段对应
13733
- - [ ] 数据类型一致
13734
- - [ ] 业务规则与数据库约束匹配
13735
- - [ ] 接口设计符合RESTful规范
16675
+ **模块设计** [参考: architecture-increment.md#module-design]
16676
+ - 包结构: {提取的包结构}
16677
+ - 核心类: {提取的类列表}
13736
16678
 
13737
- #### 3.3 可实现性检查
16679
+ **数据模型** [参考: architecture-increment.md#data-model-design]
16680
+ - 表名: {table_name}
16681
+ - 核心字段: {fields}
16682
+ - DDL参考: {ddl_section_ref}
13738
16683
 
13739
- - [ ] 任务分解合理可执行
13740
- - [ ] 技术实现方案可行
13741
- - [ ] 测试覆盖充分
13742
- - [ ] 开发者说明详细
16684
+ **接口设计** [参考: architecture-increment.md#api-design]
16685
+ - 路径: {api_path}
16686
+ - 方法: {http_method}
16687
+ - 请求/响应参考: {api_detail_ref}
13743
16688
 
13744
- ### 4. 输出文件
16689
+ **中间件设计** [参考: architecture-increment.md#middleware-design]
16690
+ - Redis设计: {redis_ref}
16691
+ - MQ设计: {mq_ref}
16692
+ owner: scrum-master
16693
+ editors: [scrum-master]
13745
16694
 
13746
- 生成的用户故事文件:`docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md`
16695
+ - id: business-rules
16696
+ title: 业务规则
16697
+ instruction: |
16698
+ 从 docs/rag/business/rules-*.md 提取与当前Story相关的业务规则:
13747
16699
 
13748
- ### 5. 后续协作
16700
+ [参考: business/rules-{name}.md]
16701
+ - 规则1: {rule_description}
16702
+ - 规则2: {rule_description}
13749
16703
 
13750
- #### 5.1 与开发者协作
16704
+ 确保每条规则都标注来源文件。
16705
+ owner: scrum-master
16706
+ editors: [scrum-master]
13751
16707
 
13752
- - 确保开发者理解数据库设计和API规范
13753
- - 提供必要的技术支持和澄清
13754
- - 跟踪开发进度和问题解决
16708
+ - id: coding-standards
16709
+ title: 编码规范要点
16710
+ instruction: |
16711
+ 从 docs/rag/technical/coding-standards/ 提取关键规范:
13755
16712
 
13756
- #### 5.2 与QA协作
16713
+ [参考: coding-standards/]
16714
+ - 命名规范: {naming_rules}
16715
+ - 分层规范: {layer_rules}
16716
+ - 异常处理: {exception_rules}
16717
+ - 日志规范: {logging_rules}
16718
+ owner: scrum-master
16719
+ editors: [scrum-master]
13757
16720
 
13758
- - 明确测试重点和验收标准
13759
- - 提供API测试用例和数据
13760
- - 确保质量标准得到执行
16721
+ - id: middleware-usage
16722
+ title: 中间件使用
16723
+ condition: Story涉及中间件
16724
+ instruction: |
16725
+ 从 docs/rag/technical/middleware/ 提取使用规范和代码示例:
13761
16726
 
13762
- ## 模板使用示例
16727
+ **Redis** [参考: middleware/redis.md]
16728
+ - Key命名: {key_pattern}
16729
+ - 过期策略: {expiration}
16730
+ - 代码示例参考: middleware/redis.md#{section}
13763
16731
 
13764
- ### 示例:用户注册功能
16732
+ **MQ** [参考: middleware/mq.md]
16733
+ - Topic: {topic_name}
16734
+ - 消息格式: {message_format}
16735
+ - 代码示例参考: middleware/mq.md#{section}
16736
+ owner: scrum-master
16737
+ editors: [scrum-master]
13765
16738
 
13766
- **用户故事**:
16739
+ - id: constraints
16740
+ title: 约束条件
16741
+ instruction: |
16742
+ 从 docs/rag/constraints/ 提取相关约束:
13767
16743
 
13768
- > 作为新用户,我希望能够注册账户,以便使用系统的各项功能。
16744
+ **安全要求** [参考: constraints/security.md]
16745
+ - {security_requirements}
13769
16746
 
13770
- **相关实体**:
16747
+ **性能要求** [参考: constraints/performance.md]
16748
+ - {performance_requirements}
16749
+ owner: scrum-master
16750
+ editors: [scrum-master]
13771
16751
 
13772
- - Users表:存储用户基本信息
13773
- - UserProfiles表:存储用户详细资料
16752
+ - id: file-locations
16753
+ title: 文件位置
16754
+ instruction: |
16755
+ 从 docs/rag/technical/module-structure.md 提取文件位置规范:
16756
+
16757
+ [参考: module-structure.md]
16758
+ - Controller: {path}
16759
+ - Service: {path}
16760
+ - Mapper/Repository: {path}
16761
+ - Entity: {path}
16762
+ - Test: {path}
16763
+ owner: scrum-master
16764
+ editors: [scrum-master]
13774
16765
 
13775
- **涉及API**:
16766
+ - id: testing-standards
16767
+ title: 测试说明
16768
+ instruction: |
16769
+ 从 docs/rag/technical/coding-standards/ 提取测试规范:
16770
+
16771
+ [参考: coding-standards/testing]
16772
+ - 测试框架: {test_framework}
16773
+ - 测试文件位置: {test_file_location}
16774
+ - 测试场景:
16775
+ - 正常流程: {normal_scenarios}
16776
+ - 异常流程: {error_scenarios}
16777
+ - 边界条件: {edge_cases}
16778
+ elicit: true
16779
+ owner: scrum-master
16780
+ editors: [scrum-master]
13776
16781
 
13777
- - POST /api/users:创建用户账户
13778
- - POST /api/users/verify-email:验证邮箱
13779
- - GET /api/users/check-username:检查用户名可用性
16782
+ - id: knowledge-references
16783
+ title: 知识引用索引
16784
+ instruction: |
16785
+ 记录Story中引用的所有知识文件,便于追溯和验证。
16786
+
16787
+ | 知识文件 | 引用章节 | 应用位置 |
16788
+ |----------|----------|----------|
16789
+ | docs/architecture-increment.md | 模块设计 | 任务列表、Dev Notes |
16790
+ | docs/rag/business/rules-*.md | 业务规则 | AC增强、业务逻辑任务 |
16791
+ | docs/rag/technical/coding-standards/ | 编码规范 | Dev Notes |
16792
+ | docs/rag/technical/middleware/*.md | 中间件示例 | 中间件任务 |
16793
+ | docs/rag/constraints/*.md | 约束条件 | AC约束 |
16794
+ type: table
16795
+ columns: [知识文件, 引用章节, 应用位置]
16796
+ owner: scrum-master
16797
+ editors: [scrum-master, dev-agent]
13780
16798
 
13781
- **数据操作**:
16799
+ - id: change-log
16800
+ title: 变更日志
16801
+ type: table
16802
+ columns: [日期, 版本, 描述, 作者]
16803
+ instruction: 跟踪此用户故事文档的变更
16804
+ owner: scrum-master
16805
+ editors: [scrum-master, dev-agent, qa-agent]
13782
16806
 
13783
- - 插入用户基本信息到users表
13784
- - 验证用户名和邮箱的唯一性
13785
- - 创建用户会话信息
16807
+ - id: dev-agent-record
16808
+ title: 开发者代理记录
16809
+ instruction: 此部分由开发代理在实施过程中填充
16810
+ owner: dev-agent
16811
+ editors: [dev-agent]
16812
+ sections:
16813
+ - id: agent-model
16814
+ title: 使用的代理模型
16815
+ template: "{{agent_model_name_version}}"
16816
+ instruction: 记录用于开发的特定 AI 代理模型和版本
16817
+ owner: dev-agent
16818
+ editors: [dev-agent]
13786
16819
 
13787
- **API详细设计**:
16820
+ - id: debug-log-references
16821
+ title: 调试日志参考
16822
+ instruction: 引用开发过程中生成的任何调试日志或跟踪信息
16823
+ owner: dev-agent
16824
+ editors: [dev-agent]
13788
16825
 
13789
- ```json
13790
- // POST /api/users
13791
- {
13792
- "username": "johndoe",
13793
- "email": "john@example.com",
13794
- "password": "hashedPassword"
13795
- }
16826
+ - id: completion-notes
16827
+ title: 完成说明列表
16828
+ instruction: 关于任务完成情况和遇到的任何问题的说明
16829
+ owner: dev-agent
16830
+ editors: [dev-agent]
13796
16831
 
13797
- // 响应
13798
- {
13799
- "code": 200,
13800
- "message": "用户创建成功",
13801
- "data": {
13802
- "userId": 12345,
13803
- "username": "johndoe",
13804
- "email": "john@example.com",
13805
- "status": "active"
13806
- }
13807
- }
13808
- ```
16832
+ - id: file-list
16833
+ title: 文件列表
16834
+ instruction: 列出在用户故事实施过程中创建、修改或影响的所有文件
16835
+ owner: dev-agent
16836
+ editors: [dev-agent]
13809
16837
 
13810
- ## 注意事项
16838
+ - id: knowledge-usage-record
16839
+ title: 知识使用记录
16840
+ instruction: |
16841
+ 记录实际开发中使用的知识文件和参考内容:
16842
+ | 知识文件 | 使用内容 | 应用代码位置 |
16843
+ |----------|----------|--------------|
16844
+ type: table
16845
+ columns: [知识文件, 使用内容, 应用代码位置]
16846
+ owner: dev-agent
16847
+ editors: [dev-agent]
13811
16848
 
13812
- 1. **数据一致性**:确保API设计与数据库设计保持一致
13813
- 2. **安全性**:考虑数据验证、权限控制和敏感信息保护
13814
- 3. **性能**:关注查询效率和接口响应时间
13815
- 4. **可维护性**:保持代码结构清晰和文档完整
13816
- 5. **可测试性**:确保功能可以被充分测试
13817
- ==================== END: .xiaoma-core/tasks/create-enhanced-story-with-database.md ====================
16849
+ - id: qa-results
16850
+ title: QA 结果
16851
+ instruction: QA 代理对已完成的用户故事实施进行 QA 审查的结果
16852
+ owner: qa-agent
16853
+ editors: [qa-agent]
16854
+ ==================== END: .xiaoma-core/templates/story-with-rag-tmpl.yaml ====================
13818
16855
 
13819
16856
  ==================== START: .xiaoma-core/templates/enhanced-story-with-database-tmpl.yaml ====================
13820
16857
  template:
@@ -15265,6 +18302,545 @@ Fix plan:
15265
18302
  - Gate ownership remains with QA; Dev signals readiness via Status
15266
18303
  ==================== END: .xiaoma-core/tasks/apply-qa-fixes.md ====================
15267
18304
 
18305
+ ==================== START: .xiaoma-core/tasks/develop-story-with-rag.md ====================
18306
+ # 基于知识库的故事开发任务
18307
+
18308
+ ## Purpose
18309
+
18310
+ 基于知识库(`docs/rag/`)中的技术规范和架构增量设计文档(`docs/architecture-increment.md`),对用户故事进行标准化开发。确保开发过程中严格遵循项目技术规范、编码标准和架构设计。
18311
+
18312
+ ## 上游交接物
18313
+
18314
+ ```yaml
18315
+ 必需输入:
18316
+ 故事文件:
18317
+ - docs/project/stories/{epic}.{story}.*.md # 待开发的用户故事
18318
+
18319
+ 架构增量设计:
18320
+ - docs/architecture-increment.md # Architect生成的增量设计文档
18321
+
18322
+ 可选输入:
18323
+ 技术知识库:
18324
+ - docs/rag/technical/architecture.md # 现有技术架构
18325
+ - docs/rag/technical/tech-stack.md # 技术栈详情
18326
+ - docs/rag/technical/module-structure.md # 模块结构
18327
+ - docs/rag/technical/data-model.md # 数据模型
18328
+ - docs/rag/technical/coding-standards/ # 编码规范目录
18329
+ - docs/rag/technical/middleware/ # 中间件规范目录
18330
+ - docs/rag/technical/sql-standards/ # SQL规范目录
18331
+
18332
+ 约束条件:
18333
+ - docs/rag/constraints/security.md # 安全要求
18334
+ - docs/rag/constraints/performance.md # 性能要求
18335
+
18336
+ PRD文档:
18337
+ - docs/prd.md # PRD文档(可选参考)
18338
+ ```
18339
+
18340
+ ## Workflow Overview
18341
+
18342
+ ```
18343
+ 故事文件 + 知识库 + 架构增量设计 → 知识加载 → 任务实现 → 规范校验 → 测试验证 → 故事更新
18344
+ ```
18345
+
18346
+ ---
18347
+
18348
+ ## Phase 0: 知识上下文加载
18349
+
18350
+ ### 0.1 验证上游交接物
18351
+
18352
+ ```yaml
18353
+ 执行步骤:
18354
+ 步骤1_检查故事文件:
18355
+ 动作: 确认故事文件存在且状态为可开发
18356
+ 验证项:
18357
+ - 故事文件路径有效
18358
+ - 故事状态不是 Draft
18359
+ - 任务列表已定义
18360
+ 缺失处理: |
18361
+ 如果故事文件缺失或状态不对,提示:
18362
+ "故事文件未就绪。请先确认故事状态,或执行 PM 智能体完善故事定义。"
18363
+
18364
+ 步骤2_检查架构增量设计:
18365
+ 动作: 检查 docs/architecture-increment.md 是否存在
18366
+ 提取内容:
18367
+ - 与当前故事相关的模块设计
18368
+ - 数据模型变动
18369
+ - 接口设计
18370
+ - 中间件设计
18371
+ 缺失处理: |
18372
+ 如果架构增量设计不存在:
18373
+ - 检查是否有传统架构文档可用
18374
+ - 提示用户是否继续(使用通用规范)或先生成架构设计
18375
+
18376
+ 步骤3_加载技术知识库:
18377
+ 动作: 扫描并加载 docs/rag/technical/ 目录
18378
+ 加载策略:
18379
+ - 按需加载:仅加载与当前任务相关的规范文件
18380
+ - 优先级:编码规范 > 中间件规范 > SQL规范
18381
+ 关键文件:
18382
+ - docs/rag/technical/coding-standards/ # 编码规范(必须)
18383
+ - docs/rag/technical/module-structure.md # 模块结构(必须)
18384
+ - docs/rag/technical/middleware/ # 中间件规范(按需)
18385
+ - docs/rag/technical/sql-standards/ # SQL规范(按需)
18386
+ ```
18387
+
18388
+ ### 0.2 知识上下文整合
18389
+
18390
+ ```yaml
18391
+ 整合输出:
18392
+ 开发上下文:
18393
+ 架构设计:
18394
+ 来源: docs/architecture-increment.md
18395
+ 提取: 与当前Story相关的设计章节
18396
+ 内容:
18397
+ - 模块设计(包结构、类设计)
18398
+ - 数据模型设计(表结构、DDL)
18399
+ - 接口设计(API定义)
18400
+ - 中间件设计(Redis/MQ/定时任务)
18401
+
18402
+ 编码规范:
18403
+ 来源: docs/rag/technical/coding-standards/
18404
+ 内容:
18405
+ - 命名规范(类/方法/变量/常量)
18406
+ - 分层规范(Controller/Service/DAO)
18407
+ - 异常处理规范
18408
+ - 日志规范
18409
+
18410
+ 模块结构:
18411
+ 来源: docs/rag/technical/module-structure.md
18412
+ 内容:
18413
+ - 包结构规范
18414
+ - 分层结构
18415
+ - 模块依赖关系
18416
+
18417
+ 中间件规范:
18418
+ 来源: docs/rag/technical/middleware/
18419
+ 内容:
18420
+ - Redis使用规范和代码示例
18421
+ - MQ使用规范和代码示例
18422
+ - 定时任务规范和代码示例
18423
+
18424
+ SQL规范:
18425
+ 来源: docs/rag/technical/sql-standards/
18426
+ 内容:
18427
+ - 表设计规范
18428
+ - 索引设计规范
18429
+ - 查询优化规范
18430
+
18431
+ 约束条件:
18432
+ 来源: docs/rag/constraints/
18433
+ 内容:
18434
+ - 安全要求(来自 security.md)
18435
+ - 性能要求(来自 performance.md)
18436
+ ```
18437
+
18438
+ ---
18439
+
18440
+ ## Phase 1: 任务分析与规范匹配
18441
+
18442
+ ### 1.1 任务类型识别
18443
+
18444
+ ```yaml
18445
+ 任务类型识别:
18446
+ 数据模型任务:
18447
+ 识别标志: 创建表、修改表、添加字段、创建索引
18448
+ 关联规范:
18449
+ - docs/rag/technical/sql-standards/ # SQL规范
18450
+ - docs/rag/technical/data-model.md # 数据模型
18451
+ - docs/architecture-increment.md#数据模型增量设计
18452
+
18453
+ 接口开发任务:
18454
+ 识别标志: 创建API、修改接口、添加端点
18455
+ 关联规范:
18456
+ - docs/rag/technical/coding-standards/ # 编码规范
18457
+ - docs/architecture-increment.md#接口增量设计
18458
+
18459
+ 业务逻辑任务:
18460
+ 识别标志: 实现Service、业务流程、校验逻辑
18461
+ 关联规范:
18462
+ - docs/rag/technical/coding-standards/ # 编码规范
18463
+ - docs/rag/technical/module-structure.md # 模块结构
18464
+ - docs/architecture-increment.md#模块增量设计
18465
+
18466
+ 中间件任务:
18467
+ 识别标志: 缓存、消息队列、定时任务
18468
+ 关联规范:
18469
+ - docs/rag/technical/middleware/redis.md # Redis规范
18470
+ - docs/rag/technical/middleware/mq.md # MQ规范
18471
+ - docs/rag/technical/middleware/scheduler.md # 定时任务规范
18472
+ - docs/architecture-increment.md#中间件增量设计
18473
+
18474
+ 前端任务:
18475
+ 识别标志: 组件、页面、交互
18476
+ 关联规范:
18477
+ - docs/rag/technical/coding-standards/ # 前端编码规范
18478
+ - docs/architecture-increment.md#前端设计(如有)
18479
+ ```
18480
+
18481
+ ### 1.2 规范加载策略
18482
+
18483
+ ```yaml
18484
+ 加载策略:
18485
+ 按任务类型加载:
18486
+ 原则: 仅加载当前任务所需的规范文件
18487
+ 避免: 一次性加载所有规范导致上下文过载
18488
+
18489
+ 加载顺序:
18490
+ 1. 架构增量设计中的相关章节
18491
+ 2. 编码规范(通用)
18492
+ 3. 任务特定规范(SQL/中间件等)
18493
+ 4. 约束条件(安全/性能)
18494
+
18495
+ 缓存策略:
18496
+ - 会话内缓存已加载的规范
18497
+ - 跨任务复用通用规范
18498
+ ```
18499
+
18500
+ ---
18501
+
18502
+ ## Phase 2: 任务实现
18503
+
18504
+ ### 2.1 实现前检查
18505
+
18506
+ ```yaml
18507
+ 实现前检查:
18508
+ 检查项:
18509
+ 架构对齐:
18510
+ - 当前任务在架构增量设计中是否有对应设计
18511
+ - 包结构是否与 module-structure.md 一致
18512
+ - 类命名是否遵循编码规范
18513
+
18514
+ 数据模型对齐:
18515
+ - 表结构是否与架构设计一致
18516
+ - 字段定义是否符合SQL规范
18517
+ - 索引设计是否合理
18518
+
18519
+ 接口对齐:
18520
+ - API路径是否与架构设计一致
18521
+ - 请求/响应格式是否符合规范
18522
+ - 错误码是否按规范定义
18523
+
18524
+ 不一致处理:
18525
+ - 记录偏差到 Debug Log
18526
+ - 如有重大偏差,暂停并询问用户
18527
+ ```
18528
+
18529
+ ### 2.2 代码实现规范
18530
+
18531
+ ```yaml
18532
+ 代码实现规范:
18533
+ 命名规范:
18534
+ 来源: docs/rag/technical/coding-standards/
18535
+ 要求:
18536
+ - Controller: {Module}Controller
18537
+ - Service: {Module}Service / {Module}ServiceImpl
18538
+ - DAO: {Module}Mapper / {Module}Repository
18539
+ - Entity: {Entity}
18540
+ - DTO: {Entity}DTO / {Entity}VO / {Entity}Request / {Entity}Response
18541
+
18542
+ 分层规范:
18543
+ 来源: docs/rag/technical/coding-standards/
18544
+ 要求:
18545
+ - Controller: 仅处理请求/响应,不含业务逻辑
18546
+ - Service: 业务逻辑层,事务管理
18547
+ - DAO: 数据访问层,仅数据操作
18548
+ - 禁止: 跨层调用、循环依赖
18549
+
18550
+ 异常处理:
18551
+ 来源: docs/rag/technical/coding-standards/
18552
+ 要求:
18553
+ - 使用统一异常类
18554
+ - 业务异常与系统异常分离
18555
+ - 异常信息包含上下文
18556
+
18557
+ 日志规范:
18558
+ 来源: docs/rag/technical/coding-standards/
18559
+ 要求:
18560
+ - 关键操作必须有日志
18561
+ - 日志级别正确使用
18562
+ - 敏感信息脱敏
18563
+ ```
18564
+
18565
+ ### 2.3 中间件使用规范
18566
+
18567
+ ```yaml
18568
+ 中间件使用规范:
18569
+ Redis使用:
18570
+ 来源: docs/rag/technical/middleware/redis.md
18571
+ 规范:
18572
+ - Key命名: {业务}:{模块}:{标识}
18573
+ - 必须设置过期时间
18574
+ - 使用正确的数据结构
18575
+ - 参考知识库中的代码示例
18576
+
18577
+ MQ使用:
18578
+ 来源: docs/rag/technical/middleware/mq.md
18579
+ 规范:
18580
+ - Topic命名规范
18581
+ - 消息格式标准化
18582
+ - 消费者幂等处理
18583
+ - 参考知识库中的代码示例
18584
+
18585
+ 定时任务:
18586
+ 来源: docs/rag/technical/middleware/scheduler.md
18587
+ 规范:
18588
+ - 任务命名规范
18589
+ - 分布式锁使用
18590
+ - 异常处理
18591
+ - 参考知识库中的代码示例
18592
+ ```
18593
+
18594
+ ### 2.4 SQL实现规范
18595
+
18596
+ ```yaml
18597
+ SQL实现规范:
18598
+ 表设计:
18599
+ 来源: docs/rag/technical/sql-standards/
18600
+ 规范:
18601
+ - 表名小写下划线
18602
+ - 主键统一命名
18603
+ - 必须有创建/更新时间字段
18604
+ - 必须有表和字段注释
18605
+
18606
+ 索引设计:
18607
+ 来源: docs/rag/technical/sql-standards/
18608
+ 规范:
18609
+ - 索引命名: idx_{表名}_{字段}
18610
+ - 唯一索引: uk_{表名}_{字段}
18611
+ - 避免冗余索引
18612
+
18613
+ 查询规范:
18614
+ 来源: docs/rag/technical/sql-standards/
18615
+ 规范:
18616
+ - 禁止 SELECT *
18617
+ - 分页必须有限制
18618
+ - 避免大事务
18619
+ ```
18620
+
18621
+ ---
18622
+
18623
+ ## Phase 3: 实现过程中的规范校验
18624
+
18625
+ ### 3.1 实时校验点
18626
+
18627
+ ```yaml
18628
+ 校验点:
18629
+ 代码创建时:
18630
+ - 文件路径是否符合 module-structure.md
18631
+ - 类名是否符合命名规范
18632
+ - 包声明是否正确
18633
+
18634
+ 代码编写时:
18635
+ - 方法命名是否规范
18636
+ - 异常处理是否符合规范
18637
+ - 日志打印是否规范
18638
+
18639
+ 代码完成时:
18640
+ - 是否遵循分层规范
18641
+ - 是否有必要的注释
18642
+ - 是否处理了边界情况
18643
+ ```
18644
+
18645
+ ### 3.2 规范偏差处理
18646
+
18647
+ ```yaml
18648
+ 偏差处理:
18649
+ 轻微偏差:
18650
+ 定义: 命名风格略有差异、注释不够详细
18651
+ 处理: 记录到 Debug Log,继续执行
18652
+
18653
+ 中等偏差:
18654
+ 定义: 分层不清晰、缺少必要校验
18655
+ 处理: 立即修正,记录到 Completion Notes
18656
+
18657
+ 严重偏差:
18658
+ 定义: 架构不一致、安全风险
18659
+ 处理: 暂停开发,询问用户确认
18660
+ ```
18661
+
18662
+ ---
18663
+
18664
+ ## Phase 4: 测试与验证
18665
+
18666
+ ### 4.1 测试要求
18667
+
18668
+ ```yaml
18669
+ 测试要求:
18670
+ 单元测试:
18671
+ - Service层必须有单元测试
18672
+ - 覆盖正常流程和异常流程
18673
+ - Mock外部依赖
18674
+
18675
+ 集成测试:
18676
+ - API接口必须有集成测试
18677
+ - 数据库操作必须验证
18678
+
18679
+ 验收标准验证:
18680
+ - 逐条验证故事中的AC
18681
+ - 记录验证结果
18682
+ ```
18683
+
18684
+ ### 4.2 规范合规检查
18685
+
18686
+ ```yaml
18687
+ 合规检查:
18688
+ 代码规范检查:
18689
+ 执行: lint工具检查
18690
+ 标准: docs/rag/technical/coding-standards/
18691
+
18692
+ 安全检查:
18693
+ 执行: 安全扫描(如配置)
18694
+ 标准: docs/rag/constraints/security.md
18695
+
18696
+ 性能检查:
18697
+ 执行: 性能测试(如需要)
18698
+ 标准: docs/rag/constraints/performance.md
18699
+ ```
18700
+
18701
+ ---
18702
+
18703
+ ## Phase 5: 故事文件更新
18704
+
18705
+ ### 5.1 允许更新的部分
18706
+
18707
+ ```yaml
18708
+ 允许更新部分:
18709
+ 任务状态:
18710
+ - Tasks / Subtasks 复选框标记为 [x]
18711
+
18712
+ Dev Agent Record:
18713
+ - Agent Model Used: 使用的模型
18714
+ - Debug Log References: 调试日志
18715
+ - Completion Notes List: 完成说明
18716
+ - File List: 新增/修改/删除的文件
18717
+ - Knowledge References: 【新增】引用的知识文件
18718
+
18719
+ Change Log:
18720
+ - 新增变更日志条目
18721
+
18722
+ Status:
18723
+ - 更新为 Ready for Review
18724
+ ```
18725
+
18726
+ ### 5.2 知识引用记录
18727
+
18728
+ ```yaml
18729
+ 知识引用记录:
18730
+ 格式:
18731
+ ## Knowledge References
18732
+
18733
+ | 知识文件 | 引用内容 | 应用位置 |
18734
+ |----------|----------|----------|
18735
+ | docs/rag/technical/coding-standards/naming.md | 类命名规范 | UserController.java |
18736
+ | docs/rag/technical/middleware/redis.md | 缓存实现示例 | UserCacheService.java |
18737
+ | docs/architecture-increment.md#用户模块设计 | 模块设计 | user/ 目录结构 |
18738
+
18739
+ 目的:
18740
+ - 便于代码审查时验证规范遵循
18741
+ - 便于后续维护时理解实现依据
18742
+ - 建立代码与知识库的可追溯关系
18743
+ ```
18744
+
18745
+ ---
18746
+
18747
+ ## 执行顺序总结
18748
+
18749
+ ```yaml
18750
+ 执行顺序:
18751
+ order-of-execution: |
18752
+ 1. 加载知识上下文
18753
+ - 读取架构增量设计 (docs/architecture-increment.md)
18754
+ - 读取相关编码规范 (docs/rag/technical/coding-standards/)
18755
+ - 读取任务相关规范 (按需)
18756
+
18757
+ 2. 读取当前任务
18758
+ - 分析任务类型
18759
+ - 匹配相关规范
18760
+ - 提取架构设计中的对应章节
18761
+
18762
+ 3. 实现任务
18763
+ - 按照规范创建代码文件
18764
+ - 遵循命名和分层规范
18765
+ - 参考中间件代码示例
18766
+
18767
+ 4. 编写测试
18768
+ - 按照测试规范编写
18769
+ - 覆盖正常和异常流程
18770
+
18771
+ 5. 执行验证
18772
+ - 运行lint检查
18773
+ - 运行测试
18774
+ - 验证AC
18775
+
18776
+ 6. 更新故事文件
18777
+ - 标记任务完成 [x]
18778
+ - 更新 File List
18779
+ - 记录 Knowledge References
18780
+ - 更新 Completion Notes
18781
+
18782
+ 7. 重复直至完成所有任务
18783
+
18784
+ 8. 最终检查
18785
+ - 执行 story-dod-checklist
18786
+ - 验证所有规范遵循
18787
+ - 设置状态为 Ready for Review
18788
+ ```
18789
+
18790
+ ---
18791
+
18792
+ ## 阻塞条件
18793
+
18794
+ ```yaml
18795
+ 阻塞条件:
18796
+ 暂停情况:
18797
+ - 架构增量设计与故事任务严重不一致
18798
+ - 知识库规范相互冲突
18799
+ - 安全约束无法满足
18800
+ - 连续3次实现失败
18801
+ - 需要未批准的依赖
18802
+
18803
+ 处理方式:
18804
+ - 记录问题到 Debug Log
18805
+ - 暂停并询问用户
18806
+ - 等待用户确认后继续
18807
+ ```
18808
+
18809
+ ---
18810
+
18811
+ ## 完成标志
18812
+
18813
+ ```yaml
18814
+ 完成条件:
18815
+ 必要条件:
18816
+ - 所有任务和子任务标记为 [x]
18817
+ - 所有测试通过
18818
+ - lint检查通过
18819
+ - 验收标准全部满足
18820
+ - Knowledge References 已记录
18821
+
18822
+ 完成提示: |
18823
+ ✅ 故事开发完成!
18824
+
18825
+ 📄 故事文件: {story_path}
18826
+ 📊 任务完成: {completed_tasks}/{total_tasks}
18827
+ 🧪 测试状态: 全部通过
18828
+
18829
+ 📚 知识引用:
18830
+ - 编码规范: docs/rag/technical/coding-standards/
18831
+ - 架构设计: docs/architecture-increment.md
18832
+ - 中间件规范: {middleware_refs}
18833
+
18834
+ 📁 文件变更:
18835
+ - 新增: {new_files}
18836
+ - 修改: {modified_files}
18837
+ - 删除: {deleted_files}
18838
+
18839
+ 🔄 下一步:
18840
+ - QA审查: 请QA执行 *review-story
18841
+ - 代码审查: 请进行代码评审
18842
+ ==================== END: .xiaoma-core/tasks/develop-story-with-rag.md ====================
18843
+
15268
18844
  ==================== START: .xiaoma-core/checklists/story-dod-checklist.md ====================
15269
18845
  <!-- Powered by XiaoMa™ Core -->
15270
18846