get_clean 1.0.1 copy "get_clean: ^1.0.1" to clipboard
get_clean: ^1.0.1 copied to clipboard

Complete Flutter app structure

Flutter Template CLI πŸš€ #

Instantly set up a complete Flutter app structure with pre-built architecture and essential packages.

✨ Features #

  • πŸ“ Complete folder structure (core, features, models, services, widgets)
  • 🎨 Pre-configured theme and styling
  • πŸ“¦ Auto-installs required packages (GetX, Dio, Flutter Portal, Get Storage)
  • πŸ—οΈ Clean architecture ready to use
  • ⚑ Zero configuration needed - just run and code!

πŸ“¦ What Gets Installed #

The template automatically includes:

  • GetX (^4.7.2) - State management & routing
  • Dio (^5.9.0) - HTTP client for API calls
  • Flutter Portal (^1.1.4) - Advanced overlay widgets
  • Get Storage (^2.1.1) - Local storage solution

πŸš€ Installation #

dart pub global activate get_clean

πŸ“– Usage #

  1. Create a new Flutter project:
flutter create my_awesome_app
cd my_awesome_app
  1. Run the template installer (fully automated):
get_clean
  1. Start coding! Everything is set up:
flutter run

That's it! The CLI will:

  • βœ… Copy the complete lib folder structure
  • βœ… Add all required dependencies to pubspec.yaml
  • βœ… Run flutter pub get automatically
  • βœ… Everything ready to use!

πŸ“‚ Folder Structure #

