用途:这是 Flutter/Dart 应用的“前门”技能,声明所有任务都需遵守的跨领域约定,并把具体关注点路由到对应的专项技能;它是库中唯一列出全部其他技能的技能。默认假设单包 Flutter 应用,monorepo/pub-workspace 指南放在 project-structure-and-packages、codegen-and-toolchain 中。
主要能力(不可协商的规则):按 feature 再按层分组,依赖只能向下(View → ViewModel → Repository → Service/data);Widget 保持“笨”,不含业务逻辑;每屏一个 ViewModel,基于不可变状态;Riverpod 3.x 同时承担状态与依赖注入,仅用 Notifier/AsyncNotifier/Future/Stream provider;单一写入路径,先持久化再通过流重新发布;派生值不缓存、依赖抽象;模型不可变、错误类型化,可恢复 I/O 返回 Result<T, F extends Failure>;副作用置于注入接口之后,时间从注入的 Clock 读取;异步必须 await 或显式处理,await 后守卫 context/mounted 并释放资源;小单元、抽取 widget 类;命名体现角色;RTL 与无障碍内建;测试关注代码形态;严格 lint 为底线。
使用方式:非平凡任务先应用本技能规则,再打开路由表指向的专项技能。基线配置为 analysis_options.yaml 引入 very_good_analysis 并开启 strict-casts、strict-raw-types;PR 门禁依次运行 dart run build_runner build --delete-conflicting-outputs、dart format --set-exit-if-changed .、dart analyze --fatal-infos --fatal-warnings、flutter test。
适用场景:构建或重构 Flutter 功能模块、决定分层与依赖方向、编写状态管理与数据层、配置 lint 与 CI、发布前评审等。
限制:资料未提供该技能的收费、价格、平台支持范围等信息;其规则面向 Flutter/Dart 项目,非 Flutter 场景不适用。