Blue Bird CLI ๐ฆ
Build scalable Flutter apps with confidence.
Blue Bird CLI generates production-ready Flutter projects with clean architecture, workspace management, and automated dependency injection. Choose from lite templates for small apps or complex multi-package architectures for enterprise-scale applications.
Inspired by Very Good CLI ๐ค
Installation ๐
dart pub global activate blue_bird_cli
Quick Start
# Create a lite app (small to medium projects)
blue_bird create lite_app -t flutter_lite
# Create a full-scale app (complex, enterprise projects)
blue_bird create full_app
# Add a feature package to an existing project
blue_bird create my_feature -t flutter_package -o "full_app/packages"
Templates
๐ชถ Flutter Lite
Perfect for small to medium-sized projects
A streamlined single-app structure with clean architecture, ideal for apps that need organization without the complexity of multi-package workspaces.
blue_bird create lite_app -t flutter_lite --org com.mycompany
Structure:
lite_app/
โโโ lib/
โ โโโ main.dart
โ โโโ src/
โ โโโ config/ # DI, routes, l10n, theming
โ โโโ data/ # Repositories, data sources, models
โ โโโ domain/ # Entities, use cases, repository interfaces
โ โโโ presentation/ # Pages, widgets, view models
โโโ assets/
โโโ test/
๐๏ธ Flutter Project
Built for complex, scalable applications
A comprehensive multi-package architecture with clean architecture patterns, perfect for large teams and enterprise apps.
blue_bird create full_app
Structure:
full_app/
โโโ core/ # Foundation layer
โโโ design_system/ # UI system
โโโ packages/ # Feature packages
โ โโโ bb_example_package/
โ โโโ ...
โโโ lib/ # Main app
๐ฆ Flutter Package
Modular feature development
Generate feature packages with clean architecture (data, domain, presentation layers) that automatically integrate with your workspace.
cd full_app/packages
blue_bird create my_feature -t flutter_package
Auto-configured:
- โ Added to workspace
- โ Added to dependencies
- โ DI configuration injected
Architecture & Dependencies
Blue Bird enforces a clear dependency hierarchy to maintain scalability:
graph TD
A[Main App] --> B[design_system]
A --> C[core]
A --> D[packages/*]
B --> C
D --> B
D --> C
style A fill:#4CAF50
style B fill:#2196F3
style C fill:#FF9800
style D fill:#9C27B0
Dependency Rules:
- Main App โ Can use all packages
- design_system โ Can use core only
- core โ No internal dependencies (foundation layer)
- packages/ โ Can use core and design_system
- packages/ โ โ Cannot depend on each other (no cyclic dependencies)
This ensures maintainability and prevents circular dependencies as your app grows.
Package Structure
Feature packages follow clean architecture with three distinct layers:
Domain Layer (Business Logic)
- Entities, repositories interfaces, use cases
Data Layer (Implementation)
- Repository implementations, data sources, models
Presentation Layer (UI)
- Pages, widgets, state management (Cubit/BLoC)
Example: bb_example_package
bb_example_package/
โโโ lib/src/
โ โโโ domain/
โ โโโ data/
โ โโโ presentation/
โ โโโ config/di/
Commands
Create Projects & Packages
# Lite template
blue_bird create lite_app -t flutter_lite
# Full project (default)
blue_bird create full_app
# Feature package
blue_bird create my_package -t flutter_package
# With custom organization
blue_bird create my_app --org com.example.myapp
# All platforms are added by default, remove them like this
blue_bird create my_app -t flutter_lite --android false --ios false
Update CLI
blue_bird update
Help
blue_bird --help
blue_bird create --help
Features
โจ Workspace Management - Automatic workspace configuration
๐ง Auto DI Integration - Dependencies injected automatically
๐ Clean Architecture - Domain, data, presentation layers
๐จ Design System - Centralized theming and components
๐งช Test Ready - Pre-configured testing structure
๐ฆ Modular - Feature-based package organization
๐ Melos Compatible - Multi-package development ready
License
Libraries
- blue_bird_cli
# activate blue_bird_cli dart pub global activate blue_bird_cli # see usage blue_bird --help