my_awesome_app/
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ main.dart
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ app_binding.dart
β”‚   β”‚   β”œβ”€β”€ app_controller.dart
β”‚   β”‚   └── app_view.dart
β”‚   β”œβ”€β”€ core/
β”‚   β”‚   β”œβ”€β”€ constants/
β”‚   β”‚   β”‚   └── app_constants.dart
β”‚   β”‚   β”œβ”€β”€ errors/
β”‚   β”‚   β”‚   β”œβ”€β”€ exceptions.dart
β”‚   β”‚   β”‚   └── failures.dart
β”‚   β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”‚   └── app_pages.dart
β”‚   β”‚   β”œβ”€β”€ theme/
β”‚   β”‚   β”‚   β”œβ”€β”€ app_colors.dart
β”‚   β”‚   β”‚   β”œβ”€β”€ app_theme.dart
β”‚   β”‚   β”‚   └── app_typography.dart
β”‚   β”‚   └── utils/
β”‚   β”‚       β”œβ”€β”€ app_utils.dart
β”‚   β”‚       └── helpers.dart
β”‚   β”œβ”€β”€ data/
β”‚   β”‚   β”œβ”€β”€ datasources/
β”‚   β”‚   β”‚   β”œβ”€β”€ local_datasource.dart
β”‚   β”‚   β”‚   └── remote_datasource.dart
β”‚   β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”‚   └── base_model.dart
β”‚   β”‚   └── repositories/
β”‚   β”‚       └── base_repository_impl.dart
β”‚   β”œβ”€β”€ domain/
β”‚   β”‚   β”œβ”€β”€ entities/
β”‚   β”‚   β”‚   └── base_entity.dart
β”‚   β”‚   β”œβ”€β”€ repositories/
β”‚   β”‚   β”‚   └── base_repository.dart
β”‚   β”‚   └── usecases/
β”‚   β”‚       └── base_usecase.dart
β”‚   β”œβ”€β”€ features/
β”‚   β”‚   β”œβ”€β”€ auth/
β”‚   β”‚   β”‚   β”œβ”€β”€ bindings/
β”‚   β”‚   β”‚   β”‚   └── auth_binding.dart
β”‚   β”‚   β”‚   β”œβ”€β”€ controllers/
β”‚   β”‚   β”‚   β”‚   └── auth_controller.dart
β”‚   β”‚   β”‚   β”œβ”€β”€ data/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ datasources/
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ auth_local_datasource.dart
β”‚   β”‚   β”‚   β”‚   β”‚   └── auth_remote_datasource.dart
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”‚   β”‚   β”‚   └── user_model.dart
β”‚   β”‚   β”‚   β”‚   └── repositories/
β”‚   β”‚   β”‚   β”‚       └── auth_repository_impl.dart
β”‚   β”‚   β”‚   β”œβ”€β”€ domain/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ entities/
β”‚   β”‚   β”‚   β”‚   β”‚   └── user_entity.dart
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ repositories/
β”‚   β”‚   β”‚   β”‚   β”‚   └── auth_repository.dart
β”‚   β”‚   β”‚   β”‚   └── usecases/
β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ get_user_usecase.dart
β”‚   β”‚   β”‚   β”‚       └── login_usecase.dart
β”‚   β”‚   β”‚   └── presentation/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ widgets/
β”‚   β”‚   β”‚   β”‚   β”‚   └── login_form.dart
β”‚   β”‚   β”‚   β”‚   └── views/
β”‚   β”‚   β”‚   β”‚       └── login_view.dart
β”‚   β”‚   β”‚   └── routes/
β”‚   β”‚   β”‚       └── auth_routes.dart
β”‚   β”‚   └── home/
β”‚   β”‚       β”œβ”€β”€ bindings/
β”‚   β”‚       β”‚   └── home_binding.dart
β”‚   β”‚       β”œβ”€β”€ controllers/
β”‚   β”‚       β”‚   └── home_controller.dart
β”‚   β”‚       β”œβ”€β”€ data/
β”‚   β”‚       β”‚   β”œβ”€β”€ datasources/
β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ home_local_datasource.dart
β”‚   β”‚       β”‚   β”‚   └── home_remote_datasource.dart
β”‚   β”‚       β”‚   β”œβ”€β”€ models/
β”‚   β”‚       β”‚   β”‚   └── item_model.dart
β”‚   β”‚       β”‚   └── repositories/
β”‚   β”‚       β”‚       └── home_repository_impl.dart
β”‚   β”‚       β”œβ”€β”€ domain/
β”‚   β”‚       β”‚   β”œβ”€β”€ entities/
β”‚   β”‚       β”‚   β”‚   └── item_entity.dart
β”‚   β”‚       β”‚   β”œβ”€β”€ repositories/
β”‚   β”‚       β”‚   β”‚   └── home_repository.dart
β”‚   β”‚       β”‚   └── usecases/
β”‚   β”‚       β”‚       └── get_items_usecase.dart
β”‚   β”‚       └── presentation/
β”‚   β”‚           β”œβ”€β”€ widgets/
β”‚   β”‚           β”‚   └── item_card.dart
β”‚   β”‚           └── views/
β”‚   β”‚               └── home_view.dart
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ api_service.dart
β”‚   β”‚   β”œβ”€β”€ auth_service.dart
β”‚   β”‚   └── storage_service.dart
β”‚   └── shared/
β”‚       β”œβ”€β”€ widgets/
β”‚       β”‚   └── custom_button.dart
β”‚       └── components/
β”‚           └── loading_indicator.dart
└── pubspec.yaml

πŸ”§ Troubleshooting #

Issue: Command not found

# Make sure Dart pub global bin is in your PATH
export PATH="$PATH":"$HOME/.pub-cache/bin"

Issue: Template not copying

# Reinstall the CLI
dart pub global deactivate get_clean
dart pub global activate get_clean

πŸ“ License #

MIT License - feel free to use for personal and commercial projects!

🀝 Contributing #

Found a bug or have a suggestion? Open an issue on GitHub!

2
likes
130
points
15
downloads

Publisher

unverified uploader

Weekly Downloads

Complete Flutter app structure

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

dio, flutter, flutter_portal, get, get_storage, path

More

Packages that depend on get_clean