# 医梦 AI 中台 本项目是一个基于 RuoYi-Vue-Plus 改造的 Maven 多模块工程(Java 17 / Spring Boot 3 / MyBatis-Plus),核心业务是面向医院的 AI 中台和门诊软硬件一体化方案。 ## Agent skills ### Issue tracker 议题以本地 Markdown 文件记录在 `.scratch//` 目录下。详见 `docs/agents/issue-tracker.md`。 ### Triage labels 使用中文标签:`待评估`、`待补充`、`可自动执行`、`需人工处理`、`不做`。详见 `docs/agents/triage-labels.md`。 ### Domain docs 单上下文布局:`CONTEXT.md` + `docs/adr/`。详见 `docs/agents/domain.md`。 ## 工程约束速查 所有 AI 编程工具写代码前先读取以下文档: - `docs/架构文档/AI中台工程约束.md` — 模块边界、依赖规则、接口归属表、六条红线 - `docs/架构文档/工程规约生效说明.md` — 架构测试运行方式 - `docs/接口文档/医梦AI中台对外接口设计文档_v1.2_正式联调基准版.md` — 对外接口契约 - `docs/架构文档/AI中台二期+三期需求技术方案.md` — 架构决策、数据模型、组件职责 ## 开发流程自动激活规则 以下规则定义了**什么场景下自动使用哪个 skill**。你必须在对应的触发条件下主动提议或直接执行对应 skill,不需要等待用户记住 skill 名称。 ### 场景 → Skill 映射表 | 场景 | 自动执行/提议的 Skill | 说明 | |------|---------------------|------| | 写新功能/新模块/新接口 | `tdd` | 先写测试→红→绿→重构 | | 修改现有代码/重构 | `tdd` + `review` | 先读现有测试,改代码,跑全量测试,再 review diff | | 用户要求审查代码 | `review` | 读取 diff,检查正确性/安全性/测试覆盖 | | 讨论技术方案/架构设计 | `grill-me` | 追问式审查,澄清所有模糊点和边界条件 | | 遇到编译错误/测试失败/线上故障 | `diagnose` | 复现→缩小范围→假设→验证→修复 | | 从零开始一个新需求 | `to-prd` → `grill-me` → `tdd` | 结构化需求→设计审查→测试驱动实现 | | 修改 Maven 依赖/模块结构 | `improve-codebase-architecture` + `review` | 架构变更双审查 | | 修改接口 YAML/路径/Schema | `review` + 提醒更新 `docs/接口文档/` | 接口契约和文档同步 | | 涉及鉴权/脱敏/安全 | `security_review` | 安全专项审查 | | 用户问"这个模块做什么的"/"代码在哪里" | `explore` | 只读探索,不修改 | | 用户要求验证/验收 | 运行 `mvn -pl -DskipTests=false test` | 编译+测试 | ### 标准开发循环 无论任务是哪个阶段,每次写代码遵循: ```text 1. 理解上下文 → 读相关设计文档和现有代码 2. 写测试 → 先表达"这段代码应该做什么" 3. 跑测试确认失败 → 验证测试本身正确 4. 写最小实现 → 只写让测试通过的必要代码 5. 跑测试确认通过 → 绿了才能继续 6. 重构 → 消除重复、改善命名、提取方法 7. 跑全量测试 → 确认没有破坏已有功能 8. 编译+架构测试 → `mvn compile` + `AiPlatformArchitectureTest` 9. 报告结果 → 测试数量、通过/失败、改动文件清单 ``` ### 每次修改代码后的强制检查 ```bash mvn -pl <改动的模块> -am -DskipTests compile # 必须通过 mvn -pl <改动的模块> -DskipTests=false -Dprofiles.active= test # 涉及测试代码时 ``` 如果修改了 Maven 模块结构(新增/删除模块、改依赖),额外执行: ```bash mvn -pl emoon-admin -DskipTests=false -Dprofiles.active= -Dtest=AiPlatformArchitectureTest test ``` ### 禁止行为 - 跳过测试直接写实现 - 修改代码后不编译验证 - 新建模块后不更新根 pom.xml 的 `dependencyManagement` - 在 Controller 中注入 Mapper(违反工程约束 F1 红线) - 在 `emoon-openplatform` 中写业务逻辑 - 把 Dify/HIS/DeepSeek 的 API Key 写进日志或前端