这是一个 Flutter GitHub 客户端,同时也是带有教学展示性质的示例工程。 不要假设整个仓库是单一架构风格。多种状态管理方案并存是当前设计现实,不是偶然脏代码。
在进行非微小改动前,先读这些文件:
README.mddocs/README.mddocs/00-overview/project-map.mddocs/01-architecture/app-layering.mddocs/01-architecture/state-management-matrix.md
- 改动尽量限制在当前功能域,不要顺手做跨模块重构。
- 非任务明确要求时,不要迁移状态管理框架。
- 优先遵循目标模块现有模式,而不是引入新的全局规范。
- 未经明确允许,不得为了满足需求擅自替换模块既有框架或状态实现,即使替换后看起来更简单。
*.g.dart、多语言生成文件、env 生成文件都视为生成产物;优先重新生成,不要手改。- 不要提交密钥。
lib/common/config/ignoreConfig.dart属于本地或 CI 环境材料。
lib/app.dart:应用根装配、导航、全局报错、Redux 和 Riverpod 混合接线lib/common/net/:共享网络栈、拦截器、GraphQL/REST 入口lib/common/repositories/:功能数据访问边界lib/env/:构建期环境配置和生成文件lib/common/localization/:ARB 与多语言生成输出
- 纯 UI 任务:优先只改页面或局部 widget,不碰全局状态
- API 任务:同时检查
common/net与对应common/repositories - 状态任务:沿用该模块当前已有状态方案,除非任务明确要求迁移
- 配置/构建任务:同步更新
docs/03-runbooks/中的操作说明
- 中等以上改动默认使用独立 reviewer 上下文
- 每次非微小代码改动后,默认拉起新的 reviewer subagent 或新的干净上下文审查刚刚的修改
- author 在通过一轮新的 reviewer subagent 审查前,不应直接宣告代码任务完成
- reviewer 不应复用 author 的完整上下文历史
- 先看
docs/05-ai/review-harness.md - reviewer 提示模板见
docs/05-ai/prompts/reviewer-system.md tool/ai/build_review_bundle.ps1只是可选辅助,不是主流程
按改动范围选择最小验证集合:
flutter pub getdart run build_runner build --delete-conflicting-outputsflutter gen-l10nflutter analyzeflutter build apk --release --target-platform=android-arm64 --no-shrink
说明:
- 改模型、env、注解生成代码时跑
build_runner - 改 ARB 或本地化输入时跑
flutter gen-l10n - 改 Android 构建、依赖或运行时关键路径时跑 APK 构建
- 仓库目前没有提交进来的
test/测试目录 - CI 使用 GitHub Actions,当前偏重构建成功
- 项目同时使用 Redux、Riverpod、Provider、Signals
- OAuth 登录相关流程依赖本地
ignoreConfig.dart