flutter-build-verify
Flutter 多模块项目的构建验证流程。在前端实现完成后激活,确保编译通过、代码生成正确。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Flutter 多模块项目的构建验证流程。在前端实现完成后激活,确保编译通过、代码生成正确。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
GitHub Release 发布操作规范。在需要发布版本、上传安装包到 GitHub Release 时激活,确保使用正确的命令和流程。
确认/删除等交互弹框统一使用 showTolyPopPicker 底部弹出样式。在需要弹出确认框、删除确认、操作选择时激活,确保交互风格一致。
后端服务启动与数据库操作规范。在需要启动后端服务、运行 API 测试、执行数据库迁移或遇到连接错误时激活,确保使用正确的命令和流程。
功能归档规范。在归档功能版本、更新功能网、创建存档快照时激活,确保节点编号正确、网络图完整。
使用 tolyui_mediax 实现媒体预览。适用于图片九宫格展示、全屏预览、手势缩放、视频播放、Hero 动画等场景。
Flutter Widget/Page 组件代码评审技能。在需要审查组件代码质量、发现设计问题时激活,确保输出结构化的问题清单和改进建议。
| name | flutter-build-verify |
| description | Flutter 多模块项目的构建验证流程。在前端实现完成后激活,确保编译通过、代码生成正确。 |
| metadata | {"model":"manual","last_modified":"Mon, 12 May 2026 00:00:00 GMT"} |
在 Flutter 前端代码实现完成后,执行构建验证流程,确保零编译错误。
如果本次改动涉及 drift 数据库表定义(client/modules/flash_im_cache 下的 tables/),必须先运行代码生成:
cd client/modules/flash_im_cache
dart run build_runner build --delete-conflicting-outputs
触发条件:
*_table.dart 文件@DriftDatabase 注解中的 tables 列表cd client
flutter analyze
这是硬性门禁,必须零错误才能进入下一步。
getDiagnostics 只检查单个文件的语法和类型,无法发现:
| 错误类型 | 典型原因 | 修复方式 |
|---|---|---|
| 类型不匹配 | 改了模型字段但忘了更新 copyWith | 补全 copyWith 参数 |
| 方法未定义 | 改了接口签名但忘了更新调用方 | 全局搜索旧签名,逐一更新 |
| import 失败 | 文件移动或重命名后旧路径未更新 | 修正 import 路径 |
| 参数数量不匹配 | 构造函数新增 required 参数 | 所有调用处补上新参数 |
| drift 生成文件过期 | 改了表定义但没跑 build_runner | 重新运行代码生成 |
本项目是多模块结构(client/modules/ 下多个 package),跨模块的类型变更是编译错误的重灾区:
flash_im_core:基础类型和 WsClient,被所有模块依赖flash_im_cache:本地存储,被 conversation 和 chat 依赖flash_im_conversation:会话数据模型,被 chat 依赖flash_im_chat:聊天页面,依赖以上所有模块flash_shared:通用 UI 组件,被多个模块复用改了底层模块的类(如 Conversation 新增字段),上层所有引用该类的模块都可能需要同步更新。flutter analyze 会一次性报出所有错误,逐一修复即可。
Analyzing client...
No issues found!
看到这行输出,才能进入下一步。任何 error 都必须修复,info 和 warning 建议修复但不阻塞。