@zeyue0329/xiaoma-cli 1.0.42 → 1.0.44

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.
Files changed (37) hide show
  1. package/.idea/workspace.xml +2 -7
  2. package/JAVA-BACKEND-COMMANDS-REFERENCE.md +2 -2
  3. package/JAVA-BACKEND-ITERATION-GUIDE.md +31 -31
  4. package/dist/agents/analyst.txt +1514 -0
  5. package/dist/agents/architect.txt +1 -1
  6. package/dist/agents/pm.txt +20 -20
  7. package/dist/agents/po.txt +1 -1
  8. package/dist/agents/sm.txt +1 -1
  9. package/dist/agents/workflow-executor.txt +22 -22
  10. package/dist/agents/xiaoma-master.txt +20 -20
  11. package/dist/teams/team-all.txt +1640 -331
  12. package/dist/teams/team-fullstack-with-database.txt +1616 -307
  13. package/dist/teams/team-fullstack.txt +1618 -309
  14. package/dist/teams/team-ide-minimal.txt +2 -2
  15. package/dist/teams/team-no-ui.txt +1618 -309
  16. package/docs/architecture-sharding-modification.md +4 -4
  17. package/docs/automated-requirements-analysis-outputs.md +29 -29
  18. package/docs/prd/workflow-coordinator-prd.md +2 -2
  19. package/package.json +1 -1
  20. package/xiaoma-core/agents/analyst.md +8 -0
  21. package/xiaoma-core/agents/pm.md +1 -1
  22. package/xiaoma-core/agents/po.md +1 -1
  23. package/xiaoma-core/agents/requirements-coverage-auditor.yaml +1 -1
  24. package/xiaoma-core/agents/sm.md +1 -1
  25. package/xiaoma-core/agents/workflow-executor.md +22 -22
  26. package/xiaoma-core/tasks/batch-story-generation.md +1 -1
  27. package/xiaoma-core/tasks/requirement-analysis-with-rag.md +352 -0
  28. package/xiaoma-core/tasks/requirements-coverage-audit.md +5 -5
  29. package/xiaoma-core/templates/fullstack-architecture-tmpl.yaml +1 -1
  30. package/xiaoma-core/templates/prd-tmpl.yaml +19 -19
  31. package/xiaoma-core/templates/rag-knowledge-tmpl.yaml +569 -0
  32. package/xiaoma-core/templates/rag-questions-tmpl.yaml +371 -0
  33. package/xiaoma-core/templates/requirements-coverage-audit.yaml +6 -6
  34. package/xiaoma-core/workflows/automated-requirements-analysis.yaml +90 -90
  35. package/xiaoma-core/workflows/automated-requirements-development.yaml +10 -10
  36. package/xiaoma-core/workflows/enhanced-fullstack-with-qa-loop.yaml +1 -1
  37. package/xiaoma-core/workflows/full-requirement-automation.yaml +1 -1
