FlutterInit CLI — Generate a Complete Flutter Project from Your Terminal
The FlutterInit CLI lets you scaffold a production-ready Flutter project without opening a browser. One command, an interactive wizard, and your project is ready to run.
The FlutterInit CLI lets you scaffold a production-ready Flutter project without opening a browser. One command, an interactive wizard, and your project is ready to run.
FlutterInit now includes a VS Code–style live code preview. Browse the generated file tree, open tabs, and watch your scaffold update as you change wizard options — before you ever download a ZIP.
FlutterInit is now live. Generate a fully-structured Flutter project with your chosen architecture, state management, and backend — all from a web UI, no CLI required.
If you prefer your terminal over a browser tab, the FlutterInit CLI was built for you.
create-flutterinit is the command-line companion to the FlutterInit web generator. It gives you the same full-stack Flutter scaffolding experience — architecture, state management, backend, navigation, and a curated set of packages — entirely from your terminal, with zero browser required.
Run a single command — npm will ask to install the package if it's not already present, then launch the wizard immediately:
First run will look like this:
Hit y, and the CLI launches. No separate install step, no global setup.
Or, if you prefer Bun (faster cold start):
That's it. The CLI launches, checks your environment, and walks you through a clean interactive wizard.
Before showing a single prompt, the CLI quietly checks your machine:
flutter is on your PATH and reads the installed version. If Flutter isn't found, you get clear installation instructions and the process exits gracefully.flutter doctor output so you can spot any toolchain issues before generation starts.If everything looks good, a ✔ confirmation step asks you to proceed.
Once past preflight, you move through a series of prompts grouped into focused sections. Each section is headed by a clean printed block so you always know where you are.
Project Identity
Architecture
Choose how your folders and layers are organized:
| Option | Best for |
|---|---|
| Clean Architecture | Large teams, long-lived apps |
| MVVM | Riverpod or Provider users |
| Feature-First | Medium-sized apps organized by feature |
| MVC | Developers familiar with web patterns |
| Layer-First | Smaller apps with a single shared layer |
State Management
Pick the state solution wired throughout your app — Riverpod, Bloc/Cubit, Provider, MobX, or GetX. Each option ships a pre-configured boilerplate that matches the chosen architecture.
Backend
Select your data layer integration:
AppConfig base clientNavigation
Theme & Appearance
Set your theme mode (light, dark, or system-default) and provide a hex seed color. This color is used to generate your entire Material 3 ColorScheme, so your generated app comes with a fully coherent palette from day one.
Optional Utilities
The final prompt is a grouped multi-select across six categories. Popular packages are pre-selected by default — deselect anything you don't want:
One smart detail: if you select Camera, Image Picker, File Picker, Geolocator, or Local Notifications, the CLI automatically enables Permission Handler — because you'll need it.
Before any files are written, the CLI prints a detailed summary of everything you chose:
One final confirmation and generation begins.
The generator runs a six-stage pipeline:
flutter create with your project name and org, generating all platform runners (iOS, Android, Web, macOS, Windows, Linux).pubspec.yaml (with all your selected packages), main.dart, analysis options, and design docs..gitkeep so they appear in version control.lib/src/ — layers, providers, repositories, use cases, or view-models depending on your choice.A spinner runs during each stage so you always know what's happening. When it finishes, the terminal prints the success outro with instructions for your next steps.
When the wizard completes, you have a directory named after your project that:
flutter run on the first trypubspec.yaml with every selected package already listed under dependenciesmain.dart bootstrapped with your theme color, Material 3 config, and routing providerNo copy-pasting from documentation. No manual pub add loops. No "where does this file go?" decisions.
If you'd rather point-and-click than type, the web generator does the same thing and gives you a ZIP download. The Dart overlays match; platform runners (android/, ios/, etc.) come from the CLI via flutter create (or flutter create . after a web download).
Need to install the following packages:
create-flutterinit@0.1.11
Ok to proceed? (y)
◆ Project name (lowercase letters, numbers, and underscores)
│ my_app
◆ Organisation name (reverse domain format — e.g. com.yourcompany)
│ com.acme
◆ Project description
│ A new Flutter project
┌─ Your FlutterInit Configuration ──────────────────┐
│ │
│ Project my_app │
│ Org com.acme │
│ Description A new Flutter project │
│ │
│ Architecture Clean Architecture │
│ State Riverpod │
│ Backend Firebase │
│ Navigation GoRouter │
│ │
│ Theme Both (system default) │
│ Color #027DFD │
│ Utilities Dio, SharedPreferences, ScreenUtil… │
│ Native None │
│ │
│ Output /Users/you/projects/my_app │
└────────────────────────────────────────────────────┘
◆ Generate this project? › Yes
npx create-flutterinit
bunx create-flutterinit