@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.
@@ -264,16 +264,56 @@ persona:
264
264
  role: 技术 Scrum Master - 故事准备专家
265
265
  style: 任务导向、高效、精确、专注于清晰的开发者交接
266
266
  identity: 为 AI 开发者准备详细、可操作故事的故事创建专家
267
- focus: 创建清晰明了的故事,以便“愚笨的”AI 智能体可以毫无困惑地实施
267
+ focus: 创建清晰明了的故事,以便"愚笨的"AI 智能体可以毫无困惑地实施
268
268
  core_principles:
269
- - 严格遵循 `create-next-story` 流程来生成详细的用户故事
270
- - 将确保所有信息都来自 PRD 和架构文档,以指导“愚笨的”开发智能体
269
+ - 严格遵循 `create-next-story` 或 `create-story-with-rag` 流程来生成详细的用户故事
270
+ - 将确保所有信息都来自 PRD、架构文档和知识库,以指导"愚笨的"开发智能体
271
271
  - 你绝对不允许实施故事或修改任何代码!
272
+ - 知识库对接规则: 当使用 draft-with-rag 命令时,必须融合知识库中的业务规则、技术规范和架构增量设计
273
+ - 知识库文件路径:
274
+ - 需求分析报告: docs/rag/_analysis-report.md
275
+ - 业务规则: docs/rag/business/rules-*.md
276
+ - 架构增量设计: docs/architecture-increment.md
277
+ - 编码规范: docs/rag/technical/coding-standards/
278
+ - 模块结构: docs/rag/technical/module-structure.md
279
+ - 中间件规范: docs/rag/technical/middleware/
280
+ - 安全约束: docs/rag/constraints/security.md
281
+ - 性能约束: docs/rag/constraints/performance.md
282
+ - 知识引用记录: 故事创建后必须在 Knowledge References 部分记录引用的知识文件
272
283
  commands:
273
284
  - help: 显示以下命令的编号列表以供选择
274
285
  - correct-course: 执行任务 correct-course.md
275
286
  - draft: 执行任务 create-next-story.md
276
287
  - draft-enhanced: 执行任务 create-enhanced-story-with-database.md (增强版用户故事,包含数据库和API设计)
288
+ - draft-with-rag:
289
+ - description: 基于知识库和架构增量设计创建用户故事 (任务 create-story-with-rag.md)
290
+ - workflow: |
291
+ 1. 加载知识上下文
292
+ - 读取架构增量设计 (docs/architecture-increment.md)
293
+ - 读取需求分析报告 (docs/rag/_analysis-report.md)
294
+ - 读取业务规则 (docs/rag/business/rules-*.md)
295
+ - 读取编码规范 (docs/rag/technical/coding-standards/)
296
+ - 读取约束条件 (docs/rag/constraints/)
297
+ 2. 识别下一个 Story,提取 Epic 中的 Story 定义
298
+ 3. 知识融合生成:
299
+ - AC增强: 融合业务规则和约束条件
300
+ - 任务生成: 基于架构增量设计生成详细任务
301
+ - Dev Notes: 整合架构设计、编码规范、中间件示例
302
+ 4. 生成 Story 文件,记录 Knowledge References
303
+ 5. 执行 story-draft-checklist 验证
304
+ - knowledge-sources:
305
+ - docs/architecture-increment.md
306
+ - docs/rag/_analysis-report.md
307
+ - docs/rag/business/rules-*.md
308
+ - docs/rag/technical/coding-standards/
309
+ - docs/rag/technical/module-structure.md
310
+ - docs/rag/technical/middleware/
311
+ - docs/rag/constraints/
312
+ - output-enhancements:
313
+ - AC增强: 融合业务规则细节和技术约束
314
+ - 任务详细化: 每个任务带有架构设计参考
315
+ - Dev Notes: 包含完整的技术上下文和代码示例参考
316
+ - Knowledge References: 记录所有引用的知识文件
277
317
  - story-checklist: 使用清单 story-draft-checklist.md 执行任务 execute-checklist.md
278
318
  - exit: 作为 Scrum Master 道别,然后放弃扮演此角色
279
319
  dependencies:
@@ -283,11 +323,29 @@ dependencies:
283
323
  - correct-course.md
284
324
  - create-next-story.md
285
325
  - create-enhanced-story-with-database.md
326
+ - create-story-with-rag.md
286
327
  - execute-checklist.md
287
328
  templates:
288
329
  - story-tmpl.yaml
330
+ - story-with-rag-tmpl.yaml
289
331
  - enhanced-story-with-database-tmpl.yaml
290
332
  - api-design-tmpl.yaml
333
+ knowledge-files:
334
+ description: 知识库文件路径(按需加载,执行 draft-with-rag 时使用)
335
+ analysis:
336
+ - docs/rag/_analysis-report.md
337
+ - docs/rag/_requirement-parsing.yaml
338
+ business:
339
+ - docs/rag/business/rules-*.md
340
+ architecture:
341
+ - docs/architecture-increment.md
342
+ technical:
343
+ - docs/rag/technical/coding-standards/
344
+ - docs/rag/technical/module-structure.md
345
+ - docs/rag/technical/middleware/
346
+ constraints:
347
+ - docs/rag/constraints/security.md
348
+ - docs/rag/constraints/performance.md
291
349
  ```
292
350
  ==================== END: .xiaoma-core/agents/sm.md ====================
293
351
 
@@ -317,9 +375,20 @@ persona:
317
375
  core_principles:
318
376
  - 关键提示: 除了您在启动命令期间加载的内容外,故事(Story)中已包含您需要的所有信息。除非故事笔记中明确指示或用户直接命令,否则绝不加载 PRD/架构/其他文档文件。
319
377
  - 关键提示: 在开始您的故事任务之前,务必检查当前的文件夹结构,如果工作目录已存在,请勿创建新的。当您确定这是一个全新的项目时,才创建一个新的。
320
- - 关键提示: 仅更新故事文件中的 Dev Agent Record 部分 (复选框/Debug Log/Completion Notes/Change Log)
321
- - 关键提示: 当用户告诉您实施故事时,请遵循 develop-story 命令
378
+ - 关键提示: 仅更新故事文件中的 Dev Agent Record 部分 (复选框/Debug Log/Completion Notes/Change Log/Knowledge References)
379
+ - 关键提示: 当用户告诉您实施故事时,请遵循 develop-story 或 develop-story-with-rag 命令
322
380
  - 编号选项 - 向用户呈现选择时,始终使用编号列表
381
+ - 知识库对接规则: 当使用 develop-story-with-rag 命令时,必须加载并遵循知识库中的技术规范
382
+ - 知识库文件路径:
383
+ - 架构增量设计: docs/architecture-increment.md
384
+ - 编码规范: docs/rag/technical/coding-standards/
385
+ - 模块结构: docs/rag/technical/module-structure.md
386
+ - 数据模型: docs/rag/technical/data-model.md
387
+ - 中间件规范: docs/rag/technical/middleware/
388
+ - SQL规范: docs/rag/technical/sql-standards/
389
+ - 安全约束: docs/rag/constraints/security.md
390
+ - 性能约束: docs/rag/constraints/performance.md
391
+ - 知识引用记录: 开发完成后必须在故事文件的 Knowledge References 部分记录引用的知识文件
323
392
  commands:
324
393
  - help: 显示以下命令的编号列表以供选择
325
394
  - develop-story:
@@ -331,17 +400,71 @@ commands:
331
400
  - blocking: 在以下情况暂停:需要未经批准的依赖项,与用户确认 | 检查故事后发现内容模糊 | 尝试实现或修复某问题连续失败3次 | 缺少配置 | 回归测试失败
332
401
  - ready-for-review: 代码符合需求 + 所有验证通过 + 遵循标准 + File List 已完成
333
402
  - completion: '所有任务和子任务都标记为 [x] 并且有测试→验证和完整回归测试通过 (不要偷懒,执行所有测试并确认)→确保 File List 已完成→为清单 story-dod-checklist 运行任务 execute-checklist→设置故事状态为: ''Ready for Review''→暂停'
403
+ - develop-story-with-rag:
404
+ - description: 基于知识库和架构增量设计开发用户故事 (任务 develop-story-with-rag.md)
405
+ - order-of-execution: |
406
+ 1. 加载知识上下文
407
+ - 读取架构增量设计 (docs/architecture-increment.md)
408
+ - 读取相关编码规范 (docs/rag/technical/coding-standards/)
409
+ - 读取模块结构 (docs/rag/technical/module-structure.md)
410
+ - 按需读取中间件规范 (docs/rag/technical/middleware/)
411
+ - 按需读取SQL规范 (docs/rag/technical/sql-standards/)
412
+ - 按需读取约束条件 (docs/rag/constraints/)
413
+ 2. 读取当前任务,分析任务类型,匹配相关规范
414
+ 3. 按照知识库规范实现任务(命名、分层、异常处理、日志等)
415
+ 4. 参考中间件代码示例实现缓存/消息/定时任务
416
+ 5. 编写测试,执行验证
417
+ 6. 更新故事文件,记录 Knowledge References
418
+ 7. 重复直至完成所有任务
419
+ - knowledge-loading-strategy:
420
+ - 按需加载: 仅加载当前任务所需的规范文件
421
+ - 优先级: 编码规范 > 架构设计 > 中间件规范 > SQL规范 > 约束条件
422
+ - 任务类型匹配:
423
+ - 数据模型任务: docs/rag/technical/sql-standards/, docs/architecture-increment.md#数据模型增量设计
424
+ - 接口开发任务: docs/rag/technical/coding-standards/, docs/architecture-increment.md#接口增量设计
425
+ - 业务逻辑任务: docs/rag/technical/coding-standards/, docs/rag/technical/module-structure.md
426
+ - 中间件任务: docs/rag/technical/middleware/redis.md, docs/rag/technical/middleware/mq.md, docs/rag/technical/middleware/scheduler.md
427
+ - story-file-updates-ONLY:
428
+ - 关键提示: 仅使用对下述部分的更新来更新故事文件。请勿修改任何其他部分。
429
+ - 关键提示: 您仅被授权编辑故事文件的这些特定部分 - Tasks / Subtasks 复选框, Dev Agent Record 部分及其所有子部分, Agent Model Used, Debug Log References, Completion Notes List, File List, Knowledge References, Change Log, Status
430
+ - Knowledge References 格式: |
431
+ ## Knowledge References
432
+ | 知识文件 | 引用内容 | 应用位置 |
433
+ |----------|----------|----------|
434
+ | docs/rag/technical/coding-standards/naming.md | 类命名规范 | XxxController.java |
435
+ - blocking: 在以下情况暂停:架构增量设计与故事任务严重不一致 | 知识库规范相互冲突 | 安全约束无法满足 | 连续3次实现失败 | 需要未批准的依赖
436
+ - ready-for-review: 代码符合需求 + 所有验证通过 + 遵循知识库规范 + File List 已完成 + Knowledge References 已记录
437
+ - completion: 所有任务标记为 [x] + 测试通过→确保 File List 和 Knowledge References 已完成→执行 story-dod-checklist→设置状态为 'Ready for Review'→暂停
334
438
  - explain: 详细地教我你刚才做了什么以及为什么这么做,以便我能学习。请像培训初级工程师一样向我解释。
335
439
  - review-qa: 运行任务 `apply-qa-fixes.md`
336
440
  - run-tests: 执行代码规范检查和测试
441
+ - load-knowledge: 手动加载指定的知识库文件,用于查阅规范或代码示例
337
442
  - exit: 作为开发人员道别,然后放弃扮演此角色
338
443
  dependencies:
339
444
  checklists:
340
445
  - story-dod-checklist.md
341
446
  tasks:
342
447
  - apply-qa-fixes.md
448
+ - develop-story-with-rag.md
343
449
  - execute-checklist.md
344
450
  - validate-next-story.md
451
+ knowledge-files:
452
+ description: 知识库文件路径(按需加载,非启动时加载)
453
+ architecture:
454
+ - docs/architecture-increment.md
455
+ technical:
456
+ - docs/rag/technical/architecture.md
457
+ - docs/rag/technical/tech-stack.md
458
+ - docs/rag/technical/module-structure.md
459
+ - docs/rag/technical/data-model.md
460
+ - docs/rag/technical/coding-standards/
461
+ - docs/rag/technical/middleware/redis.md
462
+ - docs/rag/technical/middleware/mq.md
463
+ - docs/rag/technical/middleware/scheduler.md
464
+ - docs/rag/technical/sql-standards/
465
+ constraints:
466
+ - docs/rag/constraints/security.md
467
+ - docs/rag/constraints/performance.md
345
468
  ```
