@zeyue0329/xiaoma-cli 1.0.36 → 1.0.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/workspace.xml +27 -26
- package/JAVA-BACKEND-COMMANDS-REFERENCE.md +62 -52
- package/JAVA-BACKEND-ITERATION-GUIDE.md +125 -18
- package/README.md +1 -1
- package/common/utils/bmad-doc-template.md +5 -5
- package/dist/agents/analyst.txt +35 -5
- package/dist/agents/architect.txt +217 -31
- package/dist/agents/automation-orchestrator.txt +4 -4
- package/dist/agents/dev.txt +3 -3
- package/dist/agents/full-requirement-orchestrator.txt +11 -11
- package/dist/agents/qa.txt +102 -102
- package/dist/agents/sm.txt +6 -6
- package/dist/agents/ux-expert.txt +6 -1
- package/dist/agents/workflow-executor.txt +879 -0
- package/dist/agents/xiaoma-master.txt +258 -37
- package/dist/teams/team-all.txt +1223 -445
- package/dist/teams/team-fullstack-with-database.txt +384 -446
- package/dist/teams/team-fullstack.txt +258 -37
- package/dist/teams/team-ide-minimal.txt +111 -111
- package/dist/teams/team-no-ui.txt +252 -36
- package/docs/architecture-sharding-modification.md +623 -0
- package/docs/automated-requirements-analysis-outputs.md +896 -0
- package/package.json +1 -1
- package/tools/builders/web-builder.js +292 -142
- package/tools/bump-all-versions.js +50 -32
- package/tools/cli.js +52 -47
- package/tools/flattener/aggregate.js +30 -12
- package/tools/flattener/binary.js +46 -43
- package/tools/flattener/discovery.js +23 -15
- package/tools/flattener/files.js +6 -6
- package/tools/flattener/ignoreRules.js +122 -121
- package/tools/flattener/main.js +249 -144
- package/tools/flattener/projectRoot.js +74 -69
- package/tools/flattener/prompts.js +12 -10
- package/tools/flattener/stats.helpers.js +90 -61
- package/tools/flattener/stats.js +1 -1
- package/tools/flattener/test-matrix.js +225 -170
- package/tools/flattener/xml.js +31 -23
- package/tools/installer/bin/xiaoma.js +199 -153
- package/tools/installer/lib/config-loader.js +76 -47
- package/tools/installer/lib/file-manager.js +101 -44
- package/tools/installer/lib/ide-base-setup.js +49 -39
- package/tools/installer/lib/ide-setup.js +694 -380
- package/tools/installer/lib/installer.js +802 -469
- package/tools/installer/lib/memory-profiler.js +22 -12
- package/tools/installer/lib/module-manager.js +16 -14
- package/tools/installer/lib/resource-locator.js +61 -35
- package/tools/lib/dependency-resolver.js +34 -23
- package/tools/lib/yaml-utils.js +7 -2
- package/tools/preview-release-notes.js +33 -25
- package/tools/shared/bannerArt.js +3 -3
- package/tools/sync-installer-version.js +16 -7
- package/tools/upgraders/v3-to-v4-upgrader.js +244 -163
- package/tools/version-bump.js +24 -18
- package/tools/xiaoma-npx-wrapper.js +15 -10
- package/tools/yaml-format.js +60 -36
- package/xiaoma-core/agent-teams/team-fullstack-with-database.yaml +0 -1
- package/xiaoma-core/agents/automated-fix-validator.yaml +2 -1
- package/xiaoma-core/agents/automated-quality-validator.yaml +10 -5
- package/xiaoma-core/agents/automation-orchestrator.md +4 -4
- package/xiaoma-core/agents/dev.md +4 -4
- package/xiaoma-core/agents/enhanced-workflow-orchestrator.yaml +2 -1
- package/xiaoma-core/agents/full-requirement-orchestrator.md +11 -11
- package/xiaoma-core/agents/global-requirements-auditor.yaml +11 -3
- package/xiaoma-core/agents/intelligent-template-adapter.yaml +19 -5
- package/xiaoma-core/agents/master-execution-engine.yaml +19 -5
- package/xiaoma-core/agents/workflow-executor.md +126 -18
- package/xiaoma-core/agents/xiaoma-master.md +1 -1
- package/xiaoma-core/data/test-levels-framework.md +12 -12
- package/xiaoma-core/tasks/analyze-existing-database.md +1 -1
- package/xiaoma-core/tasks/apply-qa-fixes.md +3 -3
- package/xiaoma-core/tasks/batch-story-generation.md +22 -22
- package/xiaoma-core/tasks/create-enhanced-story-with-database.md +6 -6
- package/xiaoma-core/tasks/nfr-assess.md +6 -6
- package/xiaoma-core/tasks/project-integration-testing.md +42 -42
- package/xiaoma-core/tasks/qa-gate.md +23 -23
- package/xiaoma-core/tasks/review-story.md +18 -18
- package/xiaoma-core/tasks/risk-profile.md +25 -25
- package/xiaoma-core/tasks/serial-development-orchestration.md +51 -51
- package/xiaoma-core/tasks/test-design.md +9 -9
- package/xiaoma-core/tasks/trace-requirements.md +21 -21
- package/xiaoma-core/templates/competitor-analysis-tmpl.yaml +35 -5
- package/xiaoma-core/templates/front-end-architecture-tmpl.yaml +77 -11
- package/xiaoma-core/templates/front-end-spec-tmpl.yaml +6 -1
- package/xiaoma-core/templates/fullstack-architecture-tmpl.yaml +140 -20
- package/xiaoma-core/templates/global-qa-monitoring-tmpl.yaml +2 -1
- package/xiaoma-core/templates/requirements-coverage-audit.yaml +2 -1
- package/xiaoma-core/workflows/automated-requirements-analysis.yaml +4 -4
- package/dist/agents/database-architect.txt +0 -322
|
@@ -33,21 +33,21 @@ Identify all testable requirements from:
|
|
|
33
33
|
For each requirement, document which tests validate it. Use Given-When-Then to describe what the test validates (not how it's written):
|
|
34
34
|
|
|
35
35
|
```yaml
|
|
36
|
-
requirement:
|
|
36
|
+
requirement: "AC1: User can login with valid credentials"
|
|
37
37
|
test_mappings:
|
|
38
|
-
- test_file:
|
|
39
|
-
test_case:
|
|
38
|
+
- test_file: "auth/login.test.ts"
|
|
39
|
+
test_case: "should successfully login with valid email and password"
|
|
40
40
|
# Given-When-Then describes WHAT the test validates, not HOW it's coded
|
|
41
|
-
given:
|
|
42
|
-
when:
|
|
43
|
-
then:
|
|
41
|
+
given: "A registered user with valid credentials"
|
|
42
|
+
when: "They submit the login form"
|
|
43
|
+
then: "They are redirected to dashboard and session is created"
|
|
44
44
|
coverage: full
|
|
45
45
|
|
|
46
|
-
- test_file:
|
|
47
|
-
test_case:
|
|
48
|
-
given:
|
|
49
|
-
when:
|
|
50
|
-
then:
|
|
46
|
+
- test_file: "e2e/auth-flow.test.ts"
|
|
47
|
+
test_case: "complete login flow"
|
|
48
|
+
given: "User on login page"
|
|
49
|
+
when: "Entering valid credentials and submitting"
|
|
50
|
+
then: "Dashboard loads with user data"
|
|
51
51
|
coverage: integration
|
|
52
52
|
```
|
|
53
53
|
|
|
@@ -69,19 +69,19 @@ Document any gaps found:
|
|
|
69
69
|
|
|
70
70
|
```yaml
|
|
71
71
|
coverage_gaps:
|
|
72
|
-
- requirement:
|
|
73
|
-
gap:
|
|
72
|
+
- requirement: "AC3: Password reset email sent within 60 seconds"
|
|
73
|
+
gap: "No test for email delivery timing"
|
|
74
74
|
severity: medium
|
|
75
75
|
suggested_test:
|
|
76
76
|
type: integration
|
|
77
|
-
description:
|
|
77
|
+
description: "Test email service SLA compliance"
|
|
78
78
|
|
|
79
|
-
- requirement:
|
|
80
|
-
gap:
|
|
79
|
+
- requirement: "AC5: Support 1000 concurrent users"
|
|
80
|
+
gap: "No load testing implemented"
|
|
81
81
|
severity: high
|
|
82
82
|
suggested_test:
|
|
83
83
|
type: performance
|
|
84
|
-
description:
|
|
84
|
+
description: "Load test with 1000 concurrent connections"
|
|
85
85
|
```
|
|
86
86
|
|
|
87
87
|
## Outputs
|
|
@@ -97,11 +97,11 @@ trace:
|
|
|
97
97
|
full: Y
|
|
98
98
|
partial: Z
|
|
99
99
|
none: W
|
|
100
|
-
planning_ref:
|
|
100
|
+
planning_ref: "qa.qaLocation/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md"
|
|
101
101
|
uncovered:
|
|
102
|
-
- ac:
|
|
103
|
-
reason:
|
|
104
|
-
notes:
|
|
102
|
+
- ac: "AC3"
|
|
103
|
+
reason: "No test found for password reset timing"
|
|
104
|
+
notes: "See qa.qaLocation/assessments/{epic}.{story}-trace-{YYYYMMDD}.md"
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
### Output 2: Traceability Report
|
|
@@ -152,11 +152,29 @@ sections:
|
|
|
152
152
|
rows:
|
|
153
153
|
- category: "核心功能"
|
|
154
154
|
items:
|
|
155
|
-
- [
|
|
156
|
-
|
|
155
|
+
- [
|
|
156
|
+
"功能A",
|
|
157
|
+
"{{status}}",
|
|
158
|
+
"{{status}}",
|
|
159
|
+
"{{status}}",
|
|
160
|
+
"{{status}}",
|
|
161
|
+
]
|
|
162
|
+
- [
|
|
163
|
+
"功能B",
|
|
164
|
+
"{{status}}",
|
|
165
|
+
"{{status}}",
|
|
166
|
+
"{{status}}",
|
|
167
|
+
"{{status}}",
|
|
168
|
+
]
|
|
157
169
|
- category: "用户体验"
|
|
158
170
|
items:
|
|
159
|
-
- [
|
|
171
|
+
- [
|
|
172
|
+
"移动应用",
|
|
173
|
+
"{{rating}}",
|
|
174
|
+
"{{rating}}",
|
|
175
|
+
"{{rating}}",
|
|
176
|
+
"{{rating}}",
|
|
177
|
+
]
|
|
160
178
|
- ["上手时间", "{{time}}", "{{time}}", "{{time}}", "{{time}}"]
|
|
161
179
|
- category: "集成与生态系统"
|
|
162
180
|
items:
|
|
@@ -167,11 +185,23 @@ sections:
|
|
|
167
185
|
"{{availability}}",
|
|
168
186
|
"{{availability}}",
|
|
169
187
|
]
|
|
170
|
-
- [
|
|
188
|
+
- [
|
|
189
|
+
"第三方集成",
|
|
190
|
+
"{{number}}",
|
|
191
|
+
"{{number}}",
|
|
192
|
+
"{{number}}",
|
|
193
|
+
"{{number}}",
|
|
194
|
+
]
|
|
171
195
|
- category: "定价与计划"
|
|
172
196
|
items:
|
|
173
197
|
- ["起步价", "{{price}}", "{{price}}", "{{price}}", "{{price}}"]
|
|
174
|
-
- [
|
|
198
|
+
- [
|
|
199
|
+
"免费套餐",
|
|
200
|
+
"{{yes_no}}",
|
|
201
|
+
"{{yes_no}}",
|
|
202
|
+
"{{yes_no}}",
|
|
203
|
+
"{{yes_no}}",
|
|
204
|
+
]
|
|
175
205
|
- id: swot-comparison
|
|
176
206
|
title: SWOT 对比
|
|
177
207
|
instruction: 为你的解决方案与主要竞争对手创建 SWOT 分析
|
|
@@ -73,17 +73,83 @@ sections:
|
|
|
73
73
|
columns: [类别, 技术, 版本, 用途, 选型理由]
|
|
74
74
|
instruction: 根据所选框架和项目需求,填写适当的技术选型。
|
|
75
75
|
rows:
|
|
76
|
-
- [
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
- [
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
76
|
+
- [
|
|
77
|
+
"框架",
|
|
78
|
+
"{{framework}}",
|
|
79
|
+
"{{version}}",
|
|
80
|
+
"{{purpose}}",
|
|
81
|
+
"{{why_chosen}}",
|
|
82
|
+
]
|
|
83
|
+
- [
|
|
84
|
+
"UI 库",
|
|
85
|
+
"{{ui_library}}",
|
|
86
|
+
"{{version}}",
|
|
87
|
+
"{{purpose}}",
|
|
88
|
+
"{{why_chosen}}",
|
|
89
|
+
]
|
|
90
|
+
- [
|
|
91
|
+
"状态管理",
|
|
92
|
+
"{{state_management}}",
|
|
93
|
+
"{{version}}",
|
|
94
|
+
"{{purpose}}",
|
|
95
|
+
"{{why_chosen}}",
|
|
96
|
+
]
|
|
97
|
+
- [
|
|
98
|
+
"路由",
|
|
99
|
+
"{{routing_library}}",
|
|
100
|
+
"{{version}}",
|
|
101
|
+
"{{purpose}}",
|
|
102
|
+
"{{why_chosen}}",
|
|
103
|
+
]
|
|
104
|
+
- [
|
|
105
|
+
"构建工具",
|
|
106
|
+
"{{build_tool}}",
|
|
107
|
+
"{{version}}",
|
|
108
|
+
"{{purpose}}",
|
|
109
|
+
"{{why_chosen}}",
|
|
110
|
+
]
|
|
111
|
+
- [
|
|
112
|
+
"样式方案",
|
|
113
|
+
"{{styling_solution}}",
|
|
114
|
+
"{{version}}",
|
|
115
|
+
"{{purpose}}",
|
|
116
|
+
"{{why_chosen}}",
|
|
117
|
+
]
|
|
118
|
+
- [
|
|
119
|
+
"测试",
|
|
120
|
+
"{{test_framework}}",
|
|
121
|
+
"{{version}}",
|
|
122
|
+
"{{purpose}}",
|
|
123
|
+
"{{why_chosen}}",
|
|
124
|
+
]
|
|
125
|
+
- [
|
|
126
|
+
"组件库",
|
|
127
|
+
"{{component_lib}}",
|
|
128
|
+
"{{version}}",
|
|
129
|
+
"{{purpose}}",
|
|
130
|
+
"{{why_chosen}}",
|
|
131
|
+
]
|
|
132
|
+
- [
|
|
133
|
+
"表单处理",
|
|
134
|
+
"{{form_library}}",
|
|
135
|
+
"{{version}}",
|
|
136
|
+
"{{purpose}}",
|
|
137
|
+
"{{why_chosen}}",
|
|
138
|
+
]
|
|
139
|
+
- [
|
|
140
|
+
"动画",
|
|
141
|
+
"{{animation_lib}}",
|
|
142
|
+
"{{version}}",
|
|
143
|
+
"{{purpose}}",
|
|
144
|
+
"{{why_chosen}}",
|
|
145
|
+
]
|
|
146
|
+
- [
|
|
147
|
+
"开发工具",
|
|
148
|
+
"{{dev_tools}}",
|
|
149
|
+
"{{version}}",
|
|
150
|
+
"{{purpose}}",
|
|
151
|
+
"{{why_chosen}}",
|
|
152
|
+
]
|
|
87
153
|
|
|
88
154
|
- id: project-structure
|
|
89
155
|
title: 项目结构
|
|
@@ -279,7 +279,12 @@ sections:
|
|
|
279
279
|
rows:
|
|
280
280
|
- ["移动端", "{{mobile_min}}", "{{mobile_max}}", "{{mobile_devices}}"]
|
|
281
281
|
- ["平板", "{{tablet_min}}", "{{tablet_max}}", "{{tablet_devices}}"]
|
|
282
|
-
- [
|
|
282
|
+
- [
|
|
283
|
+
"桌面端",
|
|
284
|
+
"{{desktop_min}}",
|
|
285
|
+
"{{desktop_max}}",
|
|
286
|
+
"{{desktop_devices}}",
|
|
287
|
+
]
|
|
283
288
|
- ["宽屏", "{{wide_min}}", "-", "{{wide_devices}}"]
|
|
284
289
|
- id: adaptation-patterns
|
|
285
290
|
title: 适配模式
|
|
@@ -155,27 +155,147 @@ sections:
|
|
|
155
155
|
type: table
|
|
156
156
|
columns: [类别, 技术, 版本, 用途, 理由]
|
|
157
157
|
rows:
|
|
158
|
-
- [
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
- [
|
|
166
|
-
|
|
167
|
-
|
|
158
|
+
- [
|
|
159
|
+
"前端语言",
|
|
160
|
+
"{{fe_language}}",
|
|
161
|
+
"{{version}}",
|
|
162
|
+
"{{purpose}}",
|
|
163
|
+
"{{why_chosen}}",
|
|
164
|
+
]
|
|
165
|
+
- [
|
|
166
|
+
"前端框架",
|
|
167
|
+
"{{fe_framework}}",
|
|
168
|
+
"{{version}}",
|
|
169
|
+
"{{purpose}}",
|
|
170
|
+
"{{why_chosen}}",
|
|
171
|
+
]
|
|
172
|
+
- [
|
|
173
|
+
"UI 组件库",
|
|
174
|
+
"{{ui_library}}",
|
|
175
|
+
"{{version}}",
|
|
176
|
+
"{{purpose}}",
|
|
177
|
+
"{{why_chosen}}",
|
|
178
|
+
]
|
|
179
|
+
- [
|
|
180
|
+
"状态管理",
|
|
181
|
+
"{{state_mgmt}}",
|
|
182
|
+
"{{version}}",
|
|
183
|
+
"{{purpose}}",
|
|
184
|
+
"{{why_chosen}}",
|
|
185
|
+
]
|
|
186
|
+
- [
|
|
187
|
+
"后端语言",
|
|
188
|
+
"{{be_language}}",
|
|
189
|
+
"{{version}}",
|
|
190
|
+
"{{purpose}}",
|
|
191
|
+
"{{why_chosen}}",
|
|
192
|
+
]
|
|
193
|
+
- [
|
|
194
|
+
"后端框架",
|
|
195
|
+
"{{be_framework}}",
|
|
196
|
+
"{{version}}",
|
|
197
|
+
"{{purpose}}",
|
|
198
|
+
"{{why_chosen}}",
|
|
199
|
+
]
|
|
200
|
+
- [
|
|
201
|
+
"API 风格",
|
|
202
|
+
"{{api_style}}",
|
|
203
|
+
"{{version}}",
|
|
204
|
+
"{{purpose}}",
|
|
205
|
+
"{{why_chosen}}",
|
|
206
|
+
]
|
|
207
|
+
- [
|
|
208
|
+
"数据库",
|
|
209
|
+
"{{database}}",
|
|
210
|
+
"{{version}}",
|
|
211
|
+
"{{purpose}}",
|
|
212
|
+
"{{why_chosen}}",
|
|
213
|
+
]
|
|
214
|
+
- [
|
|
215
|
+
"缓存",
|
|
216
|
+
"{{cache}}",
|
|
217
|
+
"{{version}}",
|
|
218
|
+
"{{purpose}}",
|
|
219
|
+
"{{why_chosen}}",
|
|
220
|
+
]
|
|
221
|
+
- [
|
|
222
|
+
"文件存储",
|
|
223
|
+
"{{storage}}",
|
|
224
|
+
"{{version}}",
|
|
225
|
+
"{{purpose}}",
|
|
226
|
+
"{{why_chosen}}",
|
|
227
|
+
]
|
|
168
228
|
- ["认证", "{{auth}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
|
169
|
-
- [
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
- [
|
|
177
|
-
|
|
178
|
-
|
|
229
|
+
- [
|
|
230
|
+
"前端测试",
|
|
231
|
+
"{{fe_test}}",
|
|
232
|
+
"{{version}}",
|
|
233
|
+
"{{purpose}}",
|
|
234
|
+
"{{why_chosen}}",
|
|
235
|
+
]
|
|
236
|
+
- [
|
|
237
|
+
"后端测试",
|
|
238
|
+
"{{be_test}}",
|
|
239
|
+
"{{version}}",
|
|
240
|
+
"{{purpose}}",
|
|
241
|
+
"{{why_chosen}}",
|
|
242
|
+
]
|
|
243
|
+
- [
|
|
244
|
+
"E2E 测试",
|
|
245
|
+
"{{e2e_test}}",
|
|
246
|
+
"{{version}}",
|
|
247
|
+
"{{purpose}}",
|
|
248
|
+
"{{why_chosen}}",
|
|
249
|
+
]
|
|
250
|
+
- [
|
|
251
|
+
"构建工具",
|
|
252
|
+
"{{build_tool}}",
|
|
253
|
+
"{{version}}",
|
|
254
|
+
"{{purpose}}",
|
|
255
|
+
"{{why_chosen}}",
|
|
256
|
+
]
|
|
257
|
+
- [
|
|
258
|
+
"打包工具",
|
|
259
|
+
"{{bundler}}",
|
|
260
|
+
"{{version}}",
|
|
261
|
+
"{{purpose}}",
|
|
262
|
+
"{{why_chosen}}",
|
|
263
|
+
]
|
|
264
|
+
- [
|
|
265
|
+
"IaC 工具",
|
|
266
|
+
"{{iac_tool}}",
|
|
267
|
+
"{{version}}",
|
|
268
|
+
"{{purpose}}",
|
|
269
|
+
"{{why_chosen}}",
|
|
270
|
+
]
|
|
271
|
+
- [
|
|
272
|
+
"CI/CD",
|
|
273
|
+
"{{cicd}}",
|
|
274
|
+
"{{version}}",
|
|
275
|
+
"{{purpose}}",
|
|
276
|
+
"{{why_chosen}}",
|
|
277
|
+
]
|
|
278
|
+
- [
|
|
279
|
+
"监控",
|
|
280
|
+
"{{monitoring}}",
|
|
281
|
+
"{{version}}",
|
|
282
|
+
"{{purpose}}",
|
|
283
|
+
"{{why_chosen}}",
|
|
284
|
+
]
|
|
285
|
+
- [
|
|
286
|
+
"日志",
|
|
287
|
+
"{{logging}}",
|
|
288
|
+
"{{version}}",
|
|
289
|
+
"{{purpose}}",
|
|
290
|
+
"{{why_chosen}}",
|
|
291
|
+
]
|
|
292
|
+
- [
|
|
293
|
+
"CSS 框架",
|
|
294
|
+
"{{css_framework}}",
|
|
295
|
+
"{{version}}",
|
|
296
|
+
"{{purpose}}",
|
|
297
|
+
"{{why_chosen}}",
|
|
298
|
+
]
|
|
179
299
|
|
|
180
300
|
- id: data-models
|
|
181
301
|
title: 数据模型
|
|
@@ -90,7 +90,8 @@ real_time_dashboard:
|
|
|
90
90
|
|
|
91
91
|
- widget: "resolution_progress"
|
|
92
92
|
display: "Kanban Board"
|
|
93
|
-
columns:
|
|
93
|
+
columns:
|
|
94
|
+
["identified", "assigned", "in_progress", "validation", "resolved"]
|
|
94
95
|
drag_drop: false # 只读视图
|
|
95
96
|
|
|
96
97
|
- widget: "sla_compliance"
|
|
@@ -245,7 +245,8 @@ quality_check_rules:
|
|
|
245
245
|
criticality: "HIGH"
|
|
246
246
|
|
|
247
247
|
- element: "开发者代理记录"
|
|
248
|
-
required_subsections:
|
|
248
|
+
required_subsections:
|
|
249
|
+
["使用的代理模型", "数据库实现记录", "API实现记录", "文件列表"]
|
|
249
250
|
criticality: "LOW"
|
|
250
251
|
|
|
251
252
|
# 实施状态验证规则
|
|
@@ -1061,7 +1061,7 @@ workflow:
|
|
|
1061
1061
|
action: proceed_to_architecture_design
|
|
1062
1062
|
message: "✅ 所有史诗创建完成,准备进行技术架构设计"
|
|
1063
1063
|
|
|
1064
|
-
|
|
1064
|
+
detailed_notes: |
|
|
1065
1065
|
PM 拆分史诗的完整流程:
|
|
1066
1066
|
1. 保持 PM Agent 激活状态
|
|
1067
1067
|
2. 从 PRD 的"实施计划"部分提取史诗清单
|
|
@@ -1521,9 +1521,9 @@ workflow:
|
|
|
1521
1521
|
- 下一阶段:用户故事创建和细化
|
|
1522
1522
|
- 建议使用:automated-story-development.yaml 工作流
|
|
1523
1523
|
- 前置条件已满足:
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1524
|
+
- Epic 文档已创建
|
|
1525
|
+
- 数据库设计已完成
|
|
1526
|
+
- 架构设计已完成
|
|
1527
1527
|
|
|
1528
1528
|
section_4_metrics:
|
|
1529
1529
|
- 识别的 Epic 数量
|