@antoinegtir/flutter-cli
v0.3.0
Published
Modern terminal UI for Flutter — hot reload across N devices, live HTTP/perf inspector, drops into your shell so 'flutter run' becomes the dashboard.
Maintainers
Readme
flutter-cli — flutter run, but with superpowers
A modern terminal UI for Flutter — hot reload across N devices, live HTTP / perf inspector, inline scrollback. Drops into your shell so flutter run becomes the dashboard. No new command to learn.

Install
# Zero install — just run it.
npx @antoinegtir/flutter-cli run
# Or global.
npm install -g @antoinegtir/flutter-cli
flutter-cli runOn install, the right prebuilt binary for your platform is fetched from GitHub Releases. Set FLUTTER_CLI_SKIP_DOWNLOAD=1 to skip it (useful in CI / Docker layers).
| Supported | | |---|---| | macOS | arm64 + x86_64 | | Linux | arm64 + x86_64 (glibc) | | Windows | arm64 + x86_64 (msvc) |
Why
flutter run was written for one device, one developer, one terminal. In 2025 you're probably:
- Testing on 2+ devices simultaneously (iOS, Android, simulator).
- Watching FPS, memory, jank ratios — not just compile errors.
- Drowning in 50,000 lines of scrollback per session.
- Re-typing the same
flutter run --device emulator-5554 --flavor prodfor the hundredth time.
Same project, same flutter binary underneath, dramatically better feedback loop.
| | vanilla flutter run | with flutter-cli |
|---|---|---|
| Multi-device hot reload | one at a time | parallel, single r |
| Per-device FPS / memory | no | yes, live sparklines |
| Inline TUI (scrollback preserved) | no | yes |
| Live HTTP inspector | DevTools-only | n keystroke, in your terminal |
| Side-by-side screenshots | per-platform tooling | s keystroke, all devices |
| Open DevTools | copy URL manually | d keystroke |
| Skip the TUI when you need | n/a | --basic flag |
Keys at a glance
r reload · R restart · b brightness · p debug paint · P perf overlay · o platform · s screenshot · n network · d DevTools · / filter · c copy · q quit
Want the shell shim?
Want flutter run (not flutter-cli run) to fire the TUI directly? Add this one line to your shell config:
# bash / zsh
eval "$(flutter-cli init bash)" # or zsh
# fish
flutter-cli init fish | sourceAfter reloading your shell, the literal command flutter run is intercepted by the TUI. flutter pub, flutter doctor, flutter clean and everything we don't enhance pass through to the real flutter binary unchanged. Your IDE keeps using vanilla flutter — the shim only fires in your terminal.
Full docs
Screenshots, every key binding, the multi-device picker, the network inspector, integration test workflows, the --basic passthrough flag, contributing guide and roadmap all live in the main repo.
➡️ github.com/Antoinegtir/flutter-cli
License
MIT.
