Skip the setup, start coding! Flutterberry is a powerful CLI tool that instantly bootstraps your Flutter projects with a production-ready architecture, essential dependencies, and best practices - all with a single command.
Starting a new Flutter project usually means hours of manual setup:
- β Manually installing dozens of dependencies
- β Setting up folder architecture from scratch
- β Configuring routing, state management, and dependency injection
- β Creating boilerplate code for themes and utilities
- β Running build_runner and resolving conflicts
Flutterberry does ALL of this in seconds! β‘οΈ
With a single flutterberry command, you get:
- ποΈ Production-Ready Architecture - Complete DDD (Domain-Driven Design) folder structure
- π¦ Essential Dependencies - All the packages you need for modern Flutter development
- π¨ Theming Setup - Beautiful, customizable themes with Flex Color Scheme
- π§ Routing Configuration - Auto Route setup for declarative navigation
- π Dependency Injection - GetIt + Injectable for clean architecture
- π State Management - Flutter BLoC pattern implementation
- π οΈ Code Generation - Automatic build_runner execution with conflict resolution
Install Flutterberry globally via npm:
npm install -g flutter-berry-
Create a new Flutter project:
flutter create my_awesome_app cd my_awesome_app -
Run Flutterberry:
flutterberry
-
That's it! Your project is now ready with professional architecture and all dependencies installed.
Flutterberry creates a clean, scalable architecture following DDD principles:
lib/
βββ app/ # Application layer
βββ core/ # Shared core functionality
β βββ extensions/ # Dart extensions
β βββ domain/ # Domain layer
β β βββ failure/ # Error handling
β βββ infrastructure/ # Infrastructure layer
β β βββ repo/ # Repository implementations
β β βββ services/ # External services
β βββ presentation/ # Presentation layer
β βββ router/ # Navigation setup
β βββ screens/ # UI screens
β β βββ landing/ # Landing page example
β βββ widgets/ # Reusable widgets
β βββ app/ # App configuration
βββ injection/ # Dependency injection setup
βββ main.dart # Application entry point
- auto_route - Declarative route generation
- dartz - Functional programming utilities
- flex_color_scheme - Advanced Material Design theming
- flutter_bloc - Predictable state management
- freezed_annotation - Immutable data classes
- get_it - Service locator for dependency injection
- injectable - Code generation for dependency injection
- json_annotation - JSON serialization
- google_fonts - Beautiful typography
- toastification - Elegant toast notifications
- auto_route_generator - Route code generation
- build_runner - Code generation runner
- freezed - Data class and union generation
- injectable_generator - DI code generation
- json_serializable - JSON serialization generation
Domain-Driven Design (DDD) provides:
- π Separation of Concerns - Clean boundaries between layers
- π§ͺ Testability - Easy unit testing with dependency injection
- π Scalability - Architecture that grows with your project
- π§ Maintainability - Organized code that's easy to understand
- π Reusability - Modular components across features
When you run flutterberry, it:
- π Copies Architecture - Replaces your
lib/folder with the complete structure - β¬οΈ Installs Dependencies - Adds all core packages to
pubspec.yaml - π§ Installs Dev Dependencies - Adds development tools
- π Fetches Packages - Runs
flutter pub get - β‘ Generates Code - Executes
build_runnerwith conflict resolution
- Node.js 14.0 or higher
- Flutter 3.0 or higher
- Dart 2.17 or higher
# Create new project
flutter create todo_app
cd todo_app
# Bootstrap with Flutterberry
flutterberry
# Start developing immediately!
flutter runWe love contributions! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Found a bug or need help? Please open an issue on GitHub.
If Flutterberry saved you time, please give it a star! βοΈ
Made with π by developers, for developers