主要更新: 1. 后端核心底座完成 (M1-M6): - 健康检查、指标监控、分布式锁 - 事件总线、队列系统、事务管理 - 安全守卫、多租户隔离、存储适配器 - 审计日志、配置管理、多语言支持 2. 前端迁移到 Ant Design Vue: - 从 Element Plus 迁移到 Ant Design Vue - 完善 system 模块 (role/menu/dept) - 修复依赖和配置问题 3. 文档完善: - AI 开发工作流文档 - 架构约束和开发规范 - 项目进度跟踪 4. 其他改进: - 修复编译错误和类型问题 - 完善测试用例 - 优化项目结构
102 lines
5.3 KiB
Plaintext
102 lines
5.3 KiB
Plaintext
---
|
||
description:
|
||
globs:
|
||
alwaysApply: true
|
||
---
|
||
## 智能体工作流程(多智能体协作)
|
||
|
||
### 角色定义(按执行顺序标注)
|
||
- S1 需求分析体(Analyzer): 解析需求、对应 PHP/Nest 规范、输出任务切分与验收标准
|
||
- S2 架构治理体(Architect): 校验分层/依赖/目录规范,给出重构建议与边界清单
|
||
- S3 基建接入体(InfraOperator): 接入/校验 Kafka、Redis、队列、事务与配置,提供接入差异与示例
|
||
- S4 开发执行体(Developer): 按规范编码、编写测试、修复构建
|
||
- S5 安全基线体(SecurityGuard): 检查守卫、跨租户(site_id)隔离、敏感信息暴露(开发中与提测前各执行一次)
|
||
- S6 质量门禁体(QualityGate): 聚合 ESLint/TS/覆盖率/e2e 结果,低于阈值阻断合并
|
||
- S7 规范审计体(Auditor): 按清单逐项核查,出具差异报告与修复项
|
||
- S8 上线管控体(Release): 构建、变更说明、灰度计划与回滚预案
|
||
- S9 性能优化体(PerfTuner): 建议缓存/异步化/批处理,识别大对象传输与 N+1(开发后期与上线后持续执行)
|
||
|
||
### 串联流程(带顺序)
|
||
1) S1 Analyzer
|
||
- 输入: 业务需求/接口变更/对齐 PHP 的说明
|
||
- 输出: 模块划分、路由表、DTO、实体字段清单、与 DB/ThinkPHP 对照
|
||
|
||
2) S2 Architect
|
||
- 校验: 模块目录、分层(Application/Core/Infrastructure)、依赖方向(App→Common→Core→Vendor)
|
||
- 输出: 设计说明、端口(Repository/Provider)定义、删除/迁移建议
|
||
|
||
3) S3 InfraOperator
|
||
- 接入: Kafka/Redis/队列/事务的工程化接入与配置
|
||
- 产物: 接入差异与示例代码(见 integration.md),健康检查/配置项校验清单
|
||
|
||
4) S4 Developer
|
||
- 实现: Controller 仅路由+DTO校验;AppService 编排;Core 规则;Infra 实现;Entity 对齐 DB
|
||
- 接入: 守卫(RBAC)、Pipes(JSON/Timestamp)、拦截器(请求日志)、事件与队列
|
||
- 测试: 单测/集成/e2e,构建通过
|
||
|
||
5) S5 SecurityGuard(第一次,开发阶段)
|
||
- 检查: 控制器守卫、site_id 隔离、敏感字段输出、配置权限
|
||
|
||
6) S6 QualityGate(CI 阶段)
|
||
- 指标: ESLint/TS 无报错;覆盖率≥阈值;e2e 关键路径通过
|
||
- 动作: 不达标阻断合并
|
||
|
||
7) S7 Auditor(提测前)
|
||
- 检查: 规范清单(见 checklists.md),字段/命名/路由/守卫/事务/队列/事件 与 PHP/DB 对齐
|
||
- 产物: 差异报告与修复任务
|
||
|
||
8) S5 SecurityGuard(第二次,提测前)
|
||
- 复检: 重要接口的鉴权/越权/敏感输出
|
||
|
||
9) S9 PerfTuner(并行/持续)
|
||
- 建议: 缓存、异步化、批量化、索引与查询优化;识别 N+1、大对象传输
|
||
|
||
10) S8 Release
|
||
- 产出: 变更日志、部署步骤、数据迁移脚本、回滚预案
|
||
|
||
### 关键约束
|
||
- 与 PHP 业务/数据100%一致;与 NestJS 规范100%匹配
|
||
- 禁止创建 DB 不存在字段;`sys_config.value(JSON)` 统一
|
||
- 管理端路由 `/adminapi`,前台 `/api`;统一守卫与响应格式
|
||
|
||
### 基础能力检查点(Kafka / Redis / 队列 / 事务)
|
||
- 事务: 仅在 Application 开启;多仓储共享同一 EntityManager;Core 不直接操作事务对象
|
||
- 队列: 用例完成后入队;载荷仅传关键 ID;处理器在 Infrastructure;按队列名分域
|
||
- 事件: 统一用 DomainEventService;事件名 `domain.aggregate.action`;默认 DB Outbox,可切 Kafka
|
||
- Redis: 短缓存配置读取、上传限流/防刷(计数器)、幂等(SETNX+TTL)
|
||
|
||
### 命名与对齐
|
||
- PHP 业务命名优先(不违反 Nest/TS 规范前提下),包括服务方法、DTO 字段、配置键
|
||
- Nest 特有类型按规范命名:`*.module.ts`、`*.controller.ts`、`*.app.service.ts`、`*.core.service.ts`
|
||
|
||
### 核心链接
|
||
- 模块映射: `./mapping.md`
|
||
- 能力集成: `./integration.md`
|
||
- 规则与清单: `./rules.md`、`./checklists.md`
|
||
|
||
### 执行与验收(CI/PR 建议)
|
||
- PR 必须通过: build、单测/集成/e2e
|
||
- 审计体根据 `checklists.md` 自动评论差异(字段/命名/路由/守卫/事务/队列/事件)
|
||
- 安全基线: 管理端控制器统一 `JwtAuthGuard + RolesGuard`;/adminapi 与 /api 路由前缀
|
||
|
||
### 目录职能速查(防误用)
|
||
- common/(框架通用服务层)
|
||
- 放可被业务复用的通用功能:用户/权限/菜单/上传/通知/设置等模块
|
||
- 内部模块按 Controller / Application / Core / Infrastructure / Entities / DTO 分层
|
||
- 禁止依赖 App 层;允许依赖 core/, config/, vendor/
|
||
- config/(配置与适配)
|
||
- 环境变量、数据库/HTTP/安全/队列/第三方等配置模块与注入工厂
|
||
- 仅存放配置与适配代码,不放业务逻辑
|
||
- core/(核心基础设施与通用规则)
|
||
- 通用规则/策略与仓储接口(Core 层),以及全局基础设施(如队列、事件、健康、拦截器)
|
||
- 不直接依赖业务模块;面向 common/app 提供能力
|
||
- vendor/(第三方适配层)
|
||
- 外部服务适配:存储/支付/短信/HTTP/Kafka/Redis 等 Provider
|
||
- 通过接口注入到 Infrastructure 或 Application,避免在 Controller 直接使用
|
||
- lang/(多语言)
|
||
- 多语言资源与语言包,供接口/异常/文案统一输出
|
||
- 智能体在涉及文案/错误消息时,优先调用多语言键值而非写死文本
|
||
- test/(测试)
|
||
- 单元/集成/e2e 测试,包含关键业务与基础能力(事务/队列/事件/权限)覆盖
|
||
|
||
- PR 必须通过测试基线,质量门禁体(QualityGate)据此决策 |