flutter_base_kit 1.3.5
flutter_base_kit: ^1.3.5 copied to clipboard
A comprehensive Flutter development kit with base classes, utilities, and common patterns for faster app development.
Flutter Base Kit 🚀 #

One-click configuration of project foundation using best practices and time-tested templates
Create new Flutter applications with pre-configured architecture: routing, DI, networking, localization, theming, and much more.
Why Flutter Base Kit? #
- ⚡ Quick Start - don't waste time setting up architecture
- 🏗️ Ready Structure - DI, routing, API, themes, localization
- 📱 Best Practices - proven architecture from real projects
- 🔧 CLI Tool - create projects with a single command
Installation #
Activate package globally #
dart pub global activate flutter_base_kit
If command not found
Windows:
- Add to PATH:
%LOCALAPPDATA%\Pub\Cache\bin
macOS/Linux:
- Add to ~/.bashrc or ~/.zshrc:
export PATH="$PATH":"$HOME/.pub-cache/bin"
📋 If you don't have Dart/Flutter SDK installed
Windows #
- Download Flutter SDK from flutter.dev
- Extract and add to PATH
- Run
flutter doctor
macOS #
brew install flutter
flutter doctor
Linux #
sudo snap install flutter --classic
flutter doctor
How to use #
Option 1: Create a new project #
# Create an app
flutter_base_kit create my_app --template app
# Create a package
flutter_base_kit create my_package --template package
# Create a package with tester
flutter_base_kit create my_project --template package+tester
Option 2: Add to existing project #
# Navigate to your project folder
cd my_existing_project
# Initialize Flutter Base Kit
flutter_base_kit init
Option 3: Add new modules to existing project #
# Add a complete module (API → Service → Cubit → Page)
flutter_base_kit module --name user_store
What you get in the project #
📁 Application structure #
lib/
├── api/ # API and network requests
├── core/ # Core logic
├── di/ # Dependency injection
├── l10n/ # Localization (EN, ES)
├── models/ # Data models
├── routes/ # Navigation
├── services/ # Services
├── themes/ # Theming
├── ui/ # UI components
└── utils/ # Utilities
📁 Module structure (created with module
command) #
lib/
├── api/retrofit/{module_name}/ # API interface
├── services/api/{module_name}/ # Business logic
├── models/{module_name}/ # Data models
├── core/{module_name}/ # State management
└── ui/pages/app/pages/{module_name}/ # UI page
🛠️ Ready components #
- Routing - AutoRoute for navigation
- DI - GetIt + Injectable for dependency management
- API - Dio + Retrofit for server communication
- State - Provider + Bloc for state management
- Themes - Flexible theming with light/dark support
- Localization - Support for English and Spanish languages
- Code Generation - Freezed, JSON, routes are generated automatically
🧩 Module Generator #
- Complete Module Creation - Generate API → Service → Cubit → Page structure
- Automatic Naming - Converts snake_case to PascalCase automatically
- Build Runner Integration - Automatically runs code generation after module creation
🎨 UI Components #
- AppKitLoader - Global loading widget with customizable presets
- AppDialog - Comprehensive dialog system
- AppSnackBar - Enhanced snackbar with error, success, and info variants
- AppBuilder - Reactive widget builder with built-in loading/error states
Command examples #
# Create an app
flutter_base_kit create my_app --template app --org com.mycompany
# Create a package
flutter_base_kit create my_package --template package
# Create a monorepo (package + tester)
flutter_base_kit create my_library --template package+tester --org com.mycompany
# Add to existing project
flutter_base_kit init
# Add new module
flutter_base_kit module --name user_store
Next steps #
After creating a project:
-
Navigate to project folder:
cd my_app
-
Install dependencies:
flutter pub get
-
Generate code:
flutter packages pub run build_runner build
-
Run the app:
flutter run
Useful commands #
# Show help
flutter_base_kit --help
# Generate code (in project)
flutter packages pub run build_runner build --delete-conflicting-outputs
# Create a new module
flutter_base_kit module --name user_store
Template types #
app
- Full Flutter application with all componentspackage
- Flutter package/plugin for code reusepackage+tester
- Package + separate testing application
Command options #
--org
- Organization identifier (e.g., com.mycompany)--template
- Template type (app, package, package+tester)--name
- Module name (must be in lowercase or snake_case format, e.g., user, user_store, product_item)--help
- Show help
Module naming rules #
Module name must be in lowercase or snake_case format (e.g., user
, user_store
, product_item
)
Dependencies #
Core Dependencies #
flutter_bloc
: State managementget_it
: Dependency injectioninjectable
: Code generation for DIauto_route
: Declarative routingdio
: HTTP clientretrofit
: Type-safe HTTP clientfreezed
: Immutable data classesjson_annotation
: JSON serializationflutter_localizations
: Localization support
Development Dependencies #
build_runner
: Code generationinjectable_generator
: DI code generationauto_route_generator
: Route code generationretrofit_generator
: Retrofit code generationjson_serializable
: JSON code generationfreezed
: Freezed code generationflutter_gen_runner
: Asset code generation
Configuration #
Localization #
Add ARB files to lib/l10n/
:
app_en.arb
- English translationsapp_es.arb
- Spanish translations
Troubleshooting #
Code generation errors #
# Clear cache and regenerate
flutter packages pub run build_runner clean
flutter packages pub run build_runner build --delete-conflicting-outputs
Support #
- 📖 Documentation: GitHub
- 🐛 Issues: Issues
- 📝 Changelog: CHANGELOG.md
Support the project #
If you find this package helpful, consider supporting its development:
License #
MIT License - see LICENSE file