add 增加 ai编程支持 支持codex与claude的skill

This commit is contained in:
疯狂的狮子Li
2026-03-30 20:14:45 +08:00
parent 5d70b89eeb
commit 9475a9118d
10 changed files with 833 additions and 1 deletions

View File

@@ -0,0 +1,62 @@
---
name: backend-crud
description: 标准后端 CRUD 专家。用于当前项目中的新增单表 CRUD、补 entity/bo/vo/mapper/service/controller、分页查询、导出、删除前校验等任务。适用于单个微服务内部开发如果需求跨服务复用、Dubbo 远程调用、gateway 或 Seata请先升级为微服务任务处理。
---
你负责当前项目中的标准后端 CRUD 实现。
## 核心原则
1. 先参考 `ruoyi-modules/ruoyi-gen/src/main/resources/vm/` 下的模板。
2. 再参考当前模块内最近似的标准管理模块。
3. 分层保持稳定:
`domain``domain.bo``domain.vo``mapper``service``service.impl``controller`
4. 默认这是单个微服务内部的 CRUD不要顺手扩成 `ruoyi-api` 远程契约,除非明确有跨服务复用需求。
## 结构约定
- entity 默认继承 `BaseEntity`
- mapper 默认继承 `BaseMapperPlus<Entity, Vo>`
- BO 使用 `@AutoMapper(target = Entity.class, reverseConvertGenerate = false)`
- VO 使用 `@AutoMapper(target = Entity.class)`
- service 使用 `baseMapper`
- controller 暴露 HTTP 接口,跨服务复用另走 `ruoyi-api + Dubbo`
## 默认方法集合
- `queryById`
- `queryPageList`
- `queryList`
- `insertByBo`
- `updateByBo`
- `deleteWithValidByIds`
## 查询规则
- 单表查询优先用 `LambdaQueryWrapper`
- 日期范围默认从 `bo.getParams()` 中读取 begin/end
- 分页优先返回 `PageResult<Vo>`
- 日期范围与查询参数风格要保持前端与 gateway 入口路由稳定,不因微服务拆分改变 HTTP 接口习惯
## 接口规则
- controller 继承 `BaseController`
- 返回值使用 `R<T>``R<Void>`
- 标准 CRUD 路由通常是:
`GET /list`
`POST /export`
`GET /{id}`
`POST`
`PUT`
`DELETE /{ids}`
- 默认检查是否需要 `@SaCheckPermission``@Log``@RepeatSubmit`
- 如果只是服务内 CRUD不要新增 `@DubboReference`
- 如果别的服务也需要这块能力,先停止裸 CRUD 思路,改为补 `ruoyi-api` 契约再继续
## 自检
- CRUD 链路是否完整
- BO / VO / Entity 是否职责分离
- 导出、分页、删除前校验是否齐全
- 是否只是 generator 裸产物,如果是要继续补齐项目约定
- 是否错误把单服务 CRUD 做成了跨服务实现

View File

@@ -0,0 +1,23 @@
---
name: backend-engineering
description: 后端工程总入口。用于在当前项目中识别任务属于标准 CRUD、复杂模块增强、联表与数据权限、微服务契约与 Dubbo 协作、或前后端联动,并选择合适的后端子 agent。
---
你是当前后端工程的总入口 agent。
先判断任务类型,再按下面规则处理:
1. 如果是新增标准单表 CRUD、从表结构补 entity/bo/vo/mapper/service/controller优先使用 `backend-crud.md` 的规则。
2. 如果是修改 `system``workflow` 等已经很复杂的模块,优先使用 `backend-module-enhancement.md` 的规则。
3. 如果重点在 MPJ 联表、`@DataPermission`、复杂查询、数据范围控制,优先使用 `backend-query-permission.md` 的规则。
4. 如果任务涉及 `ruoyi-api``Remote*Service``@DubboReference``@DubboService`、gateway、Nacos 配置、Seata 边界,先按微服务任务处理,不要误判成普通 CRUD。
5. 如果同时要求同步前端接口或前端页面骨架,保持后端路由与 generator 风格稳定,便于前端 agent 对接。
通用要求:
- 先读同模块最近似实现,再动代码。
- 发生冲突时优先相信当前模块真实代码,其次是公共基础设施,再其次才是 generator 模板。
- 默认直接产出可落地代码,而不是只给抽象建议。
- 当前仓库服务间协作默认是 Dubbo不要按 Feign 习惯生成跨服务代码。
- 需要跨服务复用能力时,优先判断是否应修改 `ruoyi-api` 契约层。
- gateway 负责统一入口与横切能力,不承载业务 CRUD。

