/very_good_cli

A Very Good Command Line Interface for Dart created by Very Good Ventures 🦄

Primary LanguageDartMIT LicenseMIT

Very Good CLI

Very Good Ventures Very Good Ventures

Developed with 💙 by Very Good Ventures 🦄

ci coverage pub package style: very good analysis License: MIT


A Very Good Command Line Interface for Dart.

Installing

dart pub global activate very_good_cli

Commands

very_good create

Create a very good project in seconds based on the provided template. The Very Good Core template is used by default.

Very Good Create

Creates a new very good project in the specified directory.

Usage: very_good create <output directory>
-h, --help                    Print this usage information.
    --project-name            The project name for this new project. This must be a valid dart package name.
    --desc                    The description for this new project.
                              (defaults to "A Very Good Project created by Very Good CLI.")
    --org-name                The organization for this new project.
                              (defaults to "com.example.verygoodcore")
-t, --template                The template used to generate this new project.

          [core] (default)    Generate a Very Good Flutter application.
          [dart_pkg]          Generate a reusable Dart package.
          [flutter_pkg]       Generate a reusable Flutter package.
          [flutter_plugin]    Generate a reusable Flutter federated plugin.
              --android       The plugin supports the Android platform.
              --ios           The plugin supports the iOS platform.
              --web           The plugin supports the Web platform.
              --linux         The plugin supports the Linux platform.
              --macos         The plugin supports the macOS platform.
              --windows       The plugin supports the Windows platform.

Usage

# Create a new Flutter app named my_app
very_good create my_app --desc "My new Flutter app"

# Create a new Flutter app named my_app with a custom org
very_good create my_app --desc "My new Flutter app" --org-name "com.custom.org"

# Create a new Flutter package named my_flutter_package
very_good create my_flutter_package -t flutter_pkg --desc "My new Flutter package"

# Create a new Dart package named my_dart_package
very_good create my_dart_package -t dart_pkg --desc "My new Dart package"

# Create a new Flutter plugin named my_flutter_plugin (all platforms enabled)
very_good create my_flutter_plugin -t flutter_plugin --desc "My new Flutter plugin"

# Create a new Flutter plugin named my_flutter_plugin (some platforms disabled)
very_good create my_flutter_plugin -t flutter_plugin --desc "My new Flutter plugin" --windows false --macos false --linux false

What's Included in Very Good Core? 📦

Out of the box, Very Good Core includes:

✅  Cross Platform Support - Built-in support for iOS, Android, and Web (Desktop coming soon!)

✅  Build Flavors - Multiple flavor support for development, staging, and production

✅  Internationalization Support - Internationalization support using synthetic code generation to streamline the development process

✅  Sound Null-Safety - No more null-dereference exceptions at runtime. Develop with a sound, static type system.

✅  Bloc - Integrated bloc architecture for scalable, testable code which offers a clear separation between business logic and presentation

✅  Testing - Unit and Widget Tests with 100% line coverage (Integration Tests coming soon!)

✅  Logging - Built-in, extensible logging to capture uncaught Flutter and Dart Exceptions

✅  Very Good Analysis - Strict Lint Rules which are used at Very Good Ventures

✅  Continuous Integration - Lint, format, test, and enforce code coverage using GitHub Actions

* Learn more at Flutter Starter App: Very Good Core & CLI


very_good packages get

Get packages in a Dart or Flutter project.

# Install packages in the current directory
very_good packages get

# Install packages in ./some/other/directory
very_good packages get ./some/other/directory

# Install packages recursively
very_good packages get --recursive

# Install packages recursively (shorthand)
very_good packages get -r

Complete Usage

Get packages in a Dart or Flutter project.

Usage: very_good packages get [arguments]
-h, --help         Print this usage information.
-r, --recursive    Install dependencies recursively for all nested packages.

Run "very_good help" to see global options.

very_good --help

See the complete list of commands and usage information.

🦄 A Very Good Command Line Interface

Usage: very_good <command> [arguments]

Global options:
-h, --help           Print this usage information.
    --version        Print the current version.
    --analytics      Toggle anonymous usage statistics.

          [false]    Disable anonymous usage statistics
          [true]     Enable anonymous usage statistics

Available commands:
  create     very_good create <output directory>
             Creates a new very good project in the specified directory.
  packages   Command for managing packages.

Run "very_good help <command>" for more information about a command.