Compare
Archipelago vs alternatives
Archipelago is not the only tool in the Flutter ecosystem. This page gives an honest look at the main options, what each one is good at, and where Archipelago adds value. Every claim about another tool links to a source with the date we checked it.
More detailed pages:
Feature matrix
| Archipelago | Very Good CLI | Mason + BrickHub | GitHub template repo | Melos | |
|---|---|---|---|---|---|
| What it is | A CLI that generates a Flutter monorepo, then adds features to it from 76 versioned bricks[1] | A CLI from Very Good Ventures, a Flutter app development agency. It creates Flutter apps, Flutter and Dart packages, plugins, Dart CLIs, Flame games and docs sites[2][3] | A general tool to make and use code templates (bricks); BrickHub is where bricks are published and found[4][5] | A repository you copy once to start a new repository[6] | A tool to manage Dart and Flutter projects with one or many packages, with versioning from Conventional Commits[7] |
| Price and licence | Free plan with 3 project scaffolds per month and the Free bricks. Pro and Enterprise are one-time purchases. The CLI is MIT[8][9] | Free. MIT licence[10] | mason_cli is free. MIT licence[4] | Set by each template's author[6] | Free. Apache-2.0 licence[7] |
| Project structure | A modular monorepo: app, feature packages, shared packages and a devtools/ toolkit[11] | One Flutter app with a folder per feature (a counter example). Packages and plugins have their own templates[12] | Whatever the bricks you choose generate[4] | Whatever the template contains[6] | Manages an existing workspace. It does not generate one[13] |
| State management | Your choice: bloc, cubit, riverpod or provider, per project and per feature[14] | bloc ("layered architecture with bloc")[12] | Whatever the bricks contain[4] | Whatever the template contains[6] | Not in scope[13] |
| Dependency injection | Wired: get_it with one global container and one per feature (Dual-GetIt)[11] | No DI package in the template docs. The flavor entry points are where you set up flavor-specific dependencies[12] | Whatever the bricks contain[4] | Whatever the template contains[6] | Not in scope[13] |
| Add features later | archipelago generate <brick> adds a feature or SDK; the feature registers its DI and routes[1] | very_good create makes new projects, packages and plugins. The docs list no command that adds a feature to an existing app[2] | mason make <brick> runs any brick in any project. You connect the output yourself[4] | No. The new repository starts as a single commit, with unrelated history, so you cannot merge template changes[6] | Not in scope[13] |
| CI/CD | GitHub Actions or GitLab CI, plus Fastlane for iOS and Android[15][14] | GitHub Actions that format, lint and test, with a coverage check[12] | Only what a brick contains[4] | Only what the template contains[6] | Runs scripts across packages; you call it from your own CI[13] |
Sources (each one checked on the date shown):
- Archipelago: Brick Catalog, checked 2026-10-15
- Very Good CLI: Overview, checked 2026-10-15
- Very Good Ventures home page, checked 2026-10-15
- mason_cli on pub.dev, checked 2026-10-15
- BrickHub documentation, checked 2026-10-15
- GitHub Docs: Creating a repository from a template, checked 2026-10-15
- melos on pub.dev, checked 2026-10-15
- Archipelago: Account & Billing, checked 2026-10-15
- archipelago_cli on pub.dev, checked 2026-10-15
- very_good_cli on pub.dev, checked 2026-10-15
- Archipelago: Architecture, checked 2026-10-15
- Very Good CLI: Very Good Core template, checked 2026-10-15
- Melos documentation, checked 2026-10-15
- Archipelago: Getting Started, checked 2026-10-15
- Archipelago: GitHub Actions workflows, checked 2026-10-15
Archipelago also generates parts that the tools above do not cover, so they are not in the table:
- A monorepo toolkit in
devtools/that runs in CI without the CLI. See Monorepo Toolkit. build_prepare, which keeps debug tools out of release builds. See Build Prepare.- Analytics and monitoring SDKs with swappable vendors (Firebase, AppsFlyer, Mixpanel, MoEngage, Crashlytics, Sentry, New Relic, Grafana).
- A visual Theme Builder.
- Files for AI coding assistants:
CLAUDE.md,AGENTS.md, Cursor and Copilot. See AI Agent Support.
Very Good CLI
Very Good CLI is a free, MIT-licensed CLI from Very Good Ventures, a Flutter app development agency. It is polished, well documented and widely used.
What it is good at:
- Creating a clean Flutter app with bloc, three flavors, localization, strict lint rules (Very Good Analysis) and GitHub Actions
- Testing: the template ships with 100% line coverage, and
very_good testcan enforce a minimum coverage and run tests in nested packages - Templates for Flutter and Dart packages, plugins, Dart CLIs and Flame games, not only apps
Where Archipelago goes further:
Very Good CLI gives you a strong starting app. Archipelago generates a modular monorepo with dependency injection wired (one get_it container per feature plus a global one), features that register their own routes, build-time dependency swaps, Fastlane lanes and a devtools/ toolkit. Later, archipelago generate <brick> adds new features to the same project.
When to use Very Good CLI:
- You want one Flutter app, not a monorepo
- Your team already follows Very Good Ventures and bloc conventions
- You want free tools with no sign-in
Full comparison: Archipelago vs Very Good CLI.
Mason
Mason is the brick template tool that Archipelago is built on. It is a free, MIT-licensed, general tool for Dart and Flutter code generation. BrickHub is where Mason bricks are published and found.
What it is good at:
- Running one template (brick) for one task, in any project
- Writing and sharing your own bricks, with
pre_genandpost_genhooks - Fitting into any project structure
Where Archipelago adds value:
Mason gives you single bricks. Archipelago gives you a set of 76 bricks that are made to work together. The generated code follows the same patterns in every package: DI registration, the feature SDK shape, the test structure and the CI setup. With plain Mason, you choose the bricks and keep them consistent yourself.
Archipelago also handles versioned brick downloads by plan, so you do not manage which bricks are in scope.
When to use Mason directly:
- You already have a project structure and want to add specific templates
- You are building your own brick library for your team's conventions
- You want full flexibility and do not need a ready-made system
Melos
Melos is a tool for Dart and Flutter monorepos, published by Invertase under the Apache-2.0 licence.
What it is good at:
- Linking local packages and running commands across all packages
- Versioning and changelogs from Conventional Commits
- Publishing packages to pub.dev from a monorepo
Where Archipelago adds value:
Melos manages a monorepo you already have. It does not generate one. Archipelago generates the monorepo with the architecture in place, and Archipelago projects use Melos. On top, the devtools/ toolkit adds dependency graph checks, build preparation, flavors and env files, with affected-package detection and coverage in paid plans.
When to use Melos on its own:
- You have a Dart or Flutter monorepo and need scripts across packages
- You publish several packages to pub.dev and want automatic versioning
GitHub template repositories
A GitHub template repository is a repo you copy with the "Use this template" button.
What it is good at:
- A start in one click
- You can read all the code before you choose it
- Works for any language or framework
Where Archipelago is different:
A template is a copy. The new repository starts as a single commit, and its history is not related to the template, so you cannot merge later template fixes. Every project starts with the same names, and you rename my_app by hand across files, folders, imports and class names.
Archipelago uses Mason brick templating. When you run archipelago create, every file is generated with your project name, prefix and settings. A variable like {{appName}} becomes Dompetku everywhere: package names, class prefixes, import paths, folder names, DI registrations and barrel exports.
| Aspect | GitHub template | Archipelago (Mason) |
|---|---|---|
| Naming | Find and replace by hand | Variables ({{appName}}, {{prefix}}) applied when generating |
| Settings | One fixed setup | You choose state management, network library, analytics vendors and more |
| Composition | All or nothing | 76 bricks; add only what you need |
| Updates | Not possible with Git merge (unrelated histories) | Each brick is versioned on its own |
| CI/CD | Whatever the template has | GitHub Actions or GitLab CI, plus Fastlane |
| Feature modules | Copy and rename by hand | archipelago generate feature_monorepo_skeleton |
When to use a GitHub template:
- You want to read the code before deciding
- Your project is small enough that renaming is easy
- You do not plan to add many feature modules later
Build it yourself
Building your own architecture gives full control and no outside tools. Senior teams with strong opinions sometimes prefer this.
What it is good at:
- Full freedom to design what you want
- No dependency on outside tools or brick versions
- Your team understands every decision, because your team made it
The honest cost:
The patterns Archipelago uses (feature isolation, API/Impl split, Dual-GetIt DI, two-phase start-up, Fastlane and CI) are not new ideas. They come from large production apps. Building them yourself takes weeks, and you will likely reach similar answers while you spend time on setup instead of your product.
When building it yourself makes sense:
- Your team has unusual architecture needs
- You have senior Flutter engineers who have done this before
- You are building a framework yourself and need full control
Summary
- Very Good CLI: a free, well-tested single app with bloc
- Mason: a flexible code generation layer for any project
- GitHub templates: a quick start when you want to read the code first and do not mind renaming by hand
- Melos: scripts and versioning for a monorepo you already have
- Archipelago: a modular monorepo with the architecture wired from the start, and features you add later
Try Archipelago
Make a free account, install the CLI, and generate a project:
dart pub global activate archipelago_cli
archipelago auth login --interactive
archipelago create --output ./my_appThe Free plan includes 3 project scaffolds per month and the Free bricks. See Getting Started for each step, and pricing for Pro and Enterprise.