Clean Helper: Scaffolding Production-Ready Flutter Apps in Seconds
Starting a Flutter project from scratch is tedious. You need to manually set up DI, routing, BLoC, networking, error handling, and localization. clean_helper is a Dart CLI tool that eliminates that grunt work entirely.
What is clean_helper?
It's a powerful scaffolding tool that generates a complete, production-ready Flutter project structure. Instead of manually creating dozens of folders and wiring up dependencies, you run a single command and get everything set up correctly.
Core Commands
clean-helper init: Scaffolds the entire project from zero.clean-helper add_feature <name>: Adds a fully wired feature (BLoC, routes, DI, layers).clean-helper bootstrap: Runs pub get, slang, and build_runner in one shot.clean-helper build_runner: Runs code generation (freezed, injectable, retrofit).
The Technology Stack
Generated projects come pre-configured with industry-standard libraries:
- Dependency Injection: get_it + injectable
- Routing: go_router with custom CleanRouterBase abstraction
- State Management: flutter_bloc + freezed
- Networking: dio + retrofit
- Error Handling: fpdart (Either<Failure, T>)
- Localization: slang
Architecture of Generated Projects
Every feature follows a strict layered split:
- Domain: Entities and repository interfaces (Pure Dart).
- Data: Models (@freezed), datasources (Retrofit), and repository implementations.
- Presentation: BLoC, pages (UI), and screens (DI wiring).
- Router: Feature-specific routes and navigation.
Consistency is key in large teams. With clean_helper, every feature follows the exact same structure, ensuring your codebase remains maintainable as it grows.
Get Started
You can find the full documentation and source code on GitHub: github.com/gktirkha/clean_helper