Agents: 6,235 → 1,454 lines (-77%). Each agent compressed to Role/Behavior/Delegates/Output/Handoff format. Gitea commenting extracted to shared block (.kilo/shared/gitea-commenting.md). Self-evolution protocol extracted to shared block (.kilo/shared/self-evolution.md). Gitea API client centralized (.kilo/shared/gitea-api.md). Rules: 2,358 → 1,189 lines (-50%). Deleted sdet-engineer.md (duplicate of agent) and orchestrator-self-evolution.md (moved to shared/). Compressed docker (549→26), flutter (521→28), go (283→21), nodejs (271→27), code-skeptic (59→14) to checklists with skill references. Fitness: 54/54 tests pass, 29/29 agents validated, fitness=0.92
28 lines
1010 B
Markdown
28 lines
1010 B
Markdown
# Flutter Rules
|
|
|
|
Essential rules for Flutter app development. Detailed patterns in `.kilo/skills/flutter-*`.
|
|
|
|
## Checklist
|
|
|
|
- [ ] `final`/`const` everywhere; const constructors on all widgets
|
|
- [ ] Small focused widgets; composition over inheritance
|
|
- [ ] State management via Riverpod/Bloc/Provider; no business logic in widgets
|
|
- [ ] Clean Architecture: presentation/domain/data separation
|
|
- [ ] Error handling: Result/Either types; never silently catch
|
|
- [ ] dio for HTTP; interceptors for auth/logging/retry
|
|
- [ ] go_router for navigation; handle deep links
|
|
- [ ] flutter_secure_storage for tokens; never use SharedPreferences
|
|
- [ ] Exact versions in pubspec.yaml; `flutter analyze` before commit
|
|
- [ ] Unit + widget tests; mocking; test edge cases
|
|
- [ ] Certificate pinning for APIs; obfuscate release builds
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
lib/
|
|
├── main.dart
|
|
├── core/{constants,theme,utils,errors}
|
|
├── features/{auth,user}/{data,domain,presentation}
|
|
└── shared/{widgets,services}
|
|
```
|