archipelago_cli 0.0.1-dev.9
archipelago_cli: ^0.0.1-dev.9 copied to clipboard
Archipelago CLI to use Archipelago Flutter Starter kit.
Archipelago #

π 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 #
- π Documentation (Coming Soon)
- π¬ Discord Community
- π Issue Tracker
Built with β€οΈ for the Flutter community