fkit_cli 1.0.1
fkit_cli: ^1.0.1 copied to clipboard
FKIT CLI — interactive tool for bootstrapping production-ready Flutter applications.
FKIT CLI #
Scaffold production-ready Flutter apps from your terminal — architecture, state, routing, and packages in one interactive flow.
fkit · interactive home · wizard scaffolding · CI-friendly flags
███████╗ ██╗ ██╗██╗████████╗
██╔════╝ ██║ ██╔╝██║╚══██╔══╝
█████╗ █████╔╝ ██║ ██║
██╔══╝ ██╔═██╗ ██║ ██║
██║ ██║ ██╗██║ ██║
╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝
Why FKIT CLI? #
Setting up a Flutter app the “right” way still means the same busywork every time: folder structure, state management, routing, networking, storage, lints, l10n, permissions, and a pile of utility packages.
FKIT CLI turns that into a guided terminal experience — or a single non-interactive command for scripts and CI.
| You want | FKIT CLI gives you |
|---|---|
| Clean architecture choices | Feature-first, layer-first, MVVM, or lightweight MVC |
| State that fits the team | Bloc, Riverpod, Provider, GetX, or vanilla |
| Production defaults | Dio/HTTP, Hive/SharedPreferences, go_router, l10n, flavors, very_good_analysis |
| Less copy-paste | Services for image/file picking, assets, themes, extensions, DI (get_it) |
Features #
- Interactive home — run
fkitwith no args for a Claude-style hero + arrow menu - Step-by-step wizard — architecture → state → routing → networking → storage → utilities
- Directory picker — browse and confirm where the project lands
- Rich templates — screens, themes, assets, permissions, and package wiring generated for you
- Scriptable — every choice has a CLI flag for automation (
--no-interactive) - List catalog —
fkit listshows stacks and packages available to scaffold
Install #
From pub.dev (recommended) #
dart pub global activate fkit_cli
fkit
After activate, the command is still fkit.
From GitHub #
dart pub global activate --source git https://github.com/hamzaali265/fkit-cli.git
fkit
From source #
git clone https://github.com/hamzaali265/fkit-cli.git
cd fkit-cli
dart pub get
dart pub global activate --source path .
fkit
Requires Dart SDK
^3.12and a working Flutter install on your PATH for project generation.
Quick start #
# Interactive home
fkit
# Create a project (wizard)
fkit create my_awesome_app
# Fully scripted (CI / templates)
fkit create my_app \
--architecture feature-first \
--state bloc \
--routing go_router \
--networking dio \
--storage shared_preferences \
--image-picker \
--file-picker \
--get-it \
--org com.mycompany \
--no-interactive
# Browse available options
fkit list
What you can choose #
Architecture
- Feature-first — clean architecture per feature
- Layer-first — classical domain / data / presentation
- MVVM — views, viewmodels, models, services
- Simple MVC — lightweight screens + controllers
State management
flutter_bloc · flutter_riverpod · provider · get · vanilla Flutter
Routing · Networking · Storage
- Routing:
go_router,auto_route, or Navigator - Networking:
dio,http, or none - Storage:
shared_preferences,hive, or none
Utilities & extras
flutter_svg · cached_network_image · gap · flutter_screenutil · image_picker · file_picker · permission_handler · get_it · flutter_secure_storage · url_launcher · uuid
Plus optional l10n, flavors, asset folders, and strict linting.
Project layout (after generate) #
Generated apps include opinionated shared layers (exact paths depend on architecture):
lib/
shared/ # theme, extensions, constants, widgets
… # feature or layer folders from your architecture choice
assets/
images/ icons/ svgs/ fonts/
Development #
dart pub get
dart run bin/fkit.dart
dart test
dart analyze
Roadmap #
- ✅ Pub.dev publish (
fkit_cli) - ❌ Homebrew / scoop install snippets
- ❌ More architecture presets and template packs
- ❌ Plugin hooks for custom generators
Contributing #
Ideas, bugs, and PRs are welcome. See CONTRIBUTING.md for the short workflow.
- Fork the repo
- Create a branch (
git checkout -b feature/amazing) - Commit (
git commit -m 'feat: add amazing thing') - Push and open a Pull Request
License #
MIT © hamzaali265 — see LICENSE.
If FKIT CLI saves you setup time, consider giving the repo a ⭐