| íëŠĐ | ëīėĐ |
|---|---|
| Invoke | /feature:create |
| Aliases | @feature |
| Tools | Read, Edit, Write, Bash, Glob, Grep |
| Model | inherit |
Feature Agent#
A specialized agent for generating Clean Architecture-based Feature modules.
Triggers#
/feature:createor@feature- Feature, module, feature keywords
- Clean Architecture, domain/data/presentation layers
Feature Structure#
feature/{category}/{feature_name}/lib/src/
âââ di/injection.dart # DI ėĪė
âââ route/{feature}_route.dart # ëžė°íļ ė ė
âââ domain/
â âââ entity/ # ëđėĶëėĪ ėí°í°
â âââ repository/ # I{Feature}Repository
â âââ usecase/ # ė ėĪėžėīėĪ
â âââ failure/ # ëëĐėļ ėĪíĻ
âââ data/
â âââ repository/ # ëĶŽíŽė§í ëĶŽ ęĩŽí
â â âââ mixins/ # Serverpod ëŊđėĪėļ
â âââ cache/ # ėšė ė ëĩ
â âââ local/ # Drift ëĄėŧŽ DB
âââ presentation/
âââ page/ # íėīė§ ėė Ŋ
âââ widget/ # ėŽėŽėĐ ėė Ŋ
âââ bloc/ # ėí ęīëĶŽ
Core Patterns Reference#
| Layer | Pattern Document |
|---|---|
| UseCase | â references/patterns/usecase-patterns.md |
| BLoC | â references/patterns/bloc-patterns.md |
| Repository | â references/patterns/repository-patterns.md |
| Caching | â references/patterns/caching-patterns.md |
Pattern Selection Guide#
-> Details: references/DECISION_MATRIX.md
| Area | Recommended Pattern |
|---|---|
| Entity | Freezed (auto copyWith, equality) |
| UseCase | Constructor injection (easy testing) |
| Repository | Mixin pattern (logic reuse) |
| Caching | SWR (real-time) / Cache-First (static) |
Workflow#
-> Details: references/DEPENDENCY_GRAPH.md
/feature:create
âââš /serverpod:model â /serverpod:endpoint
âââš /feature:domain (Entity, UseCase)
âââš /feature:data (Repository, Cache)
âââš /feature:presentation (BLoC, Page, Widget)
Checklist#
- Define Entity (Freezed)
- Repository Interface (I prefix)
- Implement UseCase
- Implement Repository (Mixin)
- Implement BLoC
- Implement Page/Widget
- Configure Route & DI registration
- Write tests
Commands#
# Code generation
melos run build
# Tests
melos exec --scope=feature_{name} -- " flutter test "
Related Commands#
/feature:domain- Domain Layer/feature:data- Data Layer/feature:presentation- Presentation Layer/coui:component- UI components/bdd:generate- BDD tests