🎯 flutter_blueprint
Enterprise-grade Flutter app scaffolding CLI — generates production-ready Flutter projects with 43+ professional files, complete architecture, and best practices.
📱 Note: CLI runs on desktop (Windows/Linux/macOS) to generate Flutter projects that support all platforms (Android, iOS, Web, Desktop).
🚀 Quick Start
Installation
# Windows (PowerShell)
iex (irm 'https://raw.githubusercontent.com/chirag640/flutter_blueprint-Package/main/scripts/install.ps1')
# macOS / Linux
dart pub global activate flutter_blueprint
Create a Project
# Interactive wizard (recommended)
flutter_blueprint init
# Quick mode with options
flutter_blueprint init my_app --state riverpod --api --theme --tests
✨ Key Features
| Category | Features |
|---|---|
| Architecture | Clean architecture, 43+ files, feature-based structure |
| State Management | Provider, Riverpod, or Bloc |
| API Layer | Dio + Auth/Retry/Logger interceptors, Universal API Configurator |
| Storage | LocalStorage + SecureStorage + optional Hive caching |
| UI Components | Theme system, reusable widgets, Material 3 |
| DevOps | GitHub Actions, GitLab CI, Azure Pipelines |
| Extras | Pagination, Analytics, Security utilities, i18n |
🛠️ CLI Commands
init - Create New Project
flutter_blueprint init <app_name> [options]
| Flag | Description |
|---|---|
--state <choice> |
State management: provider, riverpod, bloc |
--platforms <list> |
Target: mobile, web, desktop, all |
--ci <provider> |
CI/CD: github, gitlab, azure |
--api |
Include API client (prompts for backend type) |
--theme |
Include theme system |
--env |
Include environment config |
--tests |
Include test scaffolding |
--hive |
Include Hive offline caching |
--pagination |
Include pagination support |
--analytics <provider> |
Analytics: firebase, sentry |
--security <level> |
Security: basic, standard, enterprise |
🔌 API Backend Presets
When --api is enabled, choose from built-in presets:
- Modern REST - HTTP 200 + JSON data
- Legacy .NET - success: true/false pattern
- Laravel - data wrapper, message field
- Django REST - results array, detail errors
- Custom - manual configuration
add feature - Add Features to Existing Project
flutter_blueprint add feature <name> [--api] [--no-data] [--no-domain]
📁 Generated Structure
my_app/
├── lib/
│ ├── main.dart
│ ├── app/app.dart
│ ├── core/
│ │ ├── api/ # API client + interceptors
│ │ ├── config/ # App config + env loader
│ │ ├── errors/ # Exceptions + failures
│ │ ├── routing/ # Router + guards
│ │ ├── storage/ # Local + secure storage
│ │ ├── theme/ # Colors, typography, themes
│ │ ├── utils/ # Logger, validators, extensions
│ │ └── widgets/ # Reusable UI components
│ └── features/ # Feature modules
├── test/ # Test scaffolding
└── pubspec.yaml
🤝 Team Collaboration
Share configurations across your team:
# Import team config
flutter_blueprint share import ./company_standard.yaml
# Create project from config
flutter_blueprint init my_app --from-config company_standard
📚 Documentation
- Example Usage - Programmatic API examples
- Contributing Guide - How to contribute
- Changelog - Version history
📄 License
MIT License - see LICENSE
💬 Support
- 📧 Email: [email protected]
- 🐛 GitHub Issues
- 💬 Discussions
Made with ❤️ for the Flutter community ⭐