archipelago_cli 0.0.1-dev.9

SDKdartflutter
Platformandroidioswindowslinuxmacosweb

Archipelago CLI to use Archipelago Flutter Starter kit.

Archipelago

Flutter Version License

🏝 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
  • Network: HTTP client setup with interceptors and error handling
  • State Management: Scalable state management solution

🛠 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 continuous integration and deployment workflows
  • Documentation: Coming Soon
  • 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

# Initialize Archipelago or
archipelago start

# Setup monorepo workspace
archipelago initialize-monorepo

Next, you can run the app by using existing vscode or Android Studio configuration.

📐 Architecture

Archipelago follows a modular architecture pattern:

../
├── app/                   # Application projects
│   ├── mobile/            # Main mobile application
│   └── widgetbook/        # Example app showcasing ui kit
├── core/                  # Core utilities and helpers
├── features/              # Feature packages
├── packages/              # Shared packages
│   ├── ui_kit/            # Shared UI components
├── plugins/               # Shared plugins
├── scripts/               # Development tools
├── shared/                # Shared/common config/packages
│   ├── config/             # Shared configuration (env, flavor)
│   ├── dependencies/      # Shared dependencies (blocs, etc.)
│   └── l10n/              # Shared localization package
└── melos.yaml             # Monorepo configuration

🎯 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
  • Scalability: From small apps to enterprise solutions
  • Maintainability: Clear structure and patterns
  • Developer Experience: Efficient workflows and tools
  • Best Practices: Industry-standard Flutter patterns

📄 License

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

🙋‍♂️ Support


Built with ❤️ for the Flutter community