← ClaudeAtlas

add-feature-templatelisted

Scaffold the wiring skeleton for a new Flutter feature: folder tree, empty repository interface, empty data source, empty repository impl, BLoC with sealed states, page, screen, and DI registration. Invoke with $add-feature-template <feature_name>.
abhinav503/flutter-agentic · ★ 6 · Data & Documents · score 78
Install: claude install-skill abhinav503/flutter-agentic
If the feature name was not passed as an argument, ask: "What is the feature name? (e.g. `products`, `auth`, `settings`)" - `{Feature}` = PascalCase · `{feature}` = snake_case - `{Action}` = PascalCase verb · `{action}` = snake_case verb (e.g. `GetProducts` / `get_products`) Scaffold only — do NOT create entity, model, or use case files. BLoCs are never registered in GetIt. All imports are relative (`../../../../`), never `package:flutter_agentic/...`. Run `make gen` and `make analyze` at the end before reporting done. --- ## 1. Folder tree ```bash mkdir -p lib/feature/{feature}/data/data_source mkdir -p lib/feature/{feature}/data/models mkdir -p lib/feature/{feature}/data/repository_impl mkdir -p lib/feature/{feature}/domain/entities mkdir -p lib/feature/{feature}/domain/repository mkdir -p lib/feature/{feature}/domain/usecase mkdir -p lib/feature/{feature}/presentation/bloc mkdir -p lib/feature/{feature}/presentation/view mkdir -p lib/feature/{feature}/presentation/widgets ``` ## 2. Domain — repository interface `lib/feature/{feature}/domain/repository/{feature}_repository.dart` ```dart abstract interface class {Feature}Repository {} ``` ## 3. Data — remote data source `{feature}_remote_data_source.dart` ```dart abstract interface class {Feature}RemoteDataSource {} ``` `{feature}_remote_data_source_impl.dart` ```dart import 'package:dio/dio.dart'; import 'package:retrofit/retrofit.dart'; import '{feature}_remote_data_source.dart'; part '{feature}_remote_data_sour