Automate your Flutter app setup like a pro
Project description
FlutterCraft 🛠️🚀
Automate your Flutter app setup like a pro.
From folder structure to backend integration, from icons to GitHub repo setup — FlutterCraft does it all, in one CLI command.
✨ Features
- 🎨 Beautiful CLI Interface - Modern, Gemini-inspired design with ASCII art
- 📦 Flutter Version Management - Upgrade Flutter with real-time progress tracking
- 🔄 FVM Integration - Install, manage, and switch between Flutter SDK versions
- ⚡ Animated Loading Indicators - Visual feedback during command execution
- 📊 Smart Version Tracking - See available updates at a glance
- 🛠️ Comprehensive Help System - Built-in help for all commands
- ⌨️ Auto-completion - Tab completion with live command suggestions
- 🎯 Error Handling - Clear, actionable error messages with debugging info
🤖 CLI Status
The interactive CLI features a beautiful, modern interface! 🎨
✨ Beautiful Gemini-Style Interface
- 🎨 ANSI Shadow ASCII Art: Modern, bold FlutterCraft branding
- 📦 Bordered Input Box: Professional Frame-based input with automatic borders
- 📋 Permanent Completion Menu: Dedicated area below input that updates live as you type
- ⌨️ Interactive Navigation:
- ↑/↓ arrows to navigate completions with visual highlighting
- Tab to fill input without submitting
- Enter to select from menu or submit command
- ⚡ Slash Commands: Modern command syntax (
/quit,/clear,/help) - 🔄 Dynamic Updates: Header automatically updates when Flutter version changes
- 📍 Smart Footer: Shows current path and git branch/status
- 🎯 Live Completions: Menu updates instantly as you type, showing command descriptions
✅ Current Features (v0.1.2)
NOTE: The current CLI is only supported on windows. Support for macOS and Linux will be added in the future.
🚀 Flutter Commands
flutter upgrade- Upgrade Flutter to the latest version- Support for
--force,--verify-only,--continue,--verbose - Real-time output with animated loading spinner
- Automatic version tracking after upgrade
- Built-in help with
flutter upgrade --help
- Support for
🔄 FVM Management
fvm install- Install Flutter Version Managerfvm uninstall- Remove Flutter Version Managerfvm releases [channel]- List available Flutter SDK versions- Channels:
stable,beta,dev, orall
- Channels:
fvm list- Show all installed Flutter SDK versions
⚡ Slash Commands
/quit- Exit FlutterCraft CLI/clear- Clear screen while preserving header/help- Show comprehensive command help/about- Display CLI information and version
🎨 UI Features
- Animated Loading Indicators - Braille spinner during command execution
- Smart Version Display - Shows update availability:
3.32.6 (→ 3.35.6 available)or3.35.6 ✓ - Error Panels - Persistent error display with red borders and exit codes
- Command History - Navigate with arrow keys, auto-suggest from history
- Auto-completion - Tab completion with live command suggestions
🚀 Upcoming Features
- Cross-Platform Support: The current CLI is only supported on windows.
- Beautiful Themes: The user will be able to select from different themes.
- More Flutter Commands:
flutter doctor,flutter --version, and more - Project Creation:
createcommand to generate new Flutter projects with a wizard - Enhanced FVM Control:
fvm remove <version>: Uninstall a specific Flutter SDK versionfvm setup <version>: Install and setup a Flutter versionfvm use <version>: Switch between installed Flutter versions
- Backend Integration: Connect to Firebase or Supabase projects
- GitHub Automation: Create and push to a new repository on GitHub
- App Icon Generation: Automatically generate app icons for all platforms
📥 Installation
From PyPI (Recommended)
pip install fluttercraft
From TestPyPI
pip install -i https://test.pypi.org/simple/ fluttercraft
Start FlutterCraft
After installation, run:
fluttercraft start
⚡ Development Setup
If you want to contribute or modify the code:
git clone https://github.com/UTTAM-VAGHASIA/fluttercraft.git
cd fluttercraft
python -m venv venv
.\venv\Scripts\Activate.ps1 # On Windows
# source venv/bin/activate # On macOS/Linux
pip install -e .
fluttercraft start
🤝 Contributing
Please read CONTRIBUTING.md for how to contribute and local setup.
📜 License
🛡 Security
If you discover a security vulnerability, please check SECURITY.md for how to report it.
🌍 Join the Dev Tribe
Star this repo to support the project, and feel free to fork it, improve it, or just vibe with it. ❤️
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fluttercraft-0.1.2.tar.gz.
File metadata
- Download URL: fluttercraft-0.1.2.tar.gz
- Upload date:
- Size: 46.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
979949033453d01d5a2667a05a3b102ffc4436c240da7cb72af046839ab2e24c
|
|
| MD5 |
f7613e496a50cbfe630e35e45881ec2c
|
|
| BLAKE2b-256 |
fcdcf45b38636c2629a2d6afdff4566e39288c1902f651355c6ef35e0177b294
|
Provenance
The following attestation bundles were made for fluttercraft-0.1.2.tar.gz:
Publisher:
publish-to-pypi.yml on UTTAM-VAGHASIA/fluttercraft
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fluttercraft-0.1.2.tar.gz -
Subject digest:
979949033453d01d5a2667a05a3b102ffc4436c240da7cb72af046839ab2e24c - Sigstore transparency entry: 612106388
- Sigstore integration time:
-
Permalink:
UTTAM-VAGHASIA/fluttercraft@2ba15709080d05d249708c009240f6234f6a4052 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/UTTAM-VAGHASIA
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@2ba15709080d05d249708c009240f6234f6a4052 -
Trigger Event:
push
-
Statement type:
File details
Details for the file fluttercraft-0.1.2-py3-none-any.whl.
File metadata
- Download URL: fluttercraft-0.1.2-py3-none-any.whl
- Upload date:
- Size: 56.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57a25450b1aed2d923ee3168e40d3c75ab8263cc24ce6e93b2ab6470349a7d53
|
|
| MD5 |
2fc279a80ec7b57fc9425063e8e96689
|
|
| BLAKE2b-256 |
f57d41b470bcd1d5e60a8b6af7ec01754077ae462a6ca4d7250370c32fb2b799
|
Provenance
The following attestation bundles were made for fluttercraft-0.1.2-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on UTTAM-VAGHASIA/fluttercraft
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fluttercraft-0.1.2-py3-none-any.whl -
Subject digest:
57a25450b1aed2d923ee3168e40d3c75ab8263cc24ce6e93b2ab6470349a7d53 - Sigstore transparency entry: 612106392
- Sigstore integration time:
-
Permalink:
UTTAM-VAGHASIA/fluttercraft@2ba15709080d05d249708c009240f6234f6a4052 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/UTTAM-VAGHASIA
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@2ba15709080d05d249708c009240f6234f6a4052 -
Trigger Event:
push
-
Statement type: