Archipelago



Pub Version License Dart Flutter

Ship your Flutter app in days, not weeks.

About Archipelago

Archipelago is a sophisticated Flutter starter kit designed for scalable applications using a monorepo architecture. Like its namesake — a chain of islands connected by water — Archipelago connects multiple Flutter packages and modules into a cohesive, maintainable ecosystem.

Key Features

Monorepo Structure

  • Mason-powered Templates: Standardized package generation for consistency across your project
  • Melos Workflow: Streamlined management of multiple packages with efficient versioning and publishing
  • Smart Dependencies: Optimized internal package dependencies with proper versioning

Pre-configured Packages

  • Core Module: Essential utilities, helpers, and shared functionality
  • UI Kit: Ready-to-use custom widgets and design system
  • Navigation: Pre-configured routing system with deep linking support
  • Network SDK: HTTP client setup with interceptors and error handling
  • Auth SDK: Authentication flow with multiple provider support
  • Monitoring SDK: Logging, crash reporting, and analytics (with noop swap for release)
  • State Management: Scalable BLoC-based state management

Developer Experience

  • Code Generation: Automated code generation for models, APIs, and more
  • Testing Setup: Pre-configured unit, widget, and integration testing
  • CI/CD Templates: Ready-to-use GitHub Actions and Fastlane workflows
  • Monorepo Toolkit: Affected package detection, test coverage pipeline, dependency graph enforcement
  • AI Agent Support: Generated projects include configuration for AI coding assistants
  • Hot Reload Support: Optimized for Flutter's hot reload across all packages
  • Linting Rules: Consistent code style enforcement across packages

Getting Started

# Install archipelago globally
dart pub global activate archipelago_cli

# Check system requirements
archipelago doctor

# Create a new project
archipelago create

# Enable shell completion
archipelago completion install

Next, you can run the app using the pre-configured launch configs for VS Code or Android Studio.

Architecture

Archipelago follows a modular architecture pattern:

your_project/
├── app/                   # Application projects
│   ├── mobile/            # Main mobile application
│   └── widgetbook/        # UI component showcase
├── core/                  # Core utilities and helpers
├── features/              # Feature packages
│   ├── feature_*/         # Self-contained feature modules
├── packages/              # Shared packages
│   ├── ui_kit/            # Shared UI components & design system
│   ├── auth_sdk/          # Authentication SDK
│   ├── network_sdk/       # Network/HTTP SDK
│   └── monitoring_sdk/    # Monitoring & analytics SDK
├── devtools/              # Monorepo toolkit scripts
│   ├── affected/          # Changed package detection
│   ├── coverage/          # Test coverage pipeline
│   └── build_prepare/     # Build-time dependency swap
├── shared/                # Shared configuration
│   ├── config/            # Environment & flavor config
│   ├── dependencies/      # Shared BLoC dependencies
│   └── l10n/              # Localization
└── melos.yaml             # Monorepo configuration

Commands

Command Description
archipelago create Create a new Archipelago project
archipelago doctor Check system health and dependencies
archipelago --version Show current version
archipelago completion install Install shell completion

Use Cases

Archipelago is perfect for:

  • Enterprise applications requiring scalable architecture
  • Startups planning to scale their applications
  • Teams working on multiple related Flutter projects
  • Projects requiring consistent development patterns
  • Applications with multiple flavors or white-label solutions

Philosophy

Archipelago embraces these core principles:

  • Modularity: Independent yet connected packages, like islands in an archipelago
  • Scalability: From small apps to enterprise solutions
  • Maintainability: Clear structure and patterns
  • Developer Experience: Efficient workflows and tools
  • Best Practices: Industry-standard Flutter patterns

Documentation

License

Archipelago is available under the MIT License. See the LICENSE file for more info.

Support


Built with love for the Flutter community

Libraries

archipelago_cli
Archipelago CLI — toolkit for generating production-ready Flutter projects.