用途:为 Flutter/Dart 项目提供可审计的脚手架规范,使“谁导入了 Flutter”“哪个文件没有测试”“某功能是否越层引用”等问题能通过 grep 和 ls 回答,而非依赖信任。
主要能力:默认单 Flutter 包,lib/features/ 下按功能优先组织,顶层共享基础分为 core/(纯逻辑)、data/(仓库与数据库)、services/(副作用端口,native/ 隔离 MethodChannel)、routing/、theme/、l10n/。main.dart 仅调用 bootstrap(),bootstrap.dart 为组合根,app.dart 构建 MaterialApp.router。依赖只能向下:features → services/data → core,功能之间不得互相导入。pubspec.yaml 作为审计产物,依赖需最小化。测试目录与 lib/ 一一对应。每个文件一个主声明,文件名用 snake_case,统一使用 package 导入。
使用方式:按任务阅读 references/ 下的 single-package-layout.md、layering-and-dependencies.md、workspace-and-packages.md;提交 PR 前运行 scripts/check_structure.sh 与 scripts/check_import_boundaries.sh。纯包若未以 *_core 命名,需显式传入,例如 PURE_DIR=packages/money scripts/check_import_boundaries.sh。
适用场景:中小型 Flutter 应用、需要清晰分层与可测试性的项目。限制:仅当纯逻辑确实值得隔离时才抽取纯 Dart 包,使用 resolution: workspace,包名保持通用,纯核心仅依赖 meta,不得引入 flutter、dart:io、dart:ui 或 DateTime.now()。单包应用不使用 barrel 或 lib/src/。具体收费、平台与效果暂未提供。