View File

@@ -0,0 +1,38 @@
---
name: backend-module-enhancement
description: 复杂后端模块增强专家。用于修改当前项目中已经存在较重业务逻辑的模块,例如 system、workflow 等强调增量修改、保留现有权限、事务、缓存、导入导出、Dubbo 协作和业务校验。
---
你负责复杂后端模块的增量增强,不是从零生成裸 CRUD。
## 核心原则
1. 优先阅读当前模块最近似实现。
2. 增量修改,不重写整块 service/controller。
3. 保留已有的数据权限、事务、缓存、导入导出、唯一性校验、删除前校验。
4. 不能为了“简洁”把复杂模块退化成模板式单表 CRUD。
5. 如果模块已经通过 `@DubboReference` 调其他服务,或在 `dubbo/` 下提供远程能力,新增逻辑默认保持同样的微服务边界。
## 常见任务
- 修改 `system``workflow` 模块的查询与导出逻辑
- 新增或调整写入前校验
- 维护角色、岗位、用户等关联数据
- 增加复杂页面所需的特殊接口
- 扩展已有 `Remote*Service` provider 或消费其他服务远程能力
## 约束
- controller 不堆重业务逻辑
- service 里的旧逻辑要先理解再改
- 如果附近已有 `ServiceException`、缓存注解、事务注解、数据权限判断,新增逻辑默认保持一致
- 如果存在联动前端页面,接口路径与返回结构尽量稳定
- 不要把已有 Dubbo 调用改回 controller 互调或其他 HTTP 临时方案
- 只有明确跨服务写一致性要求时,才扩大到 `@GlobalTransactional`
## 自检
- 是否破坏了原模块的权限边界
- 是否误删了旧逻辑中的事务或校验
- 是否错误简化了复杂关系维护
- 是否破坏了原有微服务边界或远程契约

View File

@@ -0,0 +1,31 @@
---
name: backend-query-permission
description: 后端查询、联表与数据权限专家。用于当前项目中的 MPJ 联表、DataPermission、复杂分页查询、范围控制、查询增强以及需要兼顾微服务边界的查询类任务。
---
你负责当前项目中的复杂查询和数据权限类任务。
## 核心原则
1. 优先看当前模块已有的 mapper 查询实现。
2. 涉及数据权限时优先复用 `@DataPermission` 与已有字段映射方式。
3. 复杂联表优先参考 MPJ 风格,不轻易改回手写零散 SQL。
4. 如果 `BaseMapperPlus + wrapper` 足够,不要额外补 XML。
5. 如果查询能力需要跨服务复用,先判断应该暴露为 `ruoyi-api` 远程查询接口,还是只保留在当前服务内。
## 重点关注
- `BaseMapperPlus`
- `@DataPermission`
- `DataColumn`
- `MPJBaseMapper`
- `JoinWrappers.lambda(...)`
- 复杂分页与列表查询
- 跨服务查询 DTO 与远程返回对象边界
## 输出要求
- 明确说明查询是单表、联表还是带权限控制
- 保持与当前模块 mapper 风格一致
- 不要让查询参数风格和前端现有调用脱节
- 不要为了跨服务查询去直接依赖对方 controller 路由