@@ -0,0 +1,352 @@
1
+ <!-- Powered by XiaoMa™ Core -->
2
+
3
+ # 基于知识库的需求分析任务
4
+
5
+ ## Purpose
6
+
7
+ 通过结合外部需求文档(req.txt)和知识库(RAG/MCP)进行深度需求分析,生成高质量的PRD文档。
8
+
9
+ ## Workflow Overview
10
+
11
+ ```
12
+ req.txt → 问题生成 → 知识库查询 → 知识落地(docs/rag/) → 需求分析 → PRD生成
13
+ ```
14
+
15
+ ## Phase 1: 需求文档解析与问题生成
16
+
17
+ ### 1.1 需求文档初步解析
18
+
19
+ 首先读取并分析 req.txt 文档,识别以下关键信息:
20
+
21
+ ```yaml
22
+ 解析维度:
23
+ 业务领域: 识别需求所属的业务领域和子领域
24
+ 核心功能: 提取需求描述的主要功能点
25
+ 用户角色: 识别涉及的用户类型和角色
26
+ 业务流程: 提取隐含或显式的业务流程
27
+ 数据实体: 识别涉及的数据对象和关系
28
+ 集成点: 识别与外部系统的交互需求
29
+ 约束条件: 提取技术、业务、时间等约束
30
+ 模糊点: 标记需要澄清的不明确内容
31
+ ```
32
+
33
+ ### 1.2 知识库问题生成框架
34
+
35
+ 基于解析结果,生成以下类别的问题向知识库查询:
36
+
37
+ ---
38
+
39
+ ## Phase 2: 知识库提问清单模板
40
+
41
+ ### 类别 A: 业务知识查询
42
+
43
+ #### A1. 业务领域背景
44
+ ```
45
+ 问题模板:
46
+ - "关于[业务领域],现有系统中有哪些相关的业务规则和约束?"
47
+ - "[业务流程名称]的完整流程是什么?包括哪些步骤和参与者?"
48
+ - "在[业务场景]中,有哪些已知的边界情况和异常处理逻辑?"
49
+ - "[业务概念A]和[业务概念B]之间的关系是什么?"
50
+ ```
51
+
52
+ #### A2. 现有功能调研
53
+ ```
54
+ 问题模板:
55
+ - "系统中是否已存在类似[功能描述]的功能?如果有,实现方式是什么?"
56
+ - "[模块名称]目前支持哪些操作?有什么限制?"
57
+ - "用户当前如何完成[业务目标]?现有流程有什么痛点?"
58
+ ```
59
+
60
+ #### A3. 业务规则确认
61
+ ```
62
+ 问题模板:
63
+ - "[数据实体]的业务规则有哪些?例如:必填字段、取值范围、状态流转规则"
64
+ - "[操作A]在什么条件下可以执行?有哪些前置条件?"
65
+ - "不同[用户角色]在[功能]上的权限差异是什么?"
66
+ ```
67
+
68
+ ---
69
+
70
+ ### 类别 B: 技术知识查询
71
+
72
+ #### B1. 系统架构
73
+ ```
74
+ 问题模板:
75
+ - "现有系统的技术架构是什么?使用了哪些核心框架和技术栈?"
76
+ - "[模块名称]的代码结构和目录组织是怎样的?"
77
+ - "系统的数据库设计采用什么模式?主要的数据表有哪些?"
78
+ - "系统中有哪些公共组件和工具类可以复用?"
79
+ ```
80
+
81
+ #### B2. 接口与集成
82
+ ```
83
+ 问题模板:
84
+ - "与[外部系统]的集成接口是什么?数据格式和协议是什么?"
85
+ - "系统提供了哪些API接口?[功能相关]的接口规范是什么?"
86
+ - "现有的消息队列/事件机制是如何设计的?"
87
+ ```
88
+
89
+ #### B3. 数据模型
90
+ ```
91
+ 问题模板:
92
+ - "[数据实体]在数据库中的表结构是什么?包含哪些字段?"
93
+ - "[实体A]和[实体B]之间的数据库关系是怎样的?"
94
+ - "系统中有哪些枚举值或字典表与[业务领域]相关?"
95
+ ```
96
+
97
+ #### B4. 代码实现参考
98
+ ```
99
+ 问题模板:
100
+ - "类似[功能]的实现在代码中是如何组织的?请提供示例代码位置"
101
+ - "[技术方案]在现有代码中有没有参考实现?"
102
+ - "系统中处理[技术问题]的通用模式是什么?"
103
+ ```
104
+
105
+ ---
106
+
107
+ ### 类别 C: 历史需求与变更
108
+
109
+ #### C1. 相关需求追溯
110
+ ```
111
+ 问题模板:
112
+ - "之前有没有类似[需求描述]的需求?实现情况如何?"
113
+ - "[功能模块]的历史变更记录有哪些?最近的改动是什么?"
114
+ - "有没有与[需求]相关的已知问题或技术债务?"
115
+ ```
116
+
117
+ #### C2. 决策记录
118
+ ```
119
+ 问题模板:
120
+ - "[技术方案]为什么选择了当前的实现方式?有什么历史背景?"
121
+ - "[设计决策]有没有相关的ADR(架构决策记录)?"
122
+ ```
123
+
124
+ ---
125
+
126
+ ### 类别 D: 上下文与约束
127
+
128
+ #### D1. 项目约束
129
+ ```
130
+ 问题模板:
131
+ - "项目的技术栈限制有哪些?必须遵循的技术规范是什么?"
132
+ - "项目的安全合规要求有哪些?"
133
+ - "项目的性能要求和SLA标准是什么?"
134
+ ```
135
+
136
+ #### D2. 团队规范
137
+ ```
138
+ 问题模板:
139
+ - "团队的代码规范和开发流程是什么?"
140
+ - "团队的测试要求和代码审查标准是什么?"
141
+ - "项目的部署流程和环境配置是怎样的?"
142
+ ```
143
+
144
+ ---
145
+
146
+ ## Phase 3: 问题生成执行流程
147
+
148
+ ### 3.1 智能问题生成
149
+
150
+ ```yaml
151
+ 执行步骤:
152
+ 步骤1_解析需求:
153
+ 输入: req.txt
154
+ 动作: 提取关键实体、流程、约束
155
+ 输出: 需求要素清单
156
+
157
+ 步骤2_映射问题类别:
158
+ 输入: 需求要素清单
159
+ 动作: 将每个要素映射到问题类别(A/B/C/D)
160
+ 输出: 问题类别映射表
161
+
162
+ 步骤3_生成具体问题:
163
+ 输入: 问题类别映射表 + 问题模板
164
+ 动作: 用具体内容填充模板生成问题
165
+ 输出: 知识库查询问题清单
166
+
167
+ 步骤4_问题优先级排序:
168
+ 优先级规则:
169
+ P0_阻塞级: 缺失会导致无法理解需求的核心问题
170
+ P1_重要级: 影响需求完整性的问题
171
+ P2_补充级: 有助于优化实现的问题
172
+ ```
173
+
174
+ ### 3.2 问题清单输出格式
175
+
176
+ ```markdown
177
+ # 知识库查询问题清单
178
+
179
+ ## 基本信息
180
+ - 需求文档: req.txt
181
+ - 生成时间: {{timestamp}}
182
+ - 问题总数: {{total_count}}
183
+
184
+ ## P0 阻塞级问题 (必须回答)
185
+
186
+ ### 业务知识
187
+ 1. [A1-001] {{具体问题}}
188
+ - 关联需求点: {{需求中的相关描述}}
189
+ - 预期答案类型: {{期望获得的信息类型}}
190
+
191
+ ### 技术知识
192
+ 2. [B1-001] {{具体问题}}
193
+ - 关联需求点: {{需求中的相关描述}}
194
+ - 预期答案类型: {{期望获得的信息类型}}
195
+
196
+ ## P1 重要级问题 (建议回答)
197
+ ...
198
+
199
+ ## P2 补充级问题 (可选回答)
200
+ ...
201
+ ```
202
+
203
+ ---
204
+
205
+ ## Phase 4: 知识落地与组织
206
+
207
+ ### 4.1 知识存储结构
208
+
209
+ ```
210
+ docs/rag/
211
+ ├── _index.md # 知识索引文件
212
+ ├── business/ # 业务知识
213
+ │ ├── domain-rules.md # 业务规则
214
+ │ ├── processes.md # 业务流程
215
+ │ └── entities.md # 业务实体
216
+ ├── technical/ # 技术知识
217
+ │ ├── architecture.md # 系统架构
218
+ │ ├── data-model.md # 数据模型
219
+ │ ├── apis.md # 接口规范
220
+ │ └── code-patterns.md # 代码模式
221
+ ├── history/ # 历史信息
222
+ │ ├── related-requirements.md # 相关需求
223
+ │ └── decisions.md # 决策记录
224
+ └── constraints/ # 约束条件
225
+ ├── technical.md # 技术约束
226
+ └── compliance.md # 合规要求
227
+ ```
228
+
229
+ ### 4.2 知识文档格式
230
+
231
+ ```markdown
232
+ # {{知识标题}}
233
+
234
+ ## 元信息
235
+ - 来源: 知识库MCP查询
236
+ - 查询问题: {{原始问题}}
237
+ - 查询时间: {{timestamp}}
238
+ - 置信度: {{high/medium/low}}
239
+
240
+ ## 内容摘要
241
+ {{一句话总结}}
242
+
243
+ ## 详细内容
244
+ {{知识库返回的完整内容}}
245
+
246
+ ## 与需求的关联
247
+ - 关联需求点: {{req.txt中的相关内容}}
248
+ - 影响分析: {{这个知识如何影响需求实现}}
249
+
250
+ ## 后续问题
251
+ {{基于此知识产生的新问题(如有)}}
252
+ ```
253
+
254
+ ---
255
+
256
+ ## Phase 5: 需求分析与PRD生成
257
+
258
+ ### 5.1 分析输入整合
259
+
260
+ ```yaml
261
+ 分析输入:
262
+ 主要输入:
263
+ - req.txt: 原始需求文档
264
+ - docs/rag/*: 知识库查询结果
265
+ 辅助输入:
266
+ - 项目简报(如存在): docs/brief.md
267
+ - 技术偏好(如存在): data/technical-preferences.yaml
268
+ ```
269
+
270
+ ### 5.2 需求分析维度
271
+
272
+ ```yaml
273
+ 分析维度:
274
+ 功能分析:
275
+ - 核心功能拆解
276
+ - 功能优先级排序
277
+ - 功能依赖关系
278
+
279
+ 用户分析:
280
+ - 用户角色定义
281
+ - 用户旅程映射
282
+ - 用户价值主张
283
+
284
+ 技术分析:
285
+ - 技术可行性评估
286
+ - 与现有系统的兼容性
287
+ - 技术风险识别
288
+
289
+ 业务分析:
290
+ - 业务规则验证
291
+ - 业务流程优化机会
292
+ - 业务价值量化
293
+
294
+ 差距分析:
295
+ - 现有能力 vs 需求能力
296
+ - 需要新增/修改的功能
297
+ - 需要新增/修改的数据
298
+ ```
299
+
300
+ ### 5.3 PRD生成流程
301
+
302
+ ```yaml
303
+ PRD生成:
304
+ 步骤1:
305
+ 动作: 整合所有知识输入
306
+ 输出: 知识上下文汇总
307
+
308
+ 步骤2:
309
+ 动作: 执行需求分析(5.2维度)
310
+ 输出: 需求分析报告
311
+
312
+ 步骤3:
313
+ 动作: 套用PRD模板(prd-tmpl.yaml)
314
+ 输出: PRD草稿
315
+
316
+ 步骤4:
317
+ 动作: 启发式验证(advanced-elicitation)
318
+ 输出: 优化后的PRD
319
+
320
+ 步骤5:
321
+ 动作: 输出最终PRD到指定位置
322
+ 输出: docs/prd.md
323
+ ```
324
+
325
+ ---
326
+
327
+ ## 使用说明
328
+
329
+ ### 智能体激活命令
330
+
331
+ ```
332
+ *analyze-requirement {req_file}
333
+ ```
334
+
335
+ ### 执行参数
336
+
337
+ ```yaml
338
+ 参数:
339
+ req_file: 需求文档路径 (默认: req.txt)
340
+ rag_output: 知识输出路径 (默认: docs/rag/)
341
+ prd_output: PRD输出路径 (默认: docs/prd.md)
342
+ skip_rag: 跳过知识库查询 (默认: false)
343
+ interactive: 交互模式 (默认: true)
344
+ ```
345
+
346
+ ### 交互模式流程
347
+
348
+ 1. **解析阶段**: 展示需求解析结果,请用户确认
349
+ 2. **提问阶段**: 展示问题清单,请用户确认或调整
350
+ 3. **查询阶段**: 依次查询知识库,展示返回结果
351
+ 4. **分析阶段**: 展示分析结论,请用户确认
352
+ 5. **生成阶段**: 生成PRD草稿,启用启发式优化
@@ -11,7 +11,7 @@
11
11
  ### 📋 需求转化检查
