用途:为 Flutter 应用提供一套按功能优先、分层的 MVVM 架构规范,目标是让开发者能在一秒内回答“这段代码该放哪”。基于 Flutter 官方应用架构指南,使用 Riverpod 3.x 同时承担状态管理与依赖注入。
主要能力:给出分层模型、文件夹与包的取舍、依赖 DAG、barrel 导出、功能文件夹结构;提供“适度设计”反过度工程表;说明 Riverpod 的 provider 图、keepAlive 与 autoDispose、组合根覆盖、隔离安全工厂与 ProviderContainer 测试。
核心规则:功能优先分组、层其次;至少 UI 与 Data 两层,仅当逻辑跨多个仓库时才加 domain/use-case;只抽象无法在测试中运行的部分;数据单向流动(Service→Repository→ViewModel→View,事件反向);View 只做布局、状态分支、动画与导航;每个功能一个 ViewModel,持有不可变状态并暴露意图方法;Repository 是唯一真相来源与唯一写入路径,先持久化再发布;派生数据不存储;边界处做映射;通过 provider 注入依赖;功能是文件夹,只有编译墙真正承重时才拆包;错误以类型化 Result/Failure 在边界返回。
使用方式:按任务阅读 references/module-and-layers.md、references/right-sizing.md、references/state-di-riverpod.md;提交 PR 前运行 scripts/check_architecture.sh。
适用场景:中小型到大型 Flutter 应用的结构设计,尤其需要明确分层、状态管理与依赖注入统一方案的团队。
限制:资料未提供安装命令、收费与价格信息;多包工作区仅适用于大型应用,小应用默认单包加文件夹。