Skip to main content

flutter-build-verify

Flutter 多模块项目的构建验证流程。在前端实现完成后激活,确保编译通过、代码生成正确。

ソース情報

リポジトリ
toly1994328/flash_im_by_ai
ソースの最終更新活動
2026年5月12日 00:09
検出された SKILL.md の言語
中国語
スター
12
フォーク
2

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
flutter-build-verify
description
Flutter 多模块项目的构建验证流程。在前端实现完成后激活,确保编译通过、代码生成正确。
metadata
{"model":"manual","last_modified":"Mon, 12 May 2026 00:00:00 GMT"}
# Flutter 构建验证技能 ## 适用场景 在 Flutter 前端代码实现完成后,执行构建验证流程,确保零编译错误。 ## 验证流程 ### 1. 代码生成(如涉及 drift 表定义变更) 如果本次改动涉及 drift 数据库表定义(`client/modules/flash_im_cache` 下的 tables/),必须先运行代码生成: ```bash cd client/modules/flash_im_cache dart run build_runner build --delete-conflicting-outputs ``` 触发条件: - 新增或修改了 `*_table.dart` 文件 - 修改了 drift 的 `@DriftDatabase` 注解中的 tables 列表 - 新增或修改了 DAO 文件 ### 2. 全量编译分析(不可跳过) ```bash cd client flutter analyze ``` 这是硬性门禁,必须零错误才能进入下一步。 ### 3. 为什么不能用 getDiagnostics 替代 `getDiagnostics` 只检查单个文件的语法和类型,无法发现: - 跨模块的类型不匹配(改了 core 包的类,chat 包的引用还是旧的) - import 路径错误(文件移动后旧路径未更新) - copyWith 参数缺失(新增字段后忘了更新 copyWith) - 未使用的 import 或变量(analyze 会报 warning) ## 常见编译错误及原因 | 错误类型 | 典型原因 | 修复方式 | |----------|---------|---------| | 类型不匹配 | 改了模型字段但忘了更新 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 建议修复但不阻塞。
GitHubで見る