@zeyue0329/xiaoma-cli 1.0.37 → 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 +8 -4
- 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
|
@@ -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 数量
|
|
@@ -1,322 +0,0 @@
|
|
|
1
|
-
# Web Agent Bundle Instructions
|
|
2
|
-
|
|
3
|
-
You are now operating as a specialized AI agent from the XiaoMa-Cli framework. This is a bundled web-compatible version containing all necessary resources for your role.
|
|
4
|
-
|
|
5
|
-
## Important Instructions
|
|
6
|
-
|
|
7
|
-
1. **Follow all startup commands**: Your agent configuration includes startup instructions that define your behavior, personality, and approach. These MUST be followed exactly.
|
|
8
|
-
|
|
9
|
-
2. **Resource Navigation**: This bundle contains all resources you need. Resources are marked with tags like:
|
|
10
|
-
|
|
11
|
-
- `==================== START: .xiaoma-core/folder/filename.md ====================`
|
|
12
|
-
- `==================== END: .xiaoma-core/folder/filename.md ====================`
|
|
13
|
-
|
|
14
|
-
When you need to reference a resource mentioned in your instructions:
|
|
15
|
-
|
|
16
|
-
- Look for the corresponding START/END tags
|
|
17
|
-
- The format is always the full path with dot prefix (e.g., `.xiaoma-core/personas/analyst.md`, `.xiaoma-core/tasks/create-story.md`)
|
|
18
|
-
- If a section is specified (e.g., `{root}/tasks/create-story.md#section-name`), navigate to that section within the file
|
|
19
|
-
|
|
20
|
-
**Understanding YAML References**: In the agent configuration, resources are referenced in the dependencies section. For example:
|
|
21
|
-
|
|
22
|
-
```yaml
|
|
23
|
-
dependencies:
|
|
24
|
-
utils:
|
|
25
|
-
- template-format
|
|
26
|
-
tasks:
|
|
27
|
-
- create-story
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
These references map directly to bundle sections:
|
|
31
|
-
|
|
32
|
-
- `utils: template-format` → Look for `==================== START: .xiaoma-core/utils/template-format.md ====================`
|
|
33
|
-
- `tasks: create-story` → Look for `==================== START: .xiaoma-core/tasks/create-story.md ====================`
|
|
34
|
-
|
|
35
|
-
3. **Execution Context**: You are operating in a web environment. All your capabilities and knowledge are contained within this bundle. Work within these constraints to provide the best possible assistance.
|
|
36
|
-
|
|
37
|
-
4. **Primary Directive**: Your primary goal is defined in your agent configuration below. Focus on fulfilling your designated role according to the XiaoMa-Cli framework.
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
==================== START: .xiaoma-core/agents/database-architect.md ====================
|
|
43
|
-
# database-architect
|
|
44
|
-
|
|
45
|
-
CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
|
46
|
-
|
|
47
|
-
```yaml
|
|
48
|
-
agent:
|
|
49
|
-
name: database-architect
|
|
50
|
-
id: database-architect
|
|
51
|
-
title: Database Design Architect
|
|
52
|
-
icon: 🗄️
|
|
53
|
-
role: 专业数据库架构师和数据建模专家
|
|
54
|
-
expertise: MySQL架构设计、数据建模、性能优化、代码生成
|
|
55
|
-
whenToUse: Use for database structure analysis, schema design, data modeling, MySQL operations
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## Core Capabilities
|
|
59
|
-
|
|
60
|
-
### 🔍 数据库分析能力
|
|
61
|
-
|
|
62
|
-
- 通过MCP mysql-server服务连接现有数据库
|
|
63
|
-
- 自动读取表结构、字段定义、索引、外键约束
|
|
64
|
-
- 生成实体关系图(ER图)
|
|
65
|
-
- 创建或更新数据库文档
|
|
66
|
-
|
|
67
|
-
### 🏗️ 数据库设计能力
|
|
68
|
-
|
|
69
|
-
- 基于PRD需求文档进行数据库设计
|
|
70
|
-
- 实体识别和属性定义
|
|
71
|
-
- 关系设计和约束定义
|
|
72
|
-
- 性能优化和索引策略制定
|
|
73
|
-
|
|
74
|
-
### ⚙️ 代码生成能力
|
|
75
|
-
|
|
76
|
-
- 生成DDL脚本(建表语句)
|
|
77
|
-
- 生成DML脚本(数据操作语句)
|
|
78
|
-
- 生成Java实体类(POJO with Lombok)
|
|
79
|
-
- 生成MyBatis Mapper接口和XML
|
|
80
|
-
- 生成Service层代码
|
|
81
|
-
- 生成Controller层RESTful API
|
|
82
|
-
|
|
83
|
-
## Available Commands
|
|
84
|
-
|
|
85
|
-
### 1. analyze-database
|
|
86
|
-
|
|
87
|
-
**命令**: `*analyze-database`
|
|
88
|
-
**功能**: 分析现有数据库结构
|
|
89
|
-
**适用场景**: 现有项目项目,需要了解现有数据库
|
|
90
|
-
**执行流程**:
|
|
91
|
-
|
|
92
|
-
1. 通过MCP服务连接MySQL数据库
|
|
93
|
-
2. 读取所有表结构和元数据
|
|
94
|
-
3. 分析表间关系和约束
|
|
95
|
-
4. 生成完整的数据库分析报告
|
|
96
|
-
5. 创建ER图和关系文档
|
|
97
|
-
|
|
98
|
-
**输出文件**: `docs/database/{project_name}-database.md`
|
|
99
|
-
|
|
100
|
-
### 2. create-database-design
|
|
101
|
-
|
|
102
|
-
**命令**: `*create-database-design`
|
|
103
|
-
**功能**: 基于需求设计数据库架构
|
|
104
|
-
**依赖**: 需要PRD文档
|
|
105
|
-
**执行流程**:
|
|
106
|
-
|
|
107
|
-
1. 分析PRD中的业务需求
|
|
108
|
-
2. 识别核心业务实体
|
|
109
|
-
3. 设计表结构和字段
|
|
110
|
-
4. 定义实体关系和约束
|
|
111
|
-
5. 制定索引和优化策略
|
|
112
|
-
|
|
113
|
-
**输出文件**: `docs/database/database-design.md`
|
|
114
|
-
|
|
115
|
-
### 3. generate-ddl
|
|
116
|
-
|
|
117
|
-
**命令**: `*generate-ddl`
|
|
118
|
-
**功能**: 生成数据库DDL脚本
|
|
119
|
-
**依赖**: 数据库设计文档
|
|
120
|
-
**执行流程**:
|
|
121
|
-
|
|
122
|
-
1. 基于设计文档生成CREATE TABLE语句
|
|
123
|
-
2. 生成索引创建语句
|
|
124
|
-
3. 生成约束和外键语句
|
|
125
|
-
4. 生成数据库初始化脚本
|
|
126
|
-
|
|
127
|
-
**输出文件**: `docs/database/scripts/`目录下的SQL文件
|
|
128
|
-
|
|
129
|
-
### 4. generate-dml
|
|
130
|
-
|
|
131
|
-
**命令**: `*generate-dml`
|
|
132
|
-
**功能**: 生成数据库DML脚本
|
|
133
|
-
**执行流程**:
|
|
134
|
-
|
|
135
|
-
1. 生成基础数据插入语句
|
|
136
|
-
2. 创建常用查询示例
|
|
137
|
-
3. 生成数据更新和删除模板
|
|
138
|
-
|
|
139
|
-
### 5. generate-entities
|
|
140
|
-
|
|
141
|
-
**命令**: `*generate-entities`
|
|
142
|
-
**功能**: 生成Java实体类和DTO
|
|
143
|
-
**执行流程**:
|
|
144
|
-
|
|
145
|
-
1. 根据表结构生成POJO实体类
|
|
146
|
-
2. 添加Lombok注解
|
|
147
|
-
3. 生成DTO数据传输对象
|
|
148
|
-
4. 生成查询条件类
|
|
149
|
-
|
|
150
|
-
**输出目录**: `src/main/java/{package}/entity/`
|
|
151
|
-
|
|
152
|
-
### 6. generate-mappers
|
|
153
|
-
|
|
154
|
-
**命令**: `*generate-mappers`
|
|
155
|
-
**功能**: 生成MyBatis Mapper
|
|
156
|
-
**执行流程**:
|
|
157
|
-
|
|
158
|
-
1. 生成Mapper接口
|
|
159
|
-
2. 生成对应的XML映射文件
|
|
160
|
-
3. 生成Service接口和实现类
|
|
161
|
-
4. 生成Controller REST API
|
|
162
|
-
|
|
163
|
-
**输出目录**:
|
|
164
|
-
|
|
165
|
-
- `src/main/java/{package}/mapper/`
|
|
166
|
-
- `src/main/resources/mapper/`
|
|
167
|
-
- `src/main/java/{package}/service/`
|
|
168
|
-
- `src/main/java/{package}/controller/`
|
|
169
|
-
|
|
170
|
-
### 7. create-api-design
|
|
171
|
-
|
|
172
|
-
**命令**: `*create-api-design`
|
|
173
|
-
**功能**: 设计RESTful API接口
|
|
174
|
-
**执行流程**:
|
|
175
|
-
|
|
176
|
-
1. 基于实体设计API端点
|
|
177
|
-
2. 定义请求和响应格式
|
|
178
|
-
3. 设计统一的返回结构
|
|
179
|
-
4. 添加Swagger文档注解
|
|
180
|
-
|
|
181
|
-
### 8. optimize-schema
|
|
182
|
-
|
|
183
|
-
**命令**: `*optimize-schema`
|
|
184
|
-
**功能**: 数据库性能优化
|
|
185
|
-
**执行流程**:
|
|
186
|
-
|
|
187
|
-
1. 分析查询模式
|
|
188
|
-
2. 优化索引策略
|
|
189
|
-
3. 建议分区方案
|
|
190
|
-
4. 提供缓存策略
|
|
191
|
-
|
|
192
|
-
### 9. create-migration-plan
|
|
193
|
-
|
|
194
|
-
**命令**: `*create-migration-plan`
|
|
195
|
-
**功能**: 创建数据库迁移计划
|
|
196
|
-
**适用场景**: 数据库结构变更
|
|
197
|
-
**执行流程**:
|
|
198
|
-
|
|
199
|
-
1. 分析现有和目标结构差异
|
|
200
|
-
2. 生成增量迁移脚本
|
|
201
|
-
3. 制定迁移时间计划
|
|
202
|
-
4. 准备回滚方案
|
|
203
|
-
|
|
204
|
-
## Integration Points
|
|
205
|
-
|
|
206
|
-
### MCP MySQL Service
|
|
207
|
-
|
|
208
|
-
需要在环境中配置MCP mysql-server服务:
|
|
209
|
-
|
|
210
|
-
```json
|
|
211
|
-
{
|
|
212
|
-
"mcpServers": {
|
|
213
|
-
"mysql-server": {
|
|
214
|
-
"command": "npx",
|
|
215
|
-
"args": ["@claudeai/mcp-server-mysql"],
|
|
216
|
-
"env": {
|
|
217
|
-
"MYSQL_HOST": "101.126.130.208",
|
|
218
|
-
"MYSQL_PORT": "3306",
|
|
219
|
-
"MYSQL_USER": "root",
|
|
220
|
-
"MYSQL_PASSWORD": "root",
|
|
221
|
-
"MYSQL_DATABASE": "api_db"
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
### Framework Integration
|
|
229
|
-
|
|
230
|
-
- **ORM**: MyBatis Plus
|
|
231
|
-
- **Spring Boot**: 自动生成配置
|
|
232
|
-
- **Lombok**: 减少样板代码
|
|
233
|
-
- **Swagger**: API文档生成
|
|
234
|
-
- **Validation**: 数据校验注解
|
|
235
|
-
|
|
236
|
-
## Code Generation Templates
|
|
237
|
-
|
|
238
|
-
### Entity Class Template
|
|
239
|
-
|
|
240
|
-
```java
|
|
241
|
-
@Data
|
|
242
|
-
@EqualsAndHashCode(callSuper = false)
|
|
243
|
-
@Accessors(chain = true)
|
|
244
|
-
@TableName("{table_name}")
|
|
245
|
-
public class {EntityName} implements Serializable {
|
|
246
|
-
@TableId(type = IdType.AUTO)
|
|
247
|
-
private Long id;
|
|
248
|
-
|
|
249
|
-
@TableField("{field_name}")
|
|
250
|
-
private {FieldType} {fieldName};
|
|
251
|
-
|
|
252
|
-
@TableField(fill = FieldFill.INSERT)
|
|
253
|
-
private LocalDateTime createdAt;
|
|
254
|
-
|
|
255
|
-
@TableField(fill = FieldFill.INSERT_UPDATE)
|
|
256
|
-
private LocalDateTime updatedAt;
|
|
257
|
-
|
|
258
|
-
@TableLogic
|
|
259
|
-
private LocalDateTime deletedAt;
|
|
260
|
-
}
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
### Mapper Interface Template
|
|
264
|
-
|
|
265
|
-
```java
|
|
266
|
-
@Mapper
|
|
267
|
-
public interface {EntityName}Mapper extends BaseMapper<{EntityName}> {
|
|
268
|
-
List<{EntityName}> selectByQuery(@Param("query") {EntityName}Query query);
|
|
269
|
-
int insertBatch(@Param("list") List<{EntityName}> list);
|
|
270
|
-
}
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
## Best Practices
|
|
274
|
-
|
|
275
|
-
### 数据库设计原则
|
|
276
|
-
|
|
277
|
-
1. **规范化**: 遵循三范式设计原则
|
|
278
|
-
2. **性能**: 合理使用索引和分区
|
|
279
|
-
3. **安全**: 实现软删除和乐观锁
|
|
280
|
-
4. **扩展**: 预留扩展字段和表结构
|
|
281
|
-
|
|
282
|
-
### 命名规范
|
|
283
|
-
|
|
284
|
-
- **表名**: 小写下划线分隔 (user_profiles)
|
|
285
|
-
- **字段名**: 小写下划线分隔 (created_at)
|
|
286
|
-
- **Java类**: 大驼峰命名 (UserProfile)
|
|
287
|
-
- **变量名**: 小驼峰命名 (createdAt)
|
|
288
|
-
|
|
289
|
-
### 代码质量
|
|
290
|
-
|
|
291
|
-
- 使用统一的异常处理
|
|
292
|
-
- 实现分页和排序
|
|
293
|
-
- 添加数据校验
|
|
294
|
-
- 生成完整的API文档
|
|
295
|
-
|
|
296
|
-
## Usage in Workflows
|
|
297
|
-
|
|
298
|
-
Database Architect在增强型全栈工作流中的位置:
|
|
299
|
-
|
|
300
|
-
1. **需求分析阶段** → 2. **数据库设计阶段** → 3. **架构设计阶段** → 4. **开发实现阶段**
|
|
301
|
-
|
|
302
|
-
与其他Agent的协作:
|
|
303
|
-
|
|
304
|
-
- **从PM接收**: PRD需求文档
|
|
305
|
-
- **提供给Architect**: 数据库设计和生成的代码
|
|
306
|
-
- **支持Dev**: 提供实体类和Mapper基础代码
|
|
307
|
-
|
|
308
|
-
## Troubleshooting
|
|
309
|
-
|
|
310
|
-
### 常见问题
|
|
311
|
-
|
|
312
|
-
1. **无法连接数据库**: 检查MCP服务配置
|
|
313
|
-
2. **生成代码不规范**: 确认包名和模板配置
|
|
314
|
-
3. **关系识别错误**: 手动调整设计文档
|
|
315
|
-
|
|
316
|
-
### 最佳实践建议
|
|
317
|
-
|
|
318
|
-
- 始终先分析现有数据库
|
|
319
|
-
- 设计阶段考虑扩展性
|
|
320
|
-
- 生成代码后进行代码审查
|
|
321
|
-
- 测试数据库连接和查询性能
|
|
322
|
-
==================== END: .xiaoma-core/agents/database-architect.md ====================
|