--- name: developing-rmdc description: "System-level guidance for RMDC platform development covering cross-module consistency, dependency rules, version compatibility, and global change workflows. Triggered when making changes affecting multiple modules, modifying shared contracts, or planning system-wide updates. Keywords: rmdc-core, rmdc-user-auth, rmdc-jenkins-branch-dac, rmdc-exchange-hub, rmdc-watchdog, rmdc-project-management, rmdc-work-procedure, rmdc-audit-log, cross-module, dependency." allowed-tools: - Read - Glob - Grep - Bash argument-hint: "$ARGUMENTS: [modules...] — scope: cross-module|dependency|version|release" --- # developing-rmdc ## 概述 本 Skill 提供 RMDC 系统级开发指导,确保跨模块一致性、依赖管理与版本兼容。 ## 动态上下文注入 ### 查看模块结构 !`ls -la internal/ 2>/dev/null || find . -maxdepth 2 -type d -name "rmdc-*"` ### 查看模块依赖 !`grep -rn "import.*rmdc" --include="*.go" | grep -v "_test.go" | head -30` --- ## 模块依赖关系 ``` rmdc-core (API Gateway) ├── rmdc-user-auth (认证/权限) │ ├── rmdc-work-procedure (工单) │ └── rmdc-jenkins-branch-dac (Jenkins权限数据) ├── rmdc-jenkins-branch-dac (构建管理) │ └── rmdc-audit-log ├── rmdc-exchange-hub (MQTT网关) │ └── rmdc-audit-log ├── rmdc-watchdog (边缘代理) │ └── rmdc-project-management (一级授权) ├── rmdc-project-management (项目管理) │ └── rmdc-audit-log ├── rmdc-work-procedure (工单) │ └── rmdc-audit-log └── rmdc-audit-log (审计) ``` --- ## Plan(规划阶段) ### 跨模块变更检查 | 变更类型 | 影响评估 | |:---|:---| | JWT Claims 变更 | 影响所有需鉴权模块 | | RBAC 角色变更 | 影响 user-auth + 所有权限检查点 | | 审计字段变更 | 影响所有写审计的模块 | | 工单流程变更 | 影响 user-auth + project-management | | MQTT Topic 变更 | 影响 exchange-hub + watchdog | ### 决策点 - [ ] 识别所有受影响模块 - [ ] 确定变更顺序(先依赖后被依赖) - [ ] 确定是否需要版本兼容期 --- ## Verify(验证清单) ### 依赖一致性 - [ ] 所有模块使用相同版本的 rmdc-common - [ ] JWT Claims 定义在所有模块一致 - [ ] 错误码无冲突 - [ ] 审计字段格式统一 ### 接口兼容性 - [ ] 内部 API 向后兼容 - [ ] MQTT 消息格式兼容 - [ ] 数据库 Schema 兼容 --- ## Execute(执行步骤) ### 跨模块变更流程 1. 创建变更计划文档 2. 识别所有受影响模块 3. 按依赖顺序更新(先 common,后业务) 4. 在每个模块运行验证 5. 集成测试 6. 统一发布 --- ## Pitfalls(常见坑) 1. **依赖版本不一致**:不同模块使用不同版本的 common 包。 2. **JWT Claims 不同步**:一个模块新增字段,其他模块未解析。 3. **发布顺序错误**:被依赖模块未先发布。 4. **审计格式不统一**:不同模块的审计记录格式不同。 5. **错误码冲突**:不同模块定义了相同的错误码。 --- ## 相关文件 | 用途 | 路径 | |:---|:---| | 模块依赖 | [reference/module-dependencies.md](reference/module-dependencies.md) | | 术语表 | [reference/terminology.md](reference/terminology.md) | | 版本兼容 | [reference/version-compatibility.md](reference/version-compatibility.md) |