mcp-vue-codegen 1.3.2 → 1.3.3

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 (2) hide show
  1. package/README.md +78 -2
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -176,10 +176,86 @@ MCP Server,根据数据库表字段 JSON 文档自动生成 **Vue3 前端** +
176
176
  | `required` | 前端校验规则 |
177
177
  | `isPrimaryKey` / `isForeignKey` / `isSystemField` | 后端实体类字段类型推导和过滤 |
178
178
 
179
+ ## 项目结构
180
+
181
+ ```
182
+ mcp-vue-codegen/
183
+ ├── src/
184
+ │ ├── index.ts # MCP Server 入口:注册 3 个 Tool,启动 stdio 通信
185
+ │ ├── types/
186
+ │ │ └── schema.ts # TypeScript 类型定义(TableSchema 完整接口)
187
+ │ ├── tools/
188
+ │ │ ├── validate.ts # Zod Schema 定义 + JSON 校验/解析函数
189
+ │ │ └── generate.ts # 前端生成协调器(调用 4 个 generator → 写入文件)
190
+ │ ├── generators/
191
+ │ │ ├── options.ts # options.ts 生成器
192
+ │ │ ├── api.ts # api/*.ts 生成器
193
+ │ │ ├── index-vue.ts # index.vue 生成器
194
+ │ │ ├── form-vue.ts # form.vue 生成器
195
+ │ │ └── backend.ts # 后端生成协调器(调用 4 个 backend 模板 → 写入文件)
196
+ │ └── templates/
197
+ │ ├── options.tpl.ts # 模板:options.ts 代码字符串生成
198
+ │ ├── api.tpl.ts # 模板:api/*.ts 代码字符串生成
199
+ │ ├── index-vue.tpl.ts # 模板:index.vue 代码字符串生成
200
+ │ ├── form-vue.tpl.ts # 模板:form.vue 代码字符串生成
201
+ │ └── backend/
202
+ │ ├── entity.tpl.ts # 模板:Entity Java 代码生成
203
+ │ ├── mapper.tpl.ts # 模板:Mapper 接口 + XML 代码生成
204
+ │ ├── service.tpl.ts # 模板:Service 接口 + ServiceImpl 代码生成
205
+ │ └── controller.tpl.ts # 模板:Controller 代码生成
206
+ ├── example/
207
+ │ └── table-schema.json # 示例 JSON 文档
208
+ ├── package.json
209
+ ├── tsconfig.json
210
+ ├── LICENSE
211
+ └── README.md
212
+ ```
213
+
214
+ ### 模块说明
215
+
216
+ | 模块 | 职责 |
217
+ |------|------|
218
+ | `index.ts` | MCP Server 入口,注册 3 个 Tool(validate_schema / generate_vue_crud / generate_java_crud),通过 stdio 与 IDE 通信 |
219
+ | `types/schema.ts` | 定义 `TableSchema` 完整 TypeScript 接口,包括 Module、Master、Detail、FieldDef、RefConfig 等 |
220
+ | `tools/validate.ts` | 使用 Zod 定义 JSON 文档校验规则,提供 `validateSchema()`(校验)和 `parseSchema()`(解析)两个函数 |
221
+ | `tools/generate.ts` | 前端生成协调器,依次调用 4 个 generator 生成 options.ts / api / index.vue / form.vue 并写入磁盘 |
222
+ | `generators/backend.ts` | 后端生成协调器,调用 entity / mapper / service / controller 模板生成 11 个 Java 文件并写入磁盘 |
223
+ | `templates/*.tpl.ts` | 纯函数模板,接收解析后的 schema 对象,返回生成的代码字符串。无副作用,不操作文件系统 |
224
+
225
+ ### 运行流程
226
+
227
+ ```
228
+ IDE 启动 → npx mcp-vue-codegen → Node.js 进程启动 → stdio 通信等待调用
229
+
230
+ 注册 3 个 Tool
231
+
232
+ ┌──────────────────────────┼──────────────────────────┐
233
+ ▼ ▼ ▼
234
+ validate_schema generate_vue_crud generate_java_crud
235
+ │ │ │
236
+ ▼ ▼ ▼
237
+ resolveSchemaJson() resolveSchemaJson() resolveSchemaJson()
238
+ (文件路径→读文件) (文件路径→读文件) (文件路径→读文件)
239
+ │ │ │
240
+ ▼ ▼ ▼
241
+ Zod 校验 JSON parseSchema() 解析 parseSchema() 解析
242
+ │ │ │
243
+ ▼ ▼ ▼
244
+ 返回校验结果 4 个前端 generator 4 个后端 template
245
+ 生成代码字符串 生成代码字符串
246
+ │ │
247
+ ▼ ▼
248
+ fs.writeFileSync() fs.writeFileSync()
249
+ 写入 4 个前端文件 写入 11 个 Java 文件
250
+ │ │
251
+ ▼ ▼
252
+ 返回文件列表+行数 返回文件列表+行数
253
+ ```
254
+
179
255
  ## 环境要求
180
256
 
181
257
  - Node.js >= 18
182
258
 
183
259
  ## License
184
- anshu
185
- MIT
260
+
261
+ MIT (c) anshu
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-vue-codegen",
3
- "version": "1.3.2",
3
+ "version": "1.3.3",
4
4
  "description": "MCP Server for generating Vue3 CRUD module code from database table schema JSON",
5
5
  "author": "anshu",
6
6
  "main": "build/index.js",