monorepo_toolkit Free
CLI toolkit for Flutter monorepo management. Generates the devtools/ directory with a full suite of automation scripts — build preparation, dependency management, environment sync, flavor management, and more.
Version: 1.0.0
Included Scripts
The monorepo_toolkit generates these scripts out of the box — all free:
| Script | Description |
|---|---|
| build_prepare | Build-time dependency swapping (noop/impl pattern for release stripping) |
| dependency_graph | Dependency enforcement and visualization between packages |
| dependency_manager | Centralized dependency version management across packages |
| env_sync | Environment variable synchronization across flavors and packages |
| flavor_manager | Flavor/environment configuration management (dev, staging, production) |
| workspace_setup | Initial workspace setup and bootstrap automation |
| app_scaffold | Add new app targets to existing monorepo |
| shared_scripts | Shared utility scripts used by other commands |
| run_app | Interactive device selection and flavor-aware app launcher |
Planned Additions
- CMake support for native build configuration
- melos run:android / melos run:ios convenience commands
- Integration test support with Maestro or Patrol
Extensible with Pro & Enterprise Bricks
The toolkit can be extended with additional devtools bricks:
| Brick | Tier | Description |
|---|---|---|
| asset_generator | Free | Type-safe asset enum generation |
| ui_kit_generator | Free | CLI commands for component/theme management |
| coverage_manager | Pro | Test coverage pipeline with thresholds |
| size_guard | Pro | File size threshold enforcement |
| asset_optimizer | Pro | Image optimization (SVG, PNG, JPEG) |
| affected | Enterprise | Git-based affected package detection for CI |
| ui_kit_theme | Enterprise | Advanced theme variant management |
Variables
| Variable | Type | Default | Description |
|---|---|---|---|
| appName | string | MyApp | The name of your application |
| organization | string | MyCompany | The name of your organization |
| isForMonorepo | boolean | true | Whether this is being generated as part of a monorepo |
Usage
Interactive
bash
archipelago generate monorepo_toolkitNon-interactive (CI)
bash
archipelago generate monorepo_toolkit --config my_config.jsonConfig Template
json
{
"@appName": "The name of your application",
"appName": "MyApp",
"@organization": "The name of your organization",
"organization": "MyCompany",
"@isForMonorepo": "Whether this is being generated as part of a monorepo",
"isForMonorepo": true
}Generated Structure
devtools/
├── monorepo_toolkit/
│ ├── bin/
│ │ └── monorepo_toolkit.dart # CLI entry point
│ ├── lib/
│ │ ├── monorepo_toolkit.dart
│ │ └── src/
│ │ ├── command_runner.dart # CLI command runner
│ │ └── models/
│ │ └── config_registry.dart # Script config registry
│ └── pubspec.yaml
└── scripts/
├── app_scaffold/ # Add new apps
├── build_prepare/ # Build-time dep swap
├── dependency_graph/ # Dependency enforcement
├── dependency_manager/ # Version management
├── env_sync/ # Environment sync
├── flavor_manager/ # Flavor management
├── run_app/ # Interactive app launcher
├── shared_scripts/ # Shared utilities
└── workspace_setup/ # Bootstrap automation