🔧 Flutter Forge - Professional Documentation
📌 About Flutter Forge
Flutter Forge is an enterprise-grade VS Code extension designed to accelerate Flutter application development by automating project scaffolding, feature generation, and architectural setup. Built for developers who demand production-ready code with minimal boilerplate.
Whether you're building a startup MVP or managing a complex enterprise application, Flutter Forge provides the tools to maintain consistency, enforce best practices, and reduce time-to-market.
👨💻 Created By
Abdullah Essam - Flutter & Full-Stack Developer
✨ Features
🚀 Core Features
| Feature |
Description |
Benefit |
| Dynamic Project Generation |
Interactive UI for creating fully-configured Flutter projects with single click |
Save 30-45 minutes per project setup |
| Advanced Architectures |
Support for MVVM, Clean Architecture, MVC, and GetX patterns |
Choose the pattern that fits your team |
| Smart Feature Generation |
Auto-detects project architecture and generates integrated features |
Maintain consistency across your codebase |
| State Management Flexibility |
BLoC, Cubit, Provider, Riverpod, GetX, and more |
Use what works best for your needs |
| Responsive Design |
Built-in flutter_screenutil for cross-device compatibility |
Build once, deploy everywhere |
| Tool |
Description |
Use Case |
| API Integration Generator |
Generate models and services from Swagger/OpenAPI specifications |
Eliminate manual API boilerplate |
| Custom Widget Library |
Pre-built responsive widgets (Button, TextField, Loading) |
Rapid UI development |
| Testing Generator |
Boilerplate for unit and widget tests |
Maintain code quality |
| Firebase Quick Setup |
Interactive Firebase configuration using FlutterFire CLI |
Cloud integration in minutes |
| Dependency Manager |
Add/remove packages with automatic pubspec.yaml updates |
Streamlined dependency management |
| Error Detection |
Automated architectural error scanning and fixes |
Catch issues before production |
🎨 Customization & Enhancement
| Feature |
Description |
| App ID Changer |
Update package ID for both Android and iOS with one command |
| App Icon Changer |
Set application icon across platforms from a single image |
| Code Refactoring |
Extract widgets, optimize code structure |
| Smart Snippets |
Ready-to-use code snippets for common Flutter Forge components |
| Theme Management |
Light/Dark mode support with automatic configuration |
| Localization Support |
Multi-language project setup (English, Arabic, etc.) |
📋 System Requirements
Minimum Requirements
- VS Code: 1.75.0 or higher
- Flutter SDK: 3.0.0 or higher
- Dart SDK: 3.0.0 or higher (comes with Flutter)
- Git: 2.25.0 or higher (recommended)
Operating System Support
- ✅ macOS (Intel & Apple Silicon)
- ✅ Windows (10 or later)
- ✅ Linux (Ubuntu 20.04 LTS or equivalent)
Required Flutter Packages
The extension automatically configures these packages in generated projects:
flutter_screenutil - Responsive design
provider / bloc / riverpod - State management
dio - HTTP client
firebase_core - Firebase integration (optional)
- And more based on your selections
🚀 Installation
Method 1: VS Code Marketplace (Recommended)
- Open VS Code
- Navigate to Extensions (
Ctrl+Shift+X / Cmd+Shift+X)
- Search for "Flutter Forge"
- Click Install
- Reload VS Code when prompted
Method 2: Manual Installation
- Download the
.vsix file from the GitHub Releases
- Open VS Code terminal and run:
code --install-extension flutter-forge-1.0.0.vsix
Method 3: Build from Source
# Clone the repository
git clone https://github.com/AbdalluhEssam/flutter-forge.git
cd flutter-forge
# Install dependencies
npm install
# Build the extension
npm run compile
# Package the extension
npm run package
# Install the extension
code --install-extension flutter-forge-1.0.0.vsix
⚡ Quick Start
Step 1: Verify Prerequisites
Open your terminal and verify Flutter installation:
flutter --version
dart --version
Step 2: Create Your First Project
- Press
Ctrl+Shift+P (or Cmd+Shift+P on Mac)
- Type and select: "Flutter Forge: 🚀 Generate New Project"
- Fill in your project details:
- Project Name:
my_awesome_app (lowercase, underscores only)
- Architecture: Select your preferred pattern
- State Management: Choose BLoC, Provider, or others
- Backend Integration: Select None, Firebase, Supabase, or Custom
- Theme Management: Enable Light/Dark mode
- Localization: Add languages (en, ar, etc.)
- Routing System: Choose GoRouter, AutoRoute, or Named Routes
- Dependency Injection: Select GetIt or Injectable
- Click 🚀 Generate Project
- Select destination folder
- Wait for automatic setup (takes 2-3 minutes)
- Your new project opens in a fresh VS Code window!
Step 3: Run Your Application
cd my_awesome_app
flutter pub get
flutter run
📚 Documentation
Complete Guides
Quick References
🎯 Use Cases
For Junior Developers
✅ Learn professional architecture patterns
✅ Understand code organization best practices
✅ Accelerate learning curve with generated examples
For Senior Developers
✅ Enforce team-wide standards and conventions
✅ Reduce repetitive boilerplate coding
✅ Focus on business logic instead of scaffolding
For Teams
✅ Maintain consistency across projects
✅ Onboard new developers faster
✅ Standardize folder structure and naming conventions
For Enterprises
✅ Corporate architecture compliance
✅ Automated code quality checks
✅ Scalable project structure from day one
🛠️ Architecture Overview
Generated Flutter Project
│
├── lib/
│ ├── core/ # Shared utilities
│ │ ├── api/ # API client & interceptors
│ │ ├── network/ # Network info & connectivity
│ │ ├── error/ # Exception handling
│ │ ├── extensions/ # Dart extensions
│ │ ├── widgets/ # Reusable UI components
│ │ ├── theme/ # App theming
│ │ ├── constants/ # App constants
│ │ └── di/ # Dependency injection
│ │
│ ├── features/ # Feature modules
│ │ └── [feature_name]/
│ │ ├── presentation/ # UI Layer
│ │ │ ├── screens/
│ │ │ ├── widgets/
│ │ │ └── bloc/ # or viewmodel/controller
│ │ │
│ │ ├── domain/ # Business Logic Layer
│ │ │ ├── entities/
│ │ │ ├── repositories/
│ │ │ └── usecases/
│ │ │
│ │ └── data/ # Data Layer
│ │ ├── models/
│ │ ├── datasources/
│ │ └── repositories/
│ │
│ ├── main.dart # Entry point
│ └── routes/ # Navigation
│
├── test/ # Unit and Widget tests
├── pubspec.yaml # Dependencies
└── .flutter_forge_config # Flutter Forge config
🔌 Supported Architectures
1️⃣ Clean Architecture
The most professional and scalable pattern. Perfect for large-scale applications.
- Layers: Presentation → Domain → Data
- Separation of Concerns: Maximum
- Testability: Excellent
- Scalability: Enterprise-grade
2️⃣ MVVM (Model-View-ViewModel)
Modern and maintainable pattern. Great for responsive applications.
- Components: Model, View, ViewModel
- Reactivity: Built-in
- Learning Curve: Moderate
- Team Size: 2-50 developers
3️⃣ MVC (Model-View-Controller)
Simple and straightforward. Good for smaller projects.
- Components: Model, View, Controller
- Simplicity: High
- Flexibility: Good
- Project Size: Small to Medium
4️⃣ GetX Pattern
All-in-one solution with routing, state management, and dependency injection.
- Integration: Complete framework
- Productivity: Very high
- Flexibility: Less restrictive
- Popularity: Growing
📱 Supported State Management
| State Manager |
Type |
Complexity |
Performance |
| BLoC |
Stream-based |
Medium |
⭐⭐⭐⭐⭐ |
| Cubit |
Stream-based (simplified) |
Low |
⭐⭐⭐⭐⭐ |
| Provider |
InheritedWidget |
Low |
⭐⭐⭐⭐ |
| Riverpod |
Functional reactive |
Medium |
⭐⭐⭐⭐⭐ |
| GetX |
All-in-one |
Low |
⭐⭐⭐⭐ |
| None |
Stateful widgets |
Very Low |
⭐⭐ |
🌐 Localization Support
Generated projects can include automatic multi-language setup:
Languages Available:
- 🇬🇧 English (en)
- 🇸🇦 Arabic (ar)
- 🇫🇷 French (fr)
- 🇩🇪 German (de)
- 🇪🇸 Spanish (es)
- 🇮🇹 Italian (it)
- 🇯🇵 Japanese (ja)
- 🇨🇳 Chinese (zh)
- 🇮🇳 Hindi (hi)
- ... and more!
🔐 Security & Best Practices
✅ Type Safety: 100% null-safe code generated
✅ Error Handling: Comprehensive exception handling built-in
✅ API Security: Secure storage for sensitive data
✅ Code Quality: Follows Dart Code Style Guide
✅ Testing: Generated code includes test templates
✅ Dependency Verification: All packages from official Pub.dev
💻 Command Reference
Project Generation
Command: Flutter Forge: 🚀 Generate New Project
Shortcut: Ctrl+Alt+N (customizable)
Description: Launch interactive project generator
Feature Generation
Command: Flutter Forge: ⚡ Generate Feature
Shortcut: Ctrl+Alt+F (customizable)
Description: Generate new feature in existing project
Dependency Management
Command: Flutter Forge: ➕ Add Dependency
Description: Add packages to pubspec.yaml with auto-update
Firebase Setup
Command: Flutter Forge: 🔥 Firebase Quick Setup
Description: Interactive Firebase configuration via FlutterFire CLI
API Integration
Command: Flutter Forge: 🌐 API Integration Generator
Description: Generate models and services from API specification
Testing
Command: Flutter Forge: 🧪 Generate Tests
Description: Create unit and widget test templates
Command: Flutter Forge: 🎨 Generate Custom Widgets
Description: Generate responsive widget library
Code Refactoring
Command: Flutter Forge: ♻️ Code Refactoring
Description: Extract widgets and optimize code structure
App Configuration
Command: Flutter Forge: 📦 Change Package ID
Description: Update application ID for Android & iOS
Command: Flutter Forge: 🎨 Change App Icon
Description: Set app icon across all platforms
Error Detection
Command: Flutter Forge: ⚠️ Error Detection
Description: Scan and fix architectural issues
🚨 Troubleshooting
Issue: Flutter command not found
Solution: Ensure Flutter SDK is in your PATH
# Add Flutter to PATH
export PATH="$PATH:$(pwd)/flutter/bin"
Issue: Permission denied on scripts
Solution: Make scripts executable
chmod +x setup_icons.sh
chmod +x verify_icon_setup.sh
Issue: pubspec.yaml conflicts
Solution: Run flutter pub get after each modification
flutter pub get
flutter pub upgrade
Issue: Port already in use
Solution: Specify different port
flutter run -d <device_id> --host localhost --port 8081
For more issues, see TROUBLESHOOTING.md
- ⏱️ Project Generation Time: 2-3 minutes
- 📦 Generated Project Size: ~50-100 MB (with dependencies)
- 🚀 Initial Build Time: 3-5 minutes
- 💾 Memory Usage: ~500 MB - 1 GB
- ⚡ Release Build Size: 15-25 MB (varies)
🤝 Contributing
We welcome contributions! Here's how you can help:
- Report Bugs: Open an issue on GitHub
- Suggest Features: Create a feature request
- Submit Code: Fork, create a branch, and submit a pull request
- Improve Docs: Help us improve documentation
📜 License
Flutter Forge is licensed under the MIT License. See LICENSE file for details.
MIT License Summary
✅ Allowed: Commercial use, modification, distribution, private use
❌ Not allowed: Liability claims, warranty claims
Get Help
Stay Updated
- ⭐ Star the repository for updates
- 👁️ Watch for new releases
- 🔔 Follow on LinkedIn: @abdalluh-essam
🎯 Roadmap
Version 1.0 (Current) ✅
- ✅ Project generation
- ✅ Feature generation
- ✅ Multiple architectures
- ✅ API integration
- ✅ Firebase setup
Version 1.1 (Coming Soon) 🔄
- 🔜 Database schema generation
- 🔜 Enhanced error detection
- 🔜 Performance optimization
- 🔜 More architecture patterns
Version 2.0 (Planned) 📋
- 🔜 Visual architecture editor
- 🔜 Advanced testing templates
- 🔜 CI/CD pipeline generation
- 🔜 Project analytics
📈 Why Choose Flutter Forge?
| Feature |
Flutter Forge |
Generic Approach |
| Setup Time |
2-3 minutes |
30-45 minutes |
| Architecture Support |
4+ patterns |
Manual |
| Code Quality |
Production-ready |
Variable |
| Consistency |
100% |
Low |
| Learning Curve |
Gentle |
Steep |
| Team Onboarding |
Fast |
Slow |
| Cost Savings |
10+ hours/project |
None |
💬 Testimonials
"Flutter Forge cut our project setup time by 75%. We now focus on features, not boilerplate." - Senior Developer at TechCorp
"Best Flutter development tool I've used. It enforces best practices automatically." - Flutter Community Member
"Saved our team countless hours. Highly recommended for any Flutter team." - Team Lead, Startup
🙏 Acknowledgments
Special thanks to:
- The Flutter and Dart communities
- VS Code team for the amazing extension API
- All contributors and users who provide feedback