Skip to content

vaibhavgupta5/flutterload-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlutterLoad - AI-Powered Flutter Package Installer

FlutterLoad Banner

npm version npm downloads License: MIT Flutter Version

Streamline your Flutter development workflow with natural language package installation

Overview

FlutterLoad is an intelligent CLI tool that leverages Google's Gemini AI to understand your Flutter project requirements and automatically generate optimized package installation commands. Simply describe your Flutter project needs in natural language, and FlutterLoad will determine the appropriate packages from pub.dev and configuration steps.

Key Benefits

AI-Powered Intelligence

  • Natural language processing for Flutter project requirements
  • Intelligent package recommendations from pub.dev based on use case
  • Automated complex Flutter project setup and configuration

Security and Reliability

  • Open Source: Complete transparency with publicly available source code
  • Command Preview: All commands are displayed before execution
  • User Authorization: Explicit approval required for each operation
  • Free Gemini API: Utilizes Google's complimentary AI service
  • Local Execution: All operations performed on your local environment

Enhanced Developer Experience

  • Intelligent Flutter project and folder management
  • Real-time package installation progress tracking
  • Persistent API key storage with one-time configuration
  • Modern command-line interface with Flutter-inspired design

Quick Start

Installation

npm install -g flutterload-cli

Initial Setup

flutterload

FlutterLoad will guide you through the initial configuration and API key setup process.

How It Works

1. Project Configuration

flutterload
# Specify target folder or use current directory

2. Requirement Specification

Describe your Flutter project needs in natural language:

✔ What Flutter packages do you want to install? › I want to add authentication and HTTP networking to my app

3. AI Analysis and Command Generation

FlutterLoad processes your request and generates optimized Flutter package installation commands:

Commands to run:
1. flutter pub add firebase_auth
2. flutter pub add http
3. flutter pub add provider
4. flutter pub get

4. Confirmation and Execution

Review and approve the generated commands:

✔ Proceed with installation? › Yes

Use Cases

Input Description Generated Setup
"add http and provider packages" HTTP networking with Provider state management
"firebase authentication and firestore" Firebase auth and Firestore database integration
"create new flutter app with bloc" New Flutter project with BLoC state management
"add image picker and camera" Image selection and camera functionality
"install shared preferences and sqflite" Local storage and SQLite database packages

Features

User Interface

  • Clean, modern command-line design with Flutter-inspired colors
  • Real-time progress indicators with step tracking
  • Clear command preview and confirmation
  • Structured output with visual separators

Project Management

  • Automatic Flutter project creation and navigation
  • Current directory package installation support
  • Complex Flutter project structure handling

Progress Monitoring

  • Sequential step tracking with counters
  • Percentage-based completion indicators
  • Live Flutter command output display for transparency
  • Clear visual separation between operations

API Key Management

  • Secure input handling with masked entry
  • Global configuration storage
  • One-time setup with persistent storage
  • Automatic key validation

Security and Privacy

Security Features

  1. Complete Transparency: All Flutter commands are displayed before execution
  2. User Authorization: Explicit approval required for each package installation step
  3. Local Execution: All operations performed on your local machine
  4. Open Source: Full code visibility and community review
  5. Free AI Service: Utilizes Google's complimentary Gemini API
  6. Secure Storage: API keys stored locally with no external transmission

Security Guarantees

FlutterLoad is designed with security as a primary concern:

  • Never executes commands without explicit user permission
  • Does not transmit project files to external servers
  • Only installs verified packages from pub.dev
  • Does not modify files without user visibility and approval
  • Operates without requiring paid subscriptions or premium services

Installation Methods

Global Installation (Recommended)

npm install -g flutterload-cli
flutterload

Single Use

npx flutterload-cli

Local Installation

npm install flutterload-cli
npx flutterload

Requirements

  • Node.js: Version 18.0.0 or higher
  • Flutter: Latest stable version recommended
  • Dart: Included with Flutter
  • Gemini API Key: Available free from Google AI Studio

API Key Configuration

Obtaining Your API Key

  1. Navigate to Google AI Studio
  2. Create a free Google account if needed
  3. Generate a new API key
  4. Launch flutterload and enter your key when prompted

Environment Variable Setup

# Add to your .env file
GEMINI_API_KEY=your_api_key_here

# Or configure globally
export GEMINI_API_KEY=your_api_key_here

Advanced Usage

Custom Flutter Project Configuration

flutterload
✔ Enter folder name: my_flutter_app
✔ What Flutter packages do you want to install: create new app with state management and networking

Individual Package Installation

flutterload
✔ Enter folder name: .
✔ What Flutter packages do you want to install: http provider shared_preferences

Flutter-Specific Configuration

# Complete Flutter app with state management
"create new flutter app with bloc pattern and networking"

# Firebase integration
"firebase authentication, firestore, and cloud messaging"

# UI and navigation
"material design with go_router navigation"

Contributing

We welcome contributions from the Flutter development community. Here are ways to contribute:

  1. Bug Reports: Submit issues via GitHub Issues
  2. Feature Requests: Propose new features through GitHub Issues
  3. Pull Requests: Fork the repository, implement changes, and submit pull requests
  4. Documentation: Help improve documentation and examples

Development Environment

git clone https://github.com/vaibhavgupta5/flutterload.git
cd flutterload
npm install
npm link

Author

Vaibhav Gupta - @vaibhavgupta5


Support the Project

If FlutterLoad improves your Flutter development workflow, please consider giving it a star on GitHub.

Built for Flutter developers, by Flutter developers


Additional Examples

View more Flutter usage examples

State Management

# Provider pattern
"provider for state management with shared preferences"

# BLoC pattern
"flutter_bloc for complex state management"

# Riverpod setup
"riverpod with code generation"

Backend Integration

# REST API integration
"http package with dio for api calls"

# GraphQL integration
"graphql_flutter for graphql queries"

# Real-time features
"socket_io_client for real-time communication"

UI Development

# Material Design
"material design with custom themes"

# Cupertino (iOS style)
"cupertino widgets for ios design"

# Custom animations
"flutter animations with lottie"

Device Features

# Camera and gallery
"image_picker with camera functionality"

# Location services
"geolocator for location tracking"

# Push notifications
"firebase_messaging for push notifications"

Storage Solutions

# Local database
"sqflite for local database storage"

# Secure storage
"flutter_secure_storage for sensitive data"

# File handling
"path_provider with file operations"

Professional package management made simple.

About

AI-powered Pub.Dev Flutter installer CLI

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published