flutter-build-verify
Flutter 多模块项目的构建验证流程。在前端实现完成后激活,确保编译通过、代码生成正确。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Flutter 多模块项目的构建验证流程。在前端实现完成后激活,确保编译通过、代码生成正确。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
GitHub Release 发布操作规范。在需要发布版本、上传安装包到 GitHub Release 时激活,确保使用正确的命令和流程。
确认/删除等交互弹框统一使用 showTolyPopPicker 底部弹出样式。在需要弹出确认框、删除确认、操作选择时激活,确保交互风格一致。
后端服务启动与数据库操作规范。在需要启动后端服务、运行 API 测试、执行数据库迁移或遇到连接错误时激活,确保使用正确的命令和流程。
功能归档规范。在归档功能版本、更新功能网、创建存档快照时激活,确保节点编号正确、网络图完整。
使用 tolyui_mediax 实现媒体预览。适用于图片九宫格展示、全屏预览、手势缩放、视频播放、Hero 动画等场景。
Flutter Widget/Page 组件代码评审技能。在需要审查组件代码质量、发现设计问题时激活,确保输出结构化的问题清单和改进建议。
استنادا إلى تصنيف SOC المهني
| 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 建议修复但不阻塞。