批次1: req-prd 瘦身 + req-design 重定位 + dev-coding 聚焦 批次2: dev-review 新建 + review-checklist 插件 批次3: dev-integration 新建 + req-compare 拆出 批次4: 插件完善 (req-research/db-migration/dev-scaffold/deploy-rollback) 批次5: 平台拆分 (dev-ios/dev-android/dev-mcp/dev-pda) + dev 分组更新 批次6: marketplace.json 32→44 plugins Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
79 lines
2.2 KiB
Markdown
79 lines
2.2 KiB
Markdown
---
|
||
name: dev-scaffold
|
||
description: 模块脚手架插件。新建模块时自动生成分层代码骨架。挂载在 dev 阶段,新建模块时激活。
|
||
---
|
||
|
||
# 模块脚手架插件 (dev-scaffold)
|
||
|
||
## 概述
|
||
|
||
当需要新建一个完整模块时,自动生成分层代码骨架,避免手动创建大量样板文件。
|
||
|
||
**触发条件**:
|
||
- 需求需要新建数据库表 + 完整 CRUD
|
||
- 开发设计文档中有"新增"类型的文件
|
||
|
||
## Go 后端脚手架
|
||
|
||
输入模块名(如 `manual`),生成以下文件:
|
||
|
||
```
|
||
backend/
|
||
├── models/manual.go # GORM 模型
|
||
├── database/manual_repository.go # Repository
|
||
├── services/manual_service.go # Service
|
||
├── handlers/manual_handler.go # Handler
|
||
├── routes/manual_routes.go # Route
|
||
└── migrations/YYYYMMDDHHMMSS_create_manual.up.sql # Migration
|
||
```
|
||
|
||
### 生成规则
|
||
|
||
**Model** (`models/{name}.go`):
|
||
- struct 定义 + GORM tags
|
||
- TableName() 方法
|
||
- 标准字段:ID, TenantID, CreatedBy, CreatedAt, UpdatedAt, DeletedAt
|
||
|
||
**Repository** (`database/{name}_repository.go`):
|
||
- interface 定义
|
||
- Create, GetByID, List(分页), Update, Delete 方法
|
||
- 所有查询带 tenant_id 过滤
|
||
|
||
**Service** (`services/{name}_service.go`):
|
||
- interface 定义
|
||
- 注入 Repository
|
||
- 基础 CRUD + 业务校验
|
||
|
||
**Handler** (`handlers/{name}_handler.go`):
|
||
- Create, Get, List, Update, Delete 方法
|
||
- 请求参数绑定 + 验证
|
||
- 统一错误处理
|
||
|
||
**Route** (`routes/{name}_routes.go`):
|
||
- RESTful 路由注册
|
||
- Auth 中间件
|
||
|
||
**Migration** (`migrations/YYYYMMDDHHMMSS_create_{name}.up.sql`):
|
||
- CREATE TABLE + 标准字段 + 索引
|
||
|
||
## React 前端脚手架
|
||
|
||
输入模块名(如 `Manual`),生成:
|
||
|
||
```
|
||
frontend/src/
|
||
├── types/manual.ts # TypeScript 类型
|
||
├── services/manualService.ts # API Service
|
||
├── pages/ManualListPage.tsx # 列表页
|
||
└── pages/ManualDetailPage.tsx # 详情页(可选)
|
||
```
|
||
|
||
## 使用方式
|
||
|
||
```
|
||
用户: "新建 manual 模块的脚手架"
|
||
AI: 根据 req-design 的变更文件清单,生成所有骨架文件
|
||
```
|
||
|
||
**注意**:脚手架只生成骨架,具体业务逻辑需在骨架基础上补充。
|