vgv_cli 1.10.41 copy "vgv_cli: ^1.10.41" to clipboard
vgv_cli: ^1.10.41 copied to clipboard

A powerful Flutter CLI tool for creating projects with interactive prompts, supporting Clean Architecture, BLoC, Freezed, Go Router, and internationalization.

VGV CLI #

A command-line tool for generating Flutter projects with a production-ready architecture out of the box.

VGV CLI creates projects following Clean Architecture principles, with BLoC for state management, proper dependency injection, internationalization, and environment configuration — all the boilerplate you'd normally spend hours setting up.

🎬 Demo #

VGV CLI Demo

30 seconds from zero to a production-ready Flutter project


Quick Start #

# Install
dart pub global activate vgv_cli

# Create a project (interactive mode)
vgv

# Or quick mode
vgv -q -n my_app

📖 Commands Reference #

Basic Usage #

Command Description
vgv Start interactive mode with guided prompts
vgv -h Show help and all available options
vgv -v Show current version and check for updates
vgv -u Update VGV CLI to the latest version

Create Projects #

Command Description
vgv -q -n my_app Quick mode: create project with defaults
vgv -n my_app Create project with specific name
vgv -n my_app --org com.company Create with custom organization
vgv -n my_app -o ~/projects Create in specific directory
vgv -n my_app --no-git Create without git initialization
vgv --dry-run -n my_app Preview what would be created

All Flags #

Flag Short Description
--help -h Show help message
--version -v Show version information
--update -u Update to latest version
--quick -q Quick mode with sensible defaults
--name <name> -n Project name (lowercase, underscores)
--org <org> Organization identifier (e.g., com.example)
--output <dir> -o Output directory
--no-git Skip git initialization
--dry-run Preview without creating files

Examples #

vgv

You'll be guided through:

  1. Project name
  2. Organization
  3. Platform selection (Mobile, Web, Desktop, or combinations)
  4. Linter rules preference

Quick Project Creation #

# Minimal - just the name
vgv -q -n todo_app

# With organization
vgv -q -n todo_app --org com.mycompany

# In a specific folder
vgv -q -n todo_app -o ~/flutter_projects

# Without git
vgv -q -n todo_app --no-git

Preview Mode #

# See what would be created without actually creating files
vgv --dry-run -n test_app

Output:

DRY RUN - No files will be created

Configuration:
   Project Name:  test_app
   Organization:  com.test_app
   Output:        /current/directory

Would create:
   - Flutter project with Clean Architecture
   - BLoC state management with Freezed
   - GoRouter navigation
   - Internationalization (en, es)
   - Environment configs (dev, staging, production)
   - VS Code launch configurations
   - Auth feature (login, register)
   - Home feature
   - Settings feature (theme, language)

What's Included #

Feature Details
Clean Architecture Domain, Data, and Presentation layers properly structured
BLoC Pattern State management with Freezed for immutable states
Environment Configuration Dev, Staging, and Production environments ready to use
Internationalization English and Spanish translations pre-configured
Authentication Flow Login and Registration screens with local persistence
Settings Theme and language preferences with HydratedBloc persistence
VSCode Integration Launch configurations for all environments
Dependency Injection GetIt setup with all services registered

Generated Project Structure #

your_project/
├── lib/
│   ├── application/
│   │   ├── config/           # Environment configuration
│   │   ├── l10n/             # Translation files (.arb)
│   │   ├── routes/           # GoRouter setup
│   │   └── theme/            # App theming
│   ├── core/
│   │   ├── database/         # Drift database setup
│   │   ├── errors/           # Failure classes
│   │   ├── extensions/       # String extensions
│   │   ├── network/          # HTTP client
│   │   ├── services/         # Talker logging
│   │   ├── states/           # Base widget classes
│   │   └── utils/            # Helpers and utilities
│   ├── features/
│   │   ├── auth/             # Authentication feature
│   │   ├── home/             # Home feature
│   │   └── settings/         # Settings feature
│   ├── shared/
│   │   └── widgets/          # Reusable widgets and dialogs
│   ├── main.dart             # Entry point
│   ├── main_dev.dart         # Development entry
│   ├── main_staging.dart     # Staging entry
│   └── main_production.dart  # Production entry
├── .vscode/
│   ├── launch.json           # Run configurations
│   └── settings.json         # Editor settings
├── pubspec.yaml
├── build.yaml
└── analysis_options.yaml

Running Your Generated Project #

cd your_project

# Development
flutter run -t lib/main_dev.dart

# Staging
flutter run -t lib/main_staging.dart

# Production
flutter run -t lib/main_production.dart

Or use the VSCode launch configurations (F5).


Dependencies in Generated Projects #

Category Packages
State Management flutter_bloc, hydrated_bloc, freezed
Navigation go_router
DI get_it
Network dio
Storage drift, flutter_secure_storage
Forms flutter_form_builder, form_builder_validators
Utilities dartz, equatable, path_provider

Installation #

dart pub global activate vgv_cli

From source #

git clone https://github.com/victorsdd01/vgv_cli.git
cd vgv_cli
dart pub global activate --source path .

Update #

vgv -u

Requirements #

  • Dart SDK >= 3.0.0
  • Flutter >= 3.10.0

Troubleshooting #

Command not found: vgv #

Make sure Dart's global bin is in your PATH:

# Add to ~/.zshrc or ~/.bashrc
export PATH="$PATH:$HOME/.pub-cache/bin"

Flutter doctor issues #

Run flutter doctor and resolve any issues before using VGV CLI.


Contributing #

Contributions are welcome! Please open an issue first to discuss what you'd like to change.


Support #

If this tool saves you time, consider:

  • ⭐ Starring the repo on GitHub
  • 👍 Liking the package on pub.dev

License #

MIT


Built for developers who want to ship faster without compromising on architecture.

1
likes
160
points
242
downloads

Publisher

unverified uploader

Weekly Downloads

A powerful Flutter CLI tool for creating projects with interactive prompts, supporting Clean Architecture, BLoC, Freezed, Go Router, and internationalization.

Homepage
Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

MIT (license)

Dependencies

args, http, interact, path

More

Packages that depend on vgv_cli