archipelago_cli 1.3.0
archipelago_cli: ^1.3.0 copied to clipboard
CLI toolkit for generating production-ready Flutter projects.
Archipelago #
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