Blue Bird CLI ๐Ÿฆ

style: very good analysis License: MIT

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.

Blue Bird CLI

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

MIT


Libraries

blue_bird_cli
# activate blue_bird_cli dart pub global activate blue_bird_cli # see usage blue_bird --help