flutter_fast_cli 1.0.3 copy "flutter_fast_cli: ^1.0.3" to clipboard
flutter_fast_cli: ^1.0.3 copied to clipboard

Build Flutter Apps Faster

Flutter Fast Apps

MIT License pub version

DocumentationCode on the RocksSupportPub.dev

---

Table of Contents #

What is Flutter Fast? #

The Flutter Fast CLI is a tool for generating a starter Flutter application with everything you need to start shipping.

dart pub global activate flutter_fast_cli
fast app -n my_app -o com.example

To get started, visit the official docs!

Why Flutter Fast? #

I created Flutter Fast to solve two of my own problems.

Faster Setup #

Nothing puts a damper on my motivation to start a new project like the thought of spending 6 hours setting up a starter project. I wanted to dive straight into the fun part of coding and ship faster 🚢

The Flutter Fast CLI takes care of nearly all the tedious setup involved in creating a user-based application. The longest part of getting started is setting up the peripheral tools (ex. Firebase, Supabase, Amplitude, etc).

Less Lock-in #

I love experimenting. I love writing about different tech stacks and understanding how competing tools work. With that in mind, the second goal of the Flutter Fast CLI was to create a tool that wouldn't depend on a single platform. While the CLI is still a work in progress, a few examples of this flexibility are ready for use:

  • Choose to use either Firebase or Supabase as your PaaS
  • Opt into including Subscriptions

You can view the roadmap to see additional platforms we plan to support.

How Fast? #

Below is an incomplete list of all the things the Flutter Fast CLI does for you:

  • Sets up Sign In, Register, Forgot Password, and Profile screens
  • Adds a generic Feedback feature that works out-of-the-box with Firestore or Supabase
  • Adds a settings screen with dark mode toggle
  • Adds a simple onboarding page view new users will see on account creation
  • Creates an auto_route router and adds it to your MaterialApp
  • Introduces authentication based navigation and route guards
  • Creates an instance of get_it
  • Auto registers services in get_it using injectable
  • Adds an analysis_options.yaml file
  • Creates a complete pubspec.yaml file with necessary dependencies based on config value
  • Adds the flutter_launcher_icon package and code snippet to quickly swap out logo (includes logic to remove alpha channel on iOS)
  • Sets up Sentry for crash reporting
  • Adds a basic debugging NavigationObserver to router
  • Creates useful TextStyle and BuildContext extensions
  • Creates constants.dart file with reusable padding and gap values
  • Adds basic bash scripts with preconfigured run configurations for Fastlane and common Flutter tasks
  • Includes Android and iOS Fastlane files with Flutter-safe methods for incrementing build numbers (doesn't wipe out $(FLUTTER_BUILD_NUMBER))
  • Adds multiDexEnabled = true to app/build.gradle
  • Adds billing dependency to app/build.gradle for subscription apps
  • Performs release signing setup and creates empty key.properties file
  • Includes package_info_plus file and adds version string to home drawer
  • Includes support for flex_color_scheme and google_fonts 🎨
  • Pre-built RSS feed module
  • Pre-build AI Chat module (for Firebase builds)
  • Sets up config.json file to be used with --dart-define-from-file run argument
  • Includes support for setting app and organization name at generation time
  • Adds json_serializable and json_annotation dependencies
  • Creates a README.md file with helpful deploy tips (stuff I always forget)
  • Creates abstract service classes for easy extensibility

Who is this for? #

The Flutter Fast CLI is for anyone who wants to ship a Flutter app fast.

It's also a good tool for experimenting with different stacks and learning how to integrate different tools into your Flutter app.