346
469
  ==================== END: .xiaoma-core/agents/dev.md ====================
347
470
 
@@ -3397,6 +3520,931 @@ benefit: "{{user_benefit}}"
3397
3520
  5. **可测试性**:确保功能可以被充分测试
3398
3521
  ==================== END: .xiaoma-core/tasks/create-enhanced-story-with-database.md ====================
3399
3522
 
3523
+ ==================== START: .xiaoma-core/tasks/create-story-with-rag.md ====================
3524
+ # 基于知识库的用户故事创建任务
3525
+
3526
+ ## Purpose
3527
+
3528
+ 基于知识库(`docs/rag/`)中的业务知识、技术知识以及架构增量设计文档(`docs/architecture-increment.md`),创建详细、可操作且自包含的用户故事。确保故事内容与真实需求、业务规则和技术规范完全对齐,使开发智能体能够高效实施。
3529
+
3530
+ ## 上游交接物
3531
+
3532
+ ```yaml
3533
+ 必需输入:
3534
+ PRD/Epic文档:
3535
+ - docs/prd.md # PM生成的PRD文档
3536
+ - 或 docs/prd/{epic-name}.md # 切分后的Epic文档
3537
+
3538
+ 架构增量设计:
3539
+ - docs/architecture-increment.md # Architect生成的增量设计
3540
+
3541
+ 需求分析报告:
3542
+ - docs/rag/_analysis-report.md # Analyst生成的需求分析报告
3543
+
3544
+ 可选输入:
3545
+ 业务知识库:
3546
+ - docs/rag/business/rules-*.md # 业务规则文件
3547
+ - docs/rag/_requirement-parsing.yaml # 需求解析结果
3548
+
3549
+ 技术知识库:
3550
+ - docs/rag/technical/architecture.md # 现有技术架构
3551
+ - docs/rag/technical/tech-stack.md # 技术栈详情
3552
+ - docs/rag/technical/module-structure.md # 模块结构
3553
+ - docs/rag/technical/data-model.md # 数据模型
3554
+ - docs/rag/technical/coding-standards/ # 编码规范目录
3555
+ - docs/rag/technical/middleware/ # 中间件规范目录
3556
+ - docs/rag/technical/sql-standards/ # SQL规范目录
3557
+
3558
+ 约束条件:
3559
+ - docs/rag/constraints/security.md # 安全要求
3560
+ - docs/rag/constraints/performance.md # 性能要求
3561
+
3562
+ 上一个故事:
3563
+ - docs/project/stories/{epic}.{story-1}.*.md # 上一个完成的故事
3564
+ ```
3565
+
3566
+ ## Workflow Overview
3567
+
3568
+ ```
3569
+ PRD/Epic + 知识库 + 架构增量设计 → 识别Story → 知识融合 → 生成详细Story → 检查清单验证
3570
+ ```
3571
+
3572
+ ---
3573
+
3574
+ ## Phase 0: 加载核心配置与知识上下文
3575
+
3576
+ ### 0.1 加载核心配置
3577
+
3578
+ ```yaml
3579
+ 执行步骤:
3580
+ 步骤1_加载配置:
3581
+ 动作: 读取 .xiaoma-core/core-config.yaml
3582
+ 提取:
3583
+ - devStoryLocation # 故事文件存放位置
3584
+ - prd.* # PRD配置
3585
+ - architecture.* # 架构文档配置
3586
+ 缺失处理: |
3587
+ 如果配置文件不存在,提示:
3588
+ "core-config.yaml 未找到。请先配置项目。"
3589
+ ```
3590
+
3591
+ ### 0.2 验证上游交接物
3592
+
3593
+ ```yaml
3594
+ 执行步骤:
3595
+ 步骤1_检查PRD:
3596
+ 动作: 检查 docs/prd.md 或切分后的 Epic 文件
3597
+ 缺失处理: 提示执行 PM 智能体 *create-prd-from-rag
3598
+
3599
+ 步骤2_检查架构增量设计:
3600
+ 动作: 检查 docs/architecture-increment.md
3601
+ 缺失处理: |
3602
+ 如果不存在:
3603
+ - 提示执行 Architect 智能体 *create-incremental-architecture
3604
+ - 或询问是否使用传统架构文档继续
3605
+
3606
+ 步骤3_检查需求分析报告:
3607
+ 动作: 检查 docs/rag/_analysis-report.md
3608
+ 缺失处理: |
3609
+ 如果不存在:
3610
+ - 提示执行 Analyst 智能体完成需求分析
3611
+ - 或询问是否仅使用 PRD 继续(功能受限)
3612
+
3613
+ 步骤4_扫描知识库:
3614
+ 动作: 扫描 docs/rag/ 目录,识别可用的知识文件
3615
+ 输出:
3616
+ available_knowledge:
3617
+ business_rules: [文件列表]
3618
+ technical_specs: [文件列表]
3619
+ constraints: [文件列表]
3620
+ ```
3621
+
3622
+ ### 0.3 知识上下文整合
3623
+
3624
+ ```yaml
3625
+ 知识整合:
3626
+ 业务上下文:
3627
+ 来源:
3628
+ - docs/rag/_analysis-report.md#功能分析
3629
+ - docs/rag/_analysis-report.md#业务规则汇总
3630
+ - docs/rag/business/rules-*.md
3631
+ 提取内容:
3632
+ - 功能清单与优先级
3633
+ - 业务规则与约束
3634
+ - 用户角色与权限
3635
+ - 数据实体与关系
3636
+
3637
+ 技术上下文:
3638
+ 来源:
3639
+ - docs/architecture-increment.md
3640
+ - docs/rag/technical/coding-standards/
3641
+ - docs/rag/technical/module-structure.md
3642
+ - docs/rag/technical/middleware/
3643
+ 提取内容:
3644
+ - 模块设计与包结构
3645
+ - 数据模型设计与DDL
3646
+ - 接口设计与API规范
3647
+ - 中间件使用方式与代码示例
3648
+ - 编码规范要点
3649
+
3650
+ 约束上下文:
3651
+ 来源:
3652
+ - docs/rag/constraints/security.md
3653
+ - docs/rag/constraints/performance.md
3654
+ - docs/rag/_analysis-report.md#技术分析
3655
+ 提取内容:
3656
+ - 安全要求
3657
+ - 性能要求
3658
+ - 兼容性约束
3659
+ ```
3660
+
3661
+ ---
3662
+
3663
+ ## Phase 1: 识别下一个 Story
3664
+
3665
+ ### 1.1 定位 Epic 和 Story
3666
+
3667
+ ```yaml
3668
+ 执行步骤:
3669
+ 步骤1_定位Epic:
3670
+ 动作: 根据 PRD 配置定位当前 Epic
3671
+ 来源:
3672
+ - docs/prd.md 中的 Epic 列表
3673
+ - 或 docs/prd/{epic-name}.md 切分文件
3674
+
3675
+ 步骤2_确定Story编号:
3676
+ 动作: 扫描 devStoryLocation 目录
3677
+ 逻辑:
3678
+ - 如果无故事文件: 下一个是 1.1
3679
+ - 如果有故事文件: 找到最高编号,确定下一个
3680
+ - 检查最高编号故事状态,非Done则警告
3681
+
3682
+ 步骤3_提取Story需求:
3683
+ 动作: 从 Epic/PRD 中提取当前 Story 的定义
3684
+ 提取内容:
3685
+ - Story 标题
3686
+ - 用户故事描述
3687
+ - 验收标准 (AC)
3688
+ - 关联的功能点 (FR)
3689
+ ```
3690
+
3691
+ ### 1.2 关联知识映射
3692
+
3693
+ ```yaml
3694
+ 知识映射:
3695
+ 目的: 将 Story 需求映射到知识库中的具体内容
3696
+
3697
+ 映射维度:
3698
+ 业务规则映射:
3699
+ - Story AC → 相关业务规则 (docs/rag/business/rules-*.md)
3700
+ - 功能点 → 分析报告中的功能分析
3701
+
3702
+ 技术设计映射:
3703
+ - Story → 架构增量设计中的相关章节
3704
+ - 数据需求 → 数据模型增量设计
3705
+ - API需求 → 接口增量设计
3706
+ - 中间件需求 → 中间件增量设计
3707
+
3708
+ 约束映射:
3709
+ - 安全相关AC → security.md
3710
+ - 性能相关AC → performance.md
3711
+ ```
3712
+
3713
+ ---
3714
+
3715
+ ## Phase 2: 知识融合与 Story 内容生成
3716
+
3717
+ ### 2.1 用户故事描述生成
3718
+
3719
+ ```yaml
3720
+ 用户故事生成:
3721
+ 来源:
3722
+ - PRD/Epic 中的 Story 定义
3723
+ - docs/rag/_analysis-report.md#用户分析
3724
+
3725
+ 格式:
3726
+ 作为: {用户角色,来自用户分析}
3727
+ 我希望: {功能描述,来自功能分析}
3728
+ 以便: {业务价值,来自需求背景}
3729
+
3730
+ 验证:
3731
+ - 用户角色在分析报告中有定义
3732
+ - 功能在功能清单中有对应
3733
+ - 价值与业务目标对齐
3734
+ ```
3735
+
3736
+ ### 2.2 验收标准增强
3737
+
3738
+ ```yaml
3739
+ 验收标准增强:
3740
+ 基础AC:
3741
+ 来源: PRD/Epic 中定义的验收标准
3742
+
3743
+ 业务规则增强:
3744
+ 来源: docs/rag/business/rules-*.md
3745
+ 动作: |
3746
+ 对每个AC,检查是否有相关业务规则:
3747
+ - 如有,将业务规则细节融入AC
3748
+ - 标注来源: (来源: business/rules-{name}.md)
3749
+
3750
+ 技术约束增强:
3751
+ 来源: docs/rag/constraints/
3752
+ 动作: |
3753
+ 检查AC是否涉及安全/性能要求:
3754
+ - 如有,添加技术约束说明
3755
+ - 标注来源: (来源: constraints/{name}.md)
3756
+
3757
+ 示例:
3758
+ 原始AC: "用户可以创建订单"
3759
+ 增强后: |
3760
+ 用户可以创建订单
3761
+ - 订单状态初始为"待支付" (来源: business/rules-order.md)
3762
+ - 订单号格式: ORD{yyyyMMdd}{6位序号} (来源: business/rules-order.md)
3763
+ - 创建接口响应时间 < 500ms (来源: constraints/performance.md)
3764
+ ```
3765
+
3766
+ ### 2.3 任务/子任务生成
3767
+
3768
+ ```yaml
3769
+ 任务生成:
3770
+ 来源整合:
3771
+ 架构设计:
3772
+ - docs/architecture-increment.md#模块增量设计
3773
+ - docs/architecture-increment.md#数据模型增量设计
3774
+ - docs/architecture-increment.md#接口增量设计
3775
+ - docs/architecture-increment.md#中间件增量设计
3776
+
3777
+ 编码规范:
3778
+ - docs/rag/technical/coding-standards/
3779
+ - docs/rag/technical/module-structure.md
3780
+
3781
+ 任务生成规则:
3782
+ 数据层任务:
3783
+ 条件: Story涉及数据模型变更
3784
+ 来源: architecture-increment.md#数据模型增量设计
3785
+ 任务模板: |
3786
+ - [ ] 创建/修改数据模型 (AC: {相关AC})
3787
+ - [ ] 创建实体类 {EntityName} [参考: architecture-increment.md#entity-detail]
3788
+ - [ ] 执行DDL脚本 [参考: architecture-increment.md#ddl-script]
3789
+ - [ ] 创建Mapper/Repository [遵循: coding-standards/]
3790
+
3791
+ 接口层任务:
3792
+ 条件: Story涉及API开发
3793
+ 来源: architecture-increment.md#接口增量设计
3794
+ 任务模板: |
3795
+ - [ ] 实现API接口 (AC: {相关AC})
3796
+ - [ ] 创建Controller [参考: architecture-increment.md#api-detail]
3797
+ - [ ] 实现请求参数校验 [遵循: coding-standards/]
3798
+ - [ ] 实现响应格式 [参考: architecture-increment.md#response-design]
3799
+
3800
+ 业务层任务:
3801
+ 条件: Story涉及业务逻辑
3802
+ 来源: architecture-increment.md#模块增量设计
3803
+ 任务模板: |
3804
+ - [ ] 实现业务逻辑 (AC: {相关AC})
3805
+ - [ ] 创建Service类 [参考: architecture-increment.md#class-design]
3806
+ - [ ] 实现业务规则 [参考: business/rules-{name}.md]
3807
+ - [ ] 添加事务管理 [遵循: coding-standards/]
3808
+
3809
+ 中间件任务:
3810
+ 条件: Story涉及缓存/消息/定时任务
3811
+ 来源: architecture-increment.md#中间件增量设计
3812
+ 任务模板: |
3813
+ - [ ] 实现中间件功能 (AC: {相关AC})
3814
+ - [ ] Redis缓存实现 [参考: architecture-increment.md#redis-design, middleware/redis.md]
3815
+ - [ ] 消息队列实现 [参考: architecture-increment.md#mq-design, middleware/mq.md]
3816
+
3817
+ 测试任务:
3818
+ 来源: docs/rag/technical/coding-standards/ (测试部分)
3819
+ 任务模板: |
3820
+ - [ ] 编写测试用例 (AC: ALL)
3821
+ - [ ] 单元测试 [遵循: coding-standards/testing]
3822
+ - [ ] 集成测试(如需要)
3823
+ - [ ] 验收标准验证
3824
+ ```
3825
+
3826
+ ### 2.4 开发者说明生成
3827
+
3828
+ ```yaml
3829
+ 开发者说明生成:
3830
+ 结构:
3831
+ 上一个Story洞察:
3832
+ 来源: 上一个Story的Dev Agent Record
3833
+ 内容: 关键经验、技术决策、注意事项
3834
+
3835
+ 架构设计参考:
3836
+ 来源: docs/architecture-increment.md
3837
+ 内容: |
3838
+ ### 架构设计参考
3839
+ **模块设计**: [参考: architecture-increment.md#module-design]
3840
+ - 包结构: {package_structure}
3841
+ - 核心类: {class_list}
3842
+
3843
+ **数据模型**: [参考: architecture-increment.md#data-model-design]
3844
+ - 表名: {table_name}
3845
+ - 核心字段: {fields}
3846
+
3847
+ **接口设计**: [参考: architecture-increment.md#api-design]
3848
+ - 路径: {api_path}
3849
+ - 方法: {http_method}
3850
+
3851
+ 业务规则:
3852
+ 来源: docs/rag/business/rules-*.md
3853
+ 内容: |
3854
+ ### 业务规则
3855
+ [参考: business/rules-{name}.md]
3856
+ - 规则1: {rule_description}
3857
+ - 规则2: {rule_description}
3858
+
3859
+ 编码规范要点:
3860
+ 来源: docs/rag/technical/coding-standards/
3861
+ 内容: |
3862
+ ### 编码规范要点
3863
+ [参考: coding-standards/]
3864
+ - 命名规范: {naming_rules}
3865
+ - 分层规范: {layer_rules}
3866
+ - 异常处理: {exception_rules}
3867
+
3868
+ 中间件使用:
3869
+ 条件: Story涉及中间件
3870
+ 来源: docs/rag/technical/middleware/
3871
+ 内容: |
3872
+ ### 中间件使用
3873
+ **Redis**: [参考: middleware/redis.md]
3874
+ - Key命名: {key_pattern}
3875
+ - 代码示例: {code_example}
3876
+
3877
+ **MQ**: [参考: middleware/mq.md]
3878
+ - Topic: {topic_name}
3879
+ - 代码示例: {code_example}
3880
+
3881
+ 约束条件:
3882
+ 来源: docs/rag/constraints/
3883
+ 内容: |
3884
+ ### 约束条件
3885
+ **安全要求**: [参考: constraints/security.md]
3886
+ - {security_requirements}
3887
+
3888
+ **性能要求**: [参考: constraints/performance.md]
3889
+ - {performance_requirements}
3890
+
3891
+ 文件位置:
3892
+ 来源: docs/rag/technical/module-structure.md
3893
+ 内容: |
3894
+ ### 文件位置
3895
+ [参考: module-structure.md]
3896
+ - Controller: {path}
3897
+ - Service: {path}
3898
+ - Mapper: {path}
3899
+ - Entity: {path}
3900
+ ```
3901
+
3902
+ ### 2.5 测试说明生成
3903
+
3904
+ ```yaml
3905
+ 测试说明生成:
3906
+ 来源:
3907
+ - docs/rag/technical/coding-standards/ (测试部分)
3908
+ - docs/architecture-increment.md#测试策略 (如有)
3909
+
3910
+ 内容:
3911
+ 测试框架:
3912
+ 来源: coding-standards/
3913
+ 内容: {test_framework}
3914
+
3915
+ 测试文件位置:
3916
+ 来源: module-structure.md
3917
+ 内容: {test_file_location}
3918
+
3919
+ 测试场景:
3920
+ 来源: AC + 业务规则
3921
+ 内容: |
3922
+ - 正常流程测试: {scenarios}
3923
+ - 异常流程测试: {error_scenarios}
3924
+ - 边界条件测试: {edge_cases}
3925
+
3926
+ 验收测试:
3927
+ 来源: Story AC
3928
+ 内容: 每个AC对应的测试方法
3929
+ ```
3930
+
3931
+ ### 2.6 知识引用索引
3932
+
3933
+ ```yaml
3934
+ 知识引用索引:
3935
+ 目的: 记录Story中引用的所有知识文件,便于追溯
3936
+
3937
+ 格式:
3938
+ ## Knowledge References
3939
+
3940
+ | 知识文件 | 引用章节 | 应用位置 |
3941
+ |----------|----------|----------|
3942
+ | docs/architecture-increment.md | 模块设计 | 任务列表、Dev Notes |
3943
+ | docs/rag/business/rules-order.md | 订单规则 | AC增强、业务逻辑任务 |
3944
+ | docs/rag/technical/coding-standards/ | 命名规范 | Dev Notes |
3945
+ | docs/rag/technical/middleware/redis.md | 缓存示例 | 中间件任务 |
3946
+ | docs/rag/constraints/performance.md | 响应时间要求 | AC约束 |
3947
+ ```
3948
+
3949
+ ---
3950
+
3951
+ ## Phase 3: Story 文件生成与验证
3952
+
3953
+ ### 3.1 生成 Story 文件
3954
+
3955
+ ```yaml
3956
+ 输出文件:
3957
+ 路径: {devStoryLocation}/{epicNum}.{storyNum}.{story_title_short}.md
3958
+ 状态: Draft
3959
+
3960
+ 内容结构:
3961
+ - 状态
3962
+ - 用户故事
3963
+ - 验收标准(增强版)
3964
+ - 任务/子任务(带知识引用)
3965
+ - 开发者说明(知识融合版)
3966
+ - 测试说明
3967
+ - Knowledge References(新增)
3968
+ - 变更日志
3969
+ - 开发者代理记录
3970
+ - QA结果
3971
+ ```
3972
+
3973
+ ### 3.2 执行检查清单
3974
+
3975
+ ```yaml
3976
+ 检查清单:
3977
+ 执行: .xiaoma-core/checklists/story-draft-checklist.md
3978
+
3979
+ 额外检查项:
3980
+ 知识引用完整性:
3981
+ - [ ] 架构增量设计已引用
3982
+ - [ ] 相关业务规则已引用
3983
+ - [ ] 编码规范已引用
3984
+ - [ ] 约束条件已引用
3985
+
3986
+ 知识一致性:
3987
+ - [ ] AC与业务规则一致
3988
+ - [ ] 任务与架构设计一致
3989
+ - [ ] 技术选型与技术栈一致
3990
+ ```
3991
+
3992
+ ### 3.3 完成报告
3993
+
3994
+ ```yaml
3995
+ 完成报告:
3996
+ 格式: |
3997
+ ✅ 用户故事创建完成!
3998
+
3999
+ 📄 故事文件: {story_path}
4000
+ 📊 状态: Draft
4001
+ 🔢 Story编号: {epicNum}.{storyNum}
4002
+
4003
+ 📚 知识融合摘要:
4004
+ - 架构设计: {architecture_sections_used}
4005
+ - 业务规则: {business_rules_used}
4006
+ - 技术规范: {technical_specs_used}
4007
+ - 约束条件: {constraints_used}
4008
+
4009
+ 📋 任务概要:
4010
+ - 数据层任务: {data_task_count}
4011
+ - 接口层任务: {api_task_count}
4012
+ - 业务层任务: {business_task_count}
4013
+ - 测试任务: {test_task_count}
4014
+
4015
+ ✅ 检查清单: {checklist_result}
4016
+
4017
+ 🔄 下一步建议:
4018
+ - 审核故事: 请PO/用户审核后批准
4019
+ - 验证故事: 可执行 *validate-story 进行深度验证
4020
+ - 开始开发: 批准后执行 Dev智能体 *develop-story-with-rag
4021
+ ```
4022
+
4023
+ ---
4024
+
4025
+ ## 阻塞条件
4026
+
4027
+ ```yaml
4028
+ 阻塞条件:
4029
+ 必须停止:
4030
+ - PRD/Epic 文件不存在
4031
+ - 架构增量设计与PRD严重不一致
4032
+ - 关键业务规则缺失
4033
+
4034
+ 警告继续:
4035
+ - 部分知识文件缺失(记录后继续)
4036
+ - 上一个Story未完成(用户确认后继续)
4037
+ ```
4038
+
4039
+ ---
4040
+
4041
+ ## 使用说明
4042
+
4043
+ ### 激活命令
4044
+
4045
+ ```
4046
+ *draft-with-rag [epic_num] [story_num]
4047
+ ```
4048
+
4049
+ ### 执行参数
4050
+
4051
+ ```yaml
4052
+ 参数:
4053
+ epic_num: Epic编号 (可选,默认自动识别)
4054
+ story_num: Story编号 (可选,默认自动识别下一个)
4055
+ rag_path: RAG知识目录路径 (默认: docs/rag/)
4056
+ interactive: 交互模式 (默认: true)
4057
+ ```
4058
+
4059
+ ### 与原有命令的区别
4060
+
4061
+ | 命令 | 知识来源 | 适用场景 |
4062
+ |------|----------|----------|
4063
+ | `*draft` | 仅PRD + 架构文档 | 传统项目 |
4064
+ | `*draft-with-rag` | PRD + 知识库 + 架构增量设计 | 有知识库的项目 |
4065
+
4066
+ ---
4067
+
4068
+ ## 任务完成标志
4069
+
4070
+ ```yaml
4071
+ 完成条件:
4072
+ 必要输出:
4073
+ - Story文件已创建
4074
+ - Knowledge References已记录
4075
+ - 检查清单已执行
4076
+
4077
+ Story就绪标志:
4078
+ - 所有AC都有知识来源支撑
4079
+ - 所有任务都有技术参考
4080
+ - Dev Notes包含足够上下文
4081
+ - 知识引用索引完整
4082
+ ```
4083
+ ==================== END: .xiaoma-core/tasks/create-story-with-rag.md ====================
4084
+
4085
+ ==================== START: .xiaoma-core/templates/story-with-rag-tmpl.yaml ====================
4086
+ template:
4087
+ id: story-with-rag-template-v1
4088
+ name: 基于知识库的用户故事文档
4089
+ version: 1.0
4090
+ description: 融合知识库业务规则、技术规范和架构增量设计的用户故事模板
4091
+ output:
4092
+ format: markdown
4093
+ filename: docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md
4094
+ title: "Story {{epic_num}}.{{story_num}}: {{story_title_short}}"
4095
+
4096
+ workflow:
4097
+ mode: interactive
4098
+ elicitation: advanced-elicitation
4099
+ upstream:
4100
+ agents:
4101
+ - analyst # 提供需求分析报告和知识库
4102
+ - pm # 提供PRD文档
4103
+ - architect # 提供架构增量设计
4104
+ required_files:
4105
+ - docs/prd.md
4106
+ - docs/architecture-increment.md
4107
+ optional_files:
4108
+ - docs/rag/_analysis-report.md
4109
+ - docs/rag/business/*
4110
+ - docs/rag/technical/*
4111
+ - docs/rag/constraints/*
4112
+
4113
+ agent_config:
4114
+ editable_sections:
4115
+ - Status
4116
+ - Story
4117
+ - Acceptance Criteria
4118
+ - Tasks / Subtasks
4119
+ - Dev Notes
4120
+ - Testing
4121
+ - Knowledge References
4122
+ - Change Log
4123
+
4124
+ sections:
4125
+ - id: status
4126
+ title: 状态
4127
+ type: choice
4128
+ choices: [Draft, Approved, InProgress, Review, Done]
4129
+ instruction: 选择此用户故事的当前状态
4130
+ owner: scrum-master
4131
+ editors: [scrum-master, po-agent, dev-agent]
4132
+
4133
+ - id: story
4134
+ title: 用户故事
4135
+ type: template-text
4136
+ template: |
4137
+ **作为** {{role}},
4138
+ **我希望** {{action}},
4139
+ **以便** {{benefit}}
4140
+ instruction: |
4141
+ 使用标准格式定义用户故事。
4142
+ - 角色来源: docs/rag/_analysis-report.md#用户分析
4143
+ - 功能来源: PRD/Epic 中的 Story 定义
4144
+ - 价值来源: 需求分析报告中的业务目标
4145
+ elicit: true
4146
+ owner: scrum-master
4147
+ editors: [scrum-master]
4148
+
4149
+ - id: acceptance-criteria
4150
+ title: 验收标准
4151
+ type: numbered-list
4152
+ instruction: |
4153
+ 从 Epic 文件中复制验收标准,并融合知识库内容增强:
4154
+
4155
+ **增强规则**:
4156
+ 1. 检查每个AC是否有对应的业务规则 (docs/rag/business/rules-*.md)
4157
+ - 如有,将业务规则细节融入AC
4158
+ - 标注来源: (来源: business/rules-{name}.md)
4159
+
4160
+ 2. 检查每个AC是否涉及约束条件 (docs/rag/constraints/)
4161
+ - 如有安全要求,添加安全约束
4162
+ - 如有性能要求,添加性能指标
4163
+ - 标注来源: (来源: constraints/{name}.md)
4164
+
4165
+ **示例**:
4166
+ 1. 用户可以创建订单
4167
+ - 订单状态初始为"待支付" (来源: business/rules-order.md)
4168
+ - 订单号格式: ORD{yyyyMMdd}{6位序号} (来源: business/rules-order.md)
4169
+ - 接口响应时间 < 500ms (来源: constraints/performance.md)
4170
+ elicit: true
4171
+ owner: scrum-master
4172
+ editors: [scrum-master]
4173
+
4174
+ - id: tasks-subtasks
4175
+ title: 任务 / 子任务
4176
+ type: bullet-list
4177
+ instruction: |
4178
+ 基于架构增量设计 (docs/architecture-increment.md) 生成详细任务。
4179
+
4180
+ **任务生成规则**:
4181
+
4182
+ 1. **数据层任务** (如Story涉及数据模型):
4183
+ 来源: architecture-increment.md#数据模型增量设计
4184
+ ```
4185
+ - [ ] 创建/修改数据模型 (AC: {相关AC})
4186
+ - [ ] 创建实体类 [参考: architecture-increment.md#entity-detail]
4187
+ - [ ] 执行DDL脚本 [参考: architecture-increment.md#ddl-script]
4188
+ - [ ] 创建Mapper/Repository [遵循: coding-standards/]
4189
+ ```
4190
+
4191
+ 2. **接口层任务** (如Story涉及API):
4192
+ 来源: architecture-increment.md#接口增量设计
4193
+ ```
4194
+ - [ ] 实现API接口 (AC: {相关AC})
4195
+ - [ ] 创建Controller [参考: architecture-increment.md#api-detail]
4196
+ - [ ] 实现参数校验 [遵循: coding-standards/]
4197
+ - [ ] 实现响应格式 [参考: architecture-increment.md#response-design]
4198
+ ```
4199
+
4200
+ 3. **业务层任务** (如Story涉及业务逻辑):
4201
+ 来源: architecture-increment.md#模块增量设计
4202
+ ```
4203
+ - [ ] 实现业务逻辑 (AC: {相关AC})
4204
+ - [ ] 创建Service类 [参考: architecture-increment.md#class-design]
4205
+ - [ ] 实现业务规则 [参考: business/rules-{name}.md]
4206
+ ```
4207
+
4208
+ 4. **中间件任务** (如Story涉及缓存/消息):
4209
+ 来源: architecture-increment.md#中间件增量设计
4210
+ ```
4211
+ - [ ] 实现缓存逻辑 (AC: {相关AC})
4212
+ - [ ] Redis实现 [参考: architecture-increment.md#redis-design]
4213
+ - [ ] 代码示例 [参考: middleware/redis.md]
4214
+ ```
4215
+
4216
+ 5. **测试任务**:
4217
+ ```
4218
+ - [ ] 编写测试用例 (AC: ALL)
4219
+ - [ ] 单元测试 [遵循: coding-standards/testing]
4220
+ - [ ] 集成测试(如需要)
4221
+ ```
4222
+ template: |
4223
+ - [ ] 任务 1 (AC: #) [参考: {knowledge_ref}]
4224
+ - [ ] 子任务 1.1 [遵循: {standard_ref}]
4225
+ - [ ] 任务 2 (AC: #) [参考: {knowledge_ref}]
4226
+ - [ ] 子任务 2.1 [遵循: {standard_ref}]
4227
+ elicit: true
4228
+ owner: scrum-master
4229
+ editors: [scrum-master, dev-agent]
4230
+
4231
+ - id: dev-notes
4232
+ title: 开发者说明
4233
+ instruction: |
4234
+ 整合知识库内容,为开发者提供完整的技术上下文。
4235
+
4236
+ **来源整合**:
4237
+ - 架构设计: docs/architecture-increment.md
4238
+ - 编码规范: docs/rag/technical/coding-standards/
4239
+ - 模块结构: docs/rag/technical/module-structure.md
4240
+ - 中间件规范: docs/rag/technical/middleware/
4241
+ - 业务规则: docs/rag/business/rules-*.md
4242
+ - 约束条件: docs/rag/constraints/
4243
+
4244
+ **填充规则**:
4245
+ - 每个技术细节必须标注来源
4246
+ - 提供足够上下文使开发者无需阅读原始文档
4247
+ - 包含相关代码示例引用
4248
+ elicit: true
4249
+ owner: scrum-master
4250
+ editors: [scrum-master]
4251
+ sections:
4252
+ - id: previous-story-insights
4253
+ title: 上一个Story洞察
4254
+ instruction: |
4255
+ 从上一个Story的Dev Agent Record中提取关键信息:
4256
+ - 技术决策和实现方式
4257
+ - 遇到的问题和解决方案
4258
+ - 对当前Story的建议
4259
+ owner: scrum-master
4260
+ editors: [scrum-master]
4261
+
4262
+ - id: architecture-reference
4263
+ title: 架构设计参考
4264
+ instruction: |
4265
+ 从 docs/architecture-increment.md 提取与当前Story相关的设计:
4266
+
4267
+ **模块设计** [参考: architecture-increment.md#module-design]
4268
+ - 包结构: {提取的包结构}
4269
+ - 核心类: {提取的类列表}
4270
+
4271
+ **数据模型** [参考: architecture-increment.md#data-model-design]
4272
+ - 表名: {table_name}
4273
+ - 核心字段: {fields}
4274
+ - DDL参考: {ddl_section_ref}
4275
+
4276
+ **接口设计** [参考: architecture-increment.md#api-design]
4277
+ - 路径: {api_path}
4278
+ - 方法: {http_method}
4279
+ - 请求/响应参考: {api_detail_ref}
4280
+
4281
+ **中间件设计** [参考: architecture-increment.md#middleware-design]
4282
+ - Redis设计: {redis_ref}
4283
+ - MQ设计: {mq_ref}
4284
+ owner: scrum-master
4285
+ editors: [scrum-master]
4286
+
4287
+ - id: business-rules
4288
+ title: 业务规则
4289
+ instruction: |
4290
+ 从 docs/rag/business/rules-*.md 提取与当前Story相关的业务规则:
4291
+
4292
+ [参考: business/rules-{name}.md]
4293
+ - 规则1: {rule_description}
4294
+ - 规则2: {rule_description}
4295
+
4296
+ 确保每条规则都标注来源文件。
4297
+ owner: scrum-master
4298
+ editors: [scrum-master]
4299
+
4300
+ - id: coding-standards
4301
+ title: 编码规范要点
4302
+ instruction: |
4303
+ 从 docs/rag/technical/coding-standards/ 提取关键规范:
4304
+
4305
+ [参考: coding-standards/]
4306
+ - 命名规范: {naming_rules}
4307
+ - 分层规范: {layer_rules}
4308
+ - 异常处理: {exception_rules}
4309
+ - 日志规范: {logging_rules}
4310
+ owner: scrum-master
4311
+ editors: [scrum-master]
4312
+
4313
+ - id: middleware-usage
4314
+ title: 中间件使用
4315
+ condition: Story涉及中间件
4316
+ instruction: |
4317
+ 从 docs/rag/technical/middleware/ 提取使用规范和代码示例:
4318
+
4319
+ **Redis** [参考: middleware/redis.md]
4320
+ - Key命名: {key_pattern}
4321
+ - 过期策略: {expiration}
4322
+ - 代码示例参考: middleware/redis.md#{section}
4323
+
4324
+ **MQ** [参考: middleware/mq.md]
4325
+ - Topic: {topic_name}
4326
+ - 消息格式: {message_format}
4327
+ - 代码示例参考: middleware/mq.md#{section}
4328
+ owner: scrum-master
4329
+ editors: [scrum-master]
4330
+
4331
+ - id: constraints
4332
+ title: 约束条件
4333
+ instruction: |
4334
+ 从 docs/rag/constraints/ 提取相关约束:
4335
+
4336
+ **安全要求** [参考: constraints/security.md]
4337
+ - {security_requirements}
4338
+
4339
+ **性能要求** [参考: constraints/performance.md]
4340
+ - {performance_requirements}
4341
+ owner: scrum-master
4342
+ editors: [scrum-master]
4343
+
4344
+ - id: file-locations
4345
+ title: 文件位置
4346
+ instruction: |
4347
+ 从 docs/rag/technical/module-structure.md 提取文件位置规范:
4348
+
4349
+ [参考: module-structure.md]
4350
+ - Controller: {path}
4351
+ - Service: {path}
4352
+ - Mapper/Repository: {path}
4353
+ - Entity: {path}
4354
+ - Test: {path}
4355
+ owner: scrum-master
4356
+ editors: [scrum-master]
4357
+
4358
+ - id: testing-standards
4359
+ title: 测试说明
4360
+ instruction: |
4361
+ 从 docs/rag/technical/coding-standards/ 提取测试规范:
4362
+
4363
+ [参考: coding-standards/testing]
4364
+ - 测试框架: {test_framework}
4365
+ - 测试文件位置: {test_file_location}
4366
+ - 测试场景:
4367
+ - 正常流程: {normal_scenarios}
4368
+ - 异常流程: {error_scenarios}
4369
+ - 边界条件: {edge_cases}
4370
+ elicit: true
4371
+ owner: scrum-master
4372
+ editors: [scrum-master]
4373
+
4374
+ - id: knowledge-references
4375
+ title: 知识引用索引
4376
+ instruction: |
4377
+ 记录Story中引用的所有知识文件,便于追溯和验证。
4378
+
4379
+ | 知识文件 | 引用章节 | 应用位置 |
4380
+ |----------|----------|----------|
4381
+ | docs/architecture-increment.md | 模块设计 | 任务列表、Dev Notes |
4382
+ | docs/rag/business/rules-*.md | 业务规则 | AC增强、业务逻辑任务 |
4383
+ | docs/rag/technical/coding-standards/ | 编码规范 | Dev Notes |
4384
+ | docs/rag/technical/middleware/*.md | 中间件示例 | 中间件任务 |
4385
+ | docs/rag/constraints/*.md | 约束条件 | AC约束 |
4386
+ type: table
4387
+ columns: [知识文件, 引用章节, 应用位置]
4388
+ owner: scrum-master
4389
+ editors: [scrum-master, dev-agent]
4390
+
4391
+ - id: change-log
4392
+ title: 变更日志
4393
+ type: table
4394
+ columns: [日期, 版本, 描述, 作者]
4395
+ instruction: 跟踪此用户故事文档的变更
4396
+ owner: scrum-master
4397
+ editors: [scrum-master, dev-agent, qa-agent]
4398
+
4399
+ - id: dev-agent-record
4400
+ title: 开发者代理记录
4401
+ instruction: 此部分由开发代理在实施过程中填充
4402
+ owner: dev-agent
4403
+ editors: [dev-agent]
4404
+ sections:
4405
+ - id: agent-model
4406
+ title: 使用的代理模型
4407
+ template: "{{agent_model_name_version}}"
4408
+ instruction: 记录用于开发的特定 AI 代理模型和版本
4409
+ owner: dev-agent
4410
+ editors: [dev-agent]
4411
+
4412
+ - id: debug-log-references
4413
+ title: 调试日志参考
4414
+ instruction: 引用开发过程中生成的任何调试日志或跟踪信息
4415
+ owner: dev-agent
4416
+ editors: [dev-agent]
4417
+
4418
+ - id: completion-notes
4419
+ title: 完成说明列表
4420
+ instruction: 关于任务完成情况和遇到的任何问题的说明
4421
+ owner: dev-agent
4422
+ editors: [dev-agent]
4423
+
4424
+ - id: file-list
4425
+ title: 文件列表
4426
+ instruction: 列出在用户故事实施过程中创建、修改或影响的所有文件
4427
+ owner: dev-agent
4428
+ editors: [dev-agent]
4429
+
4430
+ - id: knowledge-usage-record
4431
+ title: 知识使用记录
4432
+ instruction: |
4433
+ 记录实际开发中使用的知识文件和参考内容:
4434
+ | 知识文件 | 使用内容 | 应用代码位置 |
4435
+ |----------|----------|--------------|
4436
+ type: table
4437
+ columns: [知识文件, 使用内容, 应用代码位置]
4438
+ owner: dev-agent
4439
+ editors: [dev-agent]
4440
+
4441
+ - id: qa-results
4442
+ title: QA 结果
4443
+ instruction: QA 代理对已完成的用户故事实施进行 QA 审查的结果
4444
+ owner: qa-agent
4445
+ editors: [qa-agent]
4446
+ ==================== END: .xiaoma-core/templates/story-with-rag-tmpl.yaml ====================
4447
+
3400
4448
  ==================== START: .xiaoma-core/templates/enhanced-story-with-database-tmpl.yaml ====================
3401
4449
  template:
3402
4450
  id: enhanced-story-with-database-template-v1
@@ -4846,6 +5894,545 @@ Fix plan:
4846
5894
  - Gate ownership remains with QA; Dev signals readiness via Status
4847
5895
  ==================== END: .xiaoma-core/tasks/apply-qa-fixes.md ====================
4848
5896
 
5897
+ ==================== START: .xiaoma-core/tasks/develop-story-with-rag.md ====================
5898
+ # 基于知识库的故事开发任务
5899
+
5900
+ ## Purpose
5901
+
5902
+ 基于知识库(`docs/rag/`)中的技术规范和架构增量设计文档(`docs/architecture-increment.md`),对用户故事进行标准化开发。确保开发过程中严格遵循项目技术规范、编码标准和架构设计。
5903
+
5904
+ ## 上游交接物
5905
+
5906
+ ```yaml
5907
+ 必需输入:
5908
+ 故事文件:
5909
+ - docs/project/stories/{epic}.{story}.*.md # 待开发的用户故事
5910
+
5911
+ 架构增量设计:
5912
+ - docs/architecture-increment.md # Architect生成的增量设计文档
5913
+
5914
+ 可选输入:
5915
+ 技术知识库:
5916
+ - docs/rag/technical/architecture.md # 现有技术架构
5917
+ - docs/rag/technical/tech-stack.md # 技术栈详情
5918
+ - docs/rag/technical/module-structure.md # 模块结构
5919
+ - docs/rag/technical/data-model.md # 数据模型
5920
+ - docs/rag/technical/coding-standards/ # 编码规范目录
5921
+ - docs/rag/technical/middleware/ # 中间件规范目录
5922
+ - docs/rag/technical/sql-standards/ # SQL规范目录
5923
+
5924
+ 约束条件:
5925
+ - docs/rag/constraints/security.md # 安全要求
5926
+ - docs/rag/constraints/performance.md # 性能要求
5927
+
5928
+ PRD文档:
5929
+ - docs/prd.md # PRD文档(可选参考)
5930
+ ```
5931
+
5932
+ ## Workflow Overview
5933
+
5934
+ ```
5935
+ 故事文件 + 知识库 + 架构增量设计 → 知识加载 → 任务实现 → 规范校验 → 测试验证 → 故事更新
5936
+ ```
5937
+
5938
+ ---
5939
+
5940
+ ## Phase 0: 知识上下文加载
5941
+
5942
+ ### 0.1 验证上游交接物
5943
+
5944
+ ```yaml
5945
+ 执行步骤:
5946
+ 步骤1_检查故事文件:
5947
+ 动作: 确认故事文件存在且状态为可开发
5948
+ 验证项:
5949
+ - 故事文件路径有效
5950
+ - 故事状态不是 Draft
5951
+ - 任务列表已定义
5952
+ 缺失处理: |
5953
+ 如果故事文件缺失或状态不对,提示:
5954
+ "故事文件未就绪。请先确认故事状态,或执行 PM 智能体完善故事定义。"
5955
+
5956
+ 步骤2_检查架构增量设计:
5957
+ 动作: 检查 docs/architecture-increment.md 是否存在
5958
+ 提取内容:
5959
+ - 与当前故事相关的模块设计
5960
+ - 数据模型变动
5961
+ - 接口设计
5962
+ - 中间件设计
5963
+ 缺失处理: |
5964
+ 如果架构增量设计不存在:
5965
+ - 检查是否有传统架构文档可用
5966
+ - 提示用户是否继续(使用通用规范)或先生成架构设计
5967
+
5968
+ 步骤3_加载技术知识库:
5969
+ 动作: 扫描并加载 docs/rag/technical/ 目录
5970
+ 加载策略:
5971
+ - 按需加载:仅加载与当前任务相关的规范文件
5972
+ - 优先级:编码规范 > 中间件规范 > SQL规范
5973
+ 关键文件:
5974
+ - docs/rag/technical/coding-standards/ # 编码规范(必须)
5975
+ - docs/rag/technical/module-structure.md # 模块结构(必须)
5976
+ - docs/rag/technical/middleware/ # 中间件规范(按需)
5977
+ - docs/rag/technical/sql-standards/ # SQL规范(按需)
5978
+ ```
5979
+
5980
+ ### 0.2 知识上下文整合
5981
+
5982
+ ```yaml
5983
+ 整合输出:
5984
+ 开发上下文:
5985
+ 架构设计:
5986
+ 来源: docs/architecture-increment.md
5987
+ 提取: 与当前Story相关的设计章节
5988
+ 内容:
5989
+ - 模块设计(包结构、类设计)
5990
+ - 数据模型设计(表结构、DDL)
5991
+ - 接口设计(API定义)
5992
+ - 中间件设计(Redis/MQ/定时任务)
5993
+
5994
+ 编码规范:
5995
+ 来源: docs/rag/technical/coding-standards/
5996
+ 内容:
5997
+ - 命名规范(类/方法/变量/常量)
5998
+ - 分层规范(Controller/Service/DAO)
5999
+ - 异常处理规范
6000
+ - 日志规范
6001
+
6002
+ 模块结构:
6003
+ 来源: docs/rag/technical/module-structure.md
6004
+ 内容:
6005
+ - 包结构规范
6006
+ - 分层结构
6007
+ - 模块依赖关系
6008
+
6009
+ 中间件规范:
6010
+ 来源: docs/rag/technical/middleware/
6011
+ 内容:
6012
+ - Redis使用规范和代码示例
6013
+ - MQ使用规范和代码示例
6014
+ - 定时任务规范和代码示例
6015
+
6016
+ SQL规范:
6017
+ 来源: docs/rag/technical/sql-standards/
6018
+ 内容:
6019
+ - 表设计规范
6020
+ - 索引设计规范
6021
+ - 查询优化规范
6022
+
6023
+ 约束条件:
6024
+ 来源: docs/rag/constraints/
6025
+ 内容:
6026
+ - 安全要求(来自 security.md)
6027
+ - 性能要求(来自 performance.md)
6028
+ ```
6029
+
6030
+ ---
6031
+
6032
+ ## Phase 1: 任务分析与规范匹配
6033
+
6034
+ ### 1.1 任务类型识别
6035
+
6036
+ ```yaml
6037
+ 任务类型识别:
6038
+ 数据模型任务:
6039
+ 识别标志: 创建表、修改表、添加字段、创建索引
6040
+ 关联规范:
6041
+ - docs/rag/technical/sql-standards/ # SQL规范
6042
+ - docs/rag/technical/data-model.md # 数据模型
6043
+ - docs/architecture-increment.md#数据模型增量设计
6044
+
6045
+ 接口开发任务:
6046
+ 识别标志: 创建API、修改接口、添加端点
6047
+ 关联规范:
6048
+ - docs/rag/technical/coding-standards/ # 编码规范
6049
+ - docs/architecture-increment.md#接口增量设计
6050
+
6051
+ 业务逻辑任务:
6052
+ 识别标志: 实现Service、业务流程、校验逻辑
6053
+ 关联规范:
6054
+ - docs/rag/technical/coding-standards/ # 编码规范
6055
+ - docs/rag/technical/module-structure.md # 模块结构
6056
+ - docs/architecture-increment.md#模块增量设计
6057
+
6058
+ 中间件任务:
6059
+ 识别标志: 缓存、消息队列、定时任务
6060
+ 关联规范:
6061
+ - docs/rag/technical/middleware/redis.md # Redis规范
6062
+ - docs/rag/technical/middleware/mq.md # MQ规范
6063
+ - docs/rag/technical/middleware/scheduler.md # 定时任务规范
6064
+ - docs/architecture-increment.md#中间件增量设计
6065
+
6066
+ 前端任务:
6067
+ 识别标志: 组件、页面、交互
6068
+ 关联规范:
6069
+ - docs/rag/technical/coding-standards/ # 前端编码规范
6070
+ - docs/architecture-increment.md#前端设计(如有)
6071
+ ```
6072
+
6073
+ ### 1.2 规范加载策略
6074
+
6075
+ ```yaml
6076
+ 加载策略:
6077
+ 按任务类型加载:
6078
+ 原则: 仅加载当前任务所需的规范文件
6079
+ 避免: 一次性加载所有规范导致上下文过载
6080
+
6081
+ 加载顺序:
6082
+ 1. 架构增量设计中的相关章节
6083
+ 2. 编码规范(通用)
6084
+ 3. 任务特定规范(SQL/中间件等)
6085
+ 4. 约束条件(安全/性能)
6086
+
6087
+ 缓存策略:
6088
+ - 会话内缓存已加载的规范
6089
+ - 跨任务复用通用规范
6090
+ ```
6091
+
6092
+ ---
6093
+
6094
+ ## Phase 2: 任务实现
6095
+
6096
+ ### 2.1 实现前检查
6097
+
6098
+ ```yaml
6099
+ 实现前检查:
6100
+ 检查项:
6101
+ 架构对齐:
6102
+ - 当前任务在架构增量设计中是否有对应设计
6103
+ - 包结构是否与 module-structure.md 一致
6104
+ - 类命名是否遵循编码规范
6105
+
6106
+ 数据模型对齐:
6107
+ - 表结构是否与架构设计一致
6108
+ - 字段定义是否符合SQL规范
6109
+ - 索引设计是否合理
6110
+
6111
+ 接口对齐:
6112
+ - API路径是否与架构设计一致
6113
+ - 请求/响应格式是否符合规范
6114
+ - 错误码是否按规范定义
6115
+
6116
+ 不一致处理:
6117
+ - 记录偏差到 Debug Log
6118
+ - 如有重大偏差,暂停并询问用户
6119
+ ```
6120
+
6121
+ ### 2.2 代码实现规范
6122
+
6123
+ ```yaml
6124
+ 代码实现规范:
6125
+ 命名规范:
6126
+ 来源: docs/rag/technical/coding-standards/
6127
+ 要求:
6128
+ - Controller: {Module}Controller
6129
+ - Service: {Module}Service / {Module}ServiceImpl
6130
+ - DAO: {Module}Mapper / {Module}Repository
6131
+ - Entity: {Entity}
6132
+ - DTO: {Entity}DTO / {Entity}VO / {Entity}Request / {Entity}Response
6133
+
6134
+ 分层规范:
6135
+ 来源: docs/rag/technical/coding-standards/
6136
+ 要求:
6137
+ - Controller: 仅处理请求/响应,不含业务逻辑
6138
+ - Service: 业务逻辑层,事务管理
6139
+ - DAO: 数据访问层,仅数据操作
6140
+ - 禁止: 跨层调用、循环依赖
6141
+
6142
+ 异常处理:
6143
+ 来源: docs/rag/technical/coding-standards/
6144
+ 要求:
6145
+ - 使用统一异常类
6146
+ - 业务异常与系统异常分离
6147
+ - 异常信息包含上下文
6148
+
6149
+ 日志规范:
6150
+ 来源: docs/rag/technical/coding-standards/
6151
+ 要求:
6152
+ - 关键操作必须有日志
6153
+ - 日志级别正确使用
6154
+ - 敏感信息脱敏
6155
+ ```
6156
+
6157
+ ### 2.3 中间件使用规范
6158
+
6159
+ ```yaml
6160
+ 中间件使用规范:
6161
+ Redis使用:
6162
+ 来源: docs/rag/technical/middleware/redis.md
6163
+ 规范:
6164
+ - Key命名: {业务}:{模块}:{标识}
6165
+ - 必须设置过期时间
6166
+ - 使用正确的数据结构
6167
+ - 参考知识库中的代码示例
6168
+
6169
+ MQ使用:
6170
+ 来源: docs/rag/technical/middleware/mq.md
6171
+ 规范:
6172
+ - Topic命名规范
6173
+ - 消息格式标准化
6174
+ - 消费者幂等处理
6175
+ - 参考知识库中的代码示例
6176
+
6177
+ 定时任务:
6178
+ 来源: docs/rag/technical/middleware/scheduler.md
6179
+ 规范:
6180
+ - 任务命名规范
6181
+ - 分布式锁使用
6182
+ - 异常处理
6183
+ - 参考知识库中的代码示例
6184
+ ```
6185
+
6186
+ ### 2.4 SQL实现规范
6187
+
6188
+ ```yaml
6189
+ SQL实现规范:
6190
+ 表设计:
6191
+ 来源: docs/rag/technical/sql-standards/
6192
+ 规范:
6193
+ - 表名小写下划线
6194
+ - 主键统一命名
6195
+ - 必须有创建/更新时间字段
6196
+ - 必须有表和字段注释
6197
+
6198
+ 索引设计:
6199
+ 来源: docs/rag/technical/sql-standards/
6200
+ 规范:
6201
+ - 索引命名: idx_{表名}_{字段}
6202
+ - 唯一索引: uk_{表名}_{字段}
6203
+ - 避免冗余索引
6204
+
6205
+ 查询规范:
6206
+ 来源: docs/rag/technical/sql-standards/
6207
+ 规范:
6208
+ - 禁止 SELECT *
6209
+ - 分页必须有限制
6210
+ - 避免大事务
6211
+ ```
6212
+
6213
+ ---
6214
+
6215
+ ## Phase 3: 实现过程中的规范校验
6216
+
6217
+ ### 3.1 实时校验点
6218
+
6219
+ ```yaml
6220
+ 校验点:
6221
+ 代码创建时:
6222
+ - 文件路径是否符合 module-structure.md
6223
+ - 类名是否符合命名规范
6224
+ - 包声明是否正确
6225
+
6226
+ 代码编写时:
6227
+ - 方法命名是否规范
6228
+ - 异常处理是否符合规范
6229
+ - 日志打印是否规范
6230
+
6231
+ 代码完成时:
6232
+ - 是否遵循分层规范
6233
+ - 是否有必要的注释
6234
+ - 是否处理了边界情况
6235
+ ```
6236
+
6237
+ ### 3.2 规范偏差处理
6238
+
6239
+ ```yaml
6240
+ 偏差处理:
6241
+ 轻微偏差:
6242
+ 定义: 命名风格略有差异、注释不够详细
6243
+ 处理: 记录到 Debug Log,继续执行
6244
+
6245
+ 中等偏差:
6246
+ 定义: 分层不清晰、缺少必要校验
6247
+ 处理: 立即修正,记录到 Completion Notes
6248
+
6249
+ 严重偏差:
6250
+ 定义: 架构不一致、安全风险
6251
+ 处理: 暂停开发,询问用户确认
6252
+ ```
6253
+
6254
+ ---
6255
+
6256
+ ## Phase 4: 测试与验证
6257
+
6258
+ ### 4.1 测试要求
6259
+
6260
+ ```yaml
6261
+ 测试要求:
6262
+ 单元测试:
6263
+ - Service层必须有单元测试
6264
+ - 覆盖正常流程和异常流程
6265
+ - Mock外部依赖
6266
+
6267
+ 集成测试:
6268
+ - API接口必须有集成测试
6269
+ - 数据库操作必须验证
6270
+
6271
+ 验收标准验证:
6272
+ - 逐条验证故事中的AC
6273
+ - 记录验证结果
6274
+ ```
6275
+
6276
+ ### 4.2 规范合规检查
6277
+
6278
+ ```yaml
6279
+ 合规检查:
6280
+ 代码规范检查:
6281
+ 执行: lint工具检查
6282
+ 标准: docs/rag/technical/coding-standards/
6283
+
6284
+ 安全检查:
6285
+ 执行: 安全扫描(如配置)
6286
+ 标准: docs/rag/constraints/security.md
6287
+
6288
+ 性能检查:
6289
+ 执行: 性能测试(如需要)
6290
+ 标准: docs/rag/constraints/performance.md
6291
+ ```
6292
+
6293
+ ---
6294
+
6295
+ ## Phase 5: 故事文件更新
6296
+
6297
+ ### 5.1 允许更新的部分
6298
+
6299
+ ```yaml
6300
+ 允许更新部分:
6301
+ 任务状态:
6302
+ - Tasks / Subtasks 复选框标记为 [x]
6303
+
6304
+ Dev Agent Record:
6305
+ - Agent Model Used: 使用的模型
6306
+ - Debug Log References: 调试日志
6307
+ - Completion Notes List: 完成说明
6308
+ - File List: 新增/修改/删除的文件
6309
+ - Knowledge References: 【新增】引用的知识文件
6310
+
6311
+ Change Log:
6312
+ - 新增变更日志条目
6313
+
6314
+ Status:
6315
+ - 更新为 Ready for Review
6316
+ ```
6317
+
6318
+ ### 5.2 知识引用记录
6319
+
6320
+ ```yaml
6321
+ 知识引用记录:
6322
+ 格式:
6323
+ ## Knowledge References
6324
+
6325
+ | 知识文件 | 引用内容 | 应用位置 |
6326
+ |----------|----------|----------|
6327
+ | docs/rag/technical/coding-standards/naming.md | 类命名规范 | UserController.java |
6328
+ | docs/rag/technical/middleware/redis.md | 缓存实现示例 | UserCacheService.java |
6329
+ | docs/architecture-increment.md#用户模块设计 | 模块设计 | user/ 目录结构 |
6330
+
6331
+ 目的:
6332
+ - 便于代码审查时验证规范遵循
6333
+ - 便于后续维护时理解实现依据
6334
+ - 建立代码与知识库的可追溯关系
6335
+ ```
6336
+
6337
+ ---
6338
+
6339
+ ## 执行顺序总结
6340
+
6341
+ ```yaml
6342
+ 执行顺序:
6343
+ order-of-execution: |
6344
+ 1. 加载知识上下文
6345
+ - 读取架构增量设计 (docs/architecture-increment.md)
6346
+ - 读取相关编码规范 (docs/rag/technical/coding-standards/)
6347
+ - 读取任务相关规范 (按需)
6348
+
6349
+ 2. 读取当前任务
6350
+ - 分析任务类型
6351
+ - 匹配相关规范
6352
+ - 提取架构设计中的对应章节
6353
+
6354
+ 3. 实现任务
6355
+ - 按照规范创建代码文件
6356
+ - 遵循命名和分层规范
6357
+ - 参考中间件代码示例
6358
+
6359
+ 4. 编写测试
6360
+ - 按照测试规范编写
6361
+ - 覆盖正常和异常流程
6362
+
6363
+ 5. 执行验证
6364
+ - 运行lint检查
6365
+ - 运行测试
6366
+ - 验证AC
6367
+
6368
+ 6. 更新故事文件
6369
+ - 标记任务完成 [x]
6370
+ - 更新 File List
6371
+ - 记录 Knowledge References
6372
+ - 更新 Completion Notes
6373
+
6374
+ 7. 重复直至完成所有任务
6375
+
6376
+ 8. 最终检查
6377
+ - 执行 story-dod-checklist
6378
+ - 验证所有规范遵循
6379
+ - 设置状态为 Ready for Review
6380
+ ```
6381
+
6382
+ ---
6383
+
6384
+ ## 阻塞条件
6385
+
6386
+ ```yaml
6387
+ 阻塞条件:
6388
+ 暂停情况:
6389
+ - 架构增量设计与故事任务严重不一致
6390
+ - 知识库规范相互冲突
6391
+ - 安全约束无法满足
6392
+ - 连续3次实现失败
6393
+ - 需要未批准的依赖
6394
+
6395
+ 处理方式:
6396
+ - 记录问题到 Debug Log
6397
+ - 暂停并询问用户
6398
+ - 等待用户确认后继续
6399
+ ```
6400
+
6401
+ ---
6402
+
6403
+ ## 完成标志
6404
+
6405
+ ```yaml
6406
+ 完成条件:
6407
+ 必要条件:
6408
+ - 所有任务和子任务标记为 [x]
6409
+ - 所有测试通过
6410
+ - lint检查通过
6411
+ - 验收标准全部满足
6412
+ - Knowledge References 已记录
6413
+
6414
+ 完成提示: |
6415
+ ✅ 故事开发完成!
6416
+
6417
+ 📄 故事文件: {story_path}
6418
+ 📊 任务完成: {completed_tasks}/{total_tasks}
6419
+ 🧪 测试状态: 全部通过
6420
+
6421
+ 📚 知识引用:
6422
+ - 编码规范: docs/rag/technical/coding-standards/
6423
+ - 架构设计: docs/architecture-increment.md
6424
+ - 中间件规范: {middleware_refs}
6425
+
6426
+ 📁 文件变更:
6427
+ - 新增: {new_files}
6428
+ - 修改: {modified_files}
6429
+ - 删除: {deleted_files}
6430
+
6431
+ 🔄 下一步:
6432
+ - QA审查: 请QA执行 *review-story
6433
+ - 代码审查: 请进行代码评审
6434
+ ==================== END: .xiaoma-core/tasks/develop-story-with-rag.md ====================
6435
+
4849
6436
  ==================== START: .xiaoma-core/checklists/story-dod-checklist.md ====================
4850
6437
  <!-- Powered by XiaoMa™ Core -->
4851
6438