Feature-first
features/notes holds every layer. The shell router and the composition root stay in app/.
clean-architectureflutter
The chooser lists this track last. features/notes/ holds the domain, the application, the data, and the presentation. A small shared/ kernel holds ValidationFailure, because a blank-title failure is not private to one screen forever.
app/providers.dart is still the only wiring site. The router lives in app/router/ so the shell is not trapped inside the notes feature.
text
lib/features/notes/domain/
lib/features/notes/application/
lib/features/notes/data/
lib/features/notes/presentation/ page, notifier, and tile
lib/shared/validation_failure.dart
lib/app/providers.dart composition root
lib/app/router/ Beamer
lib/bootstrap/talaria_monitoring.dartThe app is examples/flutter/feature_first (notes_flutter_feature_first).