12
12
 
13
13
  - PRD文档需求是否完全转化为用户故事
14
- - 史诗级需求的用户故事覆盖度分析
14
+ - 模块级需求的用户故事覆盖度分析
15
15
  - 需求优先级和实施状态匹配度验证
16
16
 
17
17
  ### ✅ 用户故事完整性检查
@@ -36,10 +36,10 @@
36
36
  *requirements-coverage-audit
37
37
  ```
38
38
 
39
- ### 专注特定史诗的审计
39
+ ### 专注特定模块的审计
40
40
 
41
41
  ```bash
42
- *coverage-audit --epic=史诗-1基础设施与核心文档展示
42
+ *coverage-audit --epic=模块-1基础设施与核心文档展示
43
43
  ```
44
44
 
45
45
  ### 验证用户故事状态准确性
@@ -54,12 +54,12 @@
54
54
 
55
55
  1. **加载PRD文档**
56
56
  - 读取主PRD文档
57
- - 扫描docs/prd/目录下的史诗文件
57
+ - 扫描docs/prd/目录下的模块文件
58
58
  - 提取所有需求和用户故事定义
59
59
  - 构建需求层次结构
60
60
 
61
61
  2. **提取需求矩阵**
62
- - 识别所有史诗和用户故事
62
+ - 识别所有模块和用户故事
63
63
  - 提取验收标准和功能点
64
64
  - 分析需求优先级
65
65
  - 构建需求依赖关系
@@ -340,7 +340,7 @@ sections:
340
340
  1. 如果是 REST API, 创建一个 OpenAPI 3.0 规范
341
341
  2. 如果是 GraphQL, 提供 GraphQL 模式
342
342
  3. 如果是 tRPC, 展示路由定义
343
- 4. 包括来自史诗/故事的所有端点
343
+ 4. 包括来自模块/故事的所有端点
344
344
  5. 基于数据模型定义请求/响应模式
345
345
  6. 记录认证要求
346
346
  7. 包括请求/响应示例
@@ -73,7 +73,7 @@ sections:
73
73
  title: 关键交互范式
74
74
  - id: core-screens
75
75
  title: 核心屏幕与视图
76
- instruction: 从产品角度看,为实现 PRD 的价值和目标,最关键的屏幕或视图是什么?这旨在提供概念性的高层概览,以驱动粗略的史诗或用户故事。
76
+ instruction: 从产品角度看,为实现 PRD 的价值和目标,最关键的屏幕或视图是什么?这旨在提供概念性的高层概览,以驱动粗略的模块或用户故事。
77
77
  examples:
78
78
  - "登录屏幕"
79
79
  - "主仪表盘"
@@ -123,38 +123,38 @@ sections:
123
123
  instruction: 在起草本文档的整个过程中,如果提出或发现任何其他适合架构师的技术假设,请在此处作为额外的项目符号添加。
124
124
 
125
125
  - id: epic-list
126
- title: 史诗列表
126
+ title: 模块列表
127
127
  instruction: |
128
- 向用户呈现一份高层次的史诗列表以供批准。每个史诗应有一个标题和一个简短的(1句话)目标陈述。这使用户能在深入细节之前审阅整体结构。
128
+ 向用户呈现一份高层次的模块列表以供批准。每个模块应有一个标题和一个简短的(1句话)目标陈述。这使用户能在深入细节之前审阅整体结构。
129
129
 
130
- 关键:史诗必须遵循敏捷最佳实践,保持逻辑上的顺序:
130
+ 关键:模块必须遵循敏捷最佳实践,保持逻辑上的顺序:
131
131
 
132
- - 每个史诗都应交付一个重要的、端到端的、完全可部署且可测试的功能增量。
133
- - 史诗 1 必须建立基础项目设施(应用设置、Git、CI/CD、核心服务),除非我们是向现有应用添加新功能。同时,它还应交付一个初始功能,即使只是一个健康检查路由或一个简单的金丝雀页面显示——在为第一个史诗编写用户故事时要记住这一点!
134
- - 每个后续的史诗都在之前史诗功能的基础上构建,交付主要的功能模块,这些模块在部署时能为用户或业务提供切实的价值。
135
- - 并非每个项目都需要多个史诗,一个史诗需要交付价值。例如,一个已完成的 API 即使 UI 尚未完成并计划在另一个史诗中实现,也可以交付价值。
136
- - 倾向于设置较少的史诗,但要告知用户你的理由,并提供拆分选项,如果某些史诗看起来太大或关注点分散的话。
137
- - 横切关注点应该贯穿于史诗和用户故事中,而不是作为最后的用户故事。例如,在一个史诗的最后一个故事中添加日志框架,或者在项目结束时作为最后一个史诗或故事来做,这将非常糟糕,因为我们从一开始就没有日志记录。
132
+ - 每个模块都应交付一个重要的、端到端的、完全可部署且可测试的功能增量。
133
+ - 模块 1 必须建立基础项目设施(应用设置、Git、CI/CD、核心服务),除非我们是向现有应用添加新功能。同时,它还应交付一个初始功能,即使只是一个健康检查路由或一个简单的金丝雀页面显示——在为第一个模块编写用户故事时要记住这一点!
134
+ - 每个后续的模块都在之前模块功能的基础上构建,交付主要的功能模块,这些模块在部署时能为用户或业务提供切实的价值。
135
+ - 并非每个项目都需要多个模块,一个模块需要交付价值。例如,一个已完成的 API 即使 UI 尚未完成并计划在另一个模块中实现,也可以交付价值。
136
+ - 倾向于设置较少的模块,但要告知用户你的理由,并提供拆分选项,如果某些模块看起来太大或关注点分散的话。
137
+ - 横切关注点应该贯穿于模块和用户故事中,而不是作为最后的用户故事。例如,在一个模块的最后一个故事中添加日志框架,或者在项目结束时作为最后一个模块或故事来做,这将非常糟糕,因为我们从一开始就没有日志记录。
138
138
  elicit: true
139
139
  examples:
140
- - "史诗 1:基础与核心设施:建立项目设置、认证和基本用户管理"
141
- - "史诗 2:核心业务实体:创建和管理主要领域对象的 CRUD 操作"
142
- - "史诗 3:用户工作流与交互:实现关键用户旅程和业务流程"
143
- - "史诗 4:报告与分析:为用户提供洞察和数据可视化"
140
+ - "模块 1:基础与核心设施:建立项目设置、认证和基本用户管理"
141
+ - "模块 2:核心业务实体:创建和管理主要领域对象的 CRUD 操作"
142
+ - "模块 3:用户工作流与交互:实现关键用户旅程和业务流程"
143
+ - "模块 4:报告与分析:为用户提供洞察和数据可视化"
144
144
 
145
145
  - id: epic-details
146
- title: 史诗 {{epic_number}} {{epic_title}}
146
+ title: 模块 {{epic_number}} {{epic_title}}
147
147
  repeatable: true
148
148
  instruction: |
149
- 在史诗列表被批准后,将每个史诗及其所有的用户故事和验收标准作为一个完整的审查单元呈现。
149
+ 在模块列表被批准后,将每个模块及其所有的用户故事和验收标准作为一个完整的审查单元呈现。
150
150
 
151
- 为每个史诗提供扩展的目标(2-3 句话描述所有故事将实现的目标和价值)。
151
+ 为每个模块提供扩展的目标(2-3 句话描述所有故事将实现的目标和价值)。
152
152
 
153
153
  关键的用户故事排序要求:
154
154
 
155
- - 每个史诗中的用户故事必须在逻辑上是顺序的。
155
+ - 每个模块中的用户故事必须在逻辑上是顺序的。
156
156
  - 每个故事都应该是一个“垂直切片”,交付完整的功能,除了项目基础的早期使能型故事。
157
- - 任何故事都不应依赖于后续故事或史诗的工作。
157
+ - 任何故事都不应依赖于后续故事或模块的工作。
158
158
  - 识别并注明任何直接的前置故事。
159
159
  - 关注“做什么”和“为什么”,而不是“怎么做”(将技术实现留给架构师),但要足够精确以支持故事之间逻辑上顺序的操作。
160
160
  - 确保每个故事都交付明确的用户或业务价值,尽量避免使能型故事,而是将它们构建到交付价值的故事中。