rx_bloc_cli 5.4.1
rx_bloc_cli: ^5.4.1 copied to clipboard
rx_bloc_cli that enables quick project setup including: flavors, localization [intl], state management [rx_bloc], routing [go_router], design system, analytics [firebase], tests
Rx Bloc CLI #
The Rx Bloc Command Line Interface enables you to quickly create fully functional, feature-rich projects. It comes with pre-built features and capabilities, including sign-up, sign-in, biometric/PIN code authentication, reusable components, localization, multi-factor authentication, notifications, QR scanner, app flavors, and more—so you can jump right into developing your project without delay.
Installing #
dart pub global activate rx_bloc_cli
Included features #
![]() |
Sign UpThe onboarding process begins with users creating an account by providing their email and password. After registration, a confirmation email is sent with a deep link to verify their email address. Users are then prompted to confirm their phone number by entering a One-Time Password (OTP) sent via SMS. This two-step verification ensures secure authentication of both the email and phone number. Key functionalities:
|
![]() |
Sign InEasily sign in using your email and password, or choose a social login for quicker access. You can log in with your Apple ID, Facebook, or Google account. If you’ve forgotten your password, simply follow the reset link. Choose the method that’s most convenient for you and get started immediately. Key functionalities:
|
![]() |
BiometricsBiometric authentication provides users with secure and effortless access. This feature supports fingerprint and facial recognition for enhanced security. Key functionalities:
|
![]() |
Create PIN CodePIN codes help protect sensitive actions and provide lock/unlock capabilities for the app. The feature ensures encrypted storage of PIN codes and seamless biometric authentication for added user security. Key functionalities:
|
![]() |
Reusable Components (Widget Toolkit)The Widget Toolkit package provides a set of customizable UI components designed to enhance productivity and reduce development time. These components offer flexible and efficient solutions for common UI needs. Key functionalities:
|
![]() |
LocalizationLocalization is crucial for building versatile, globally accessible apps with personalized user experiences. Key functionalities:
|
![]() |
MFA (Multi-Factor Authentication)Multi-Factor Authentication (MFA) enables business representatives to configure required authentication methods, such as PIN/Biometric, OTP, etc., for specific actions like unlocking or changing the password. Key functionalities:
|
![]() |
NotificationsFirebase Cloud Messaging (FCM) integration allows for robust notification management, enhancing user engagement with timely updates and alerts. Key functionalities:
|
![]() |
QR ScannerPre-built functionality offers an easy-to-integrate QR scanner widget, enhancing the app’s capabilities with efficient QR code scanning. Key functionalities:
|
Commands #
$ rx_bloc_cli create
#
Non-Interactive usage
$ rx_bloc_cli create <output_dir> <parameters> --no-interactive
Interactive usage
$ rx_bloc_cli create <output_dir> --interactive
Create a new project at the given directory with lots of already set-up features out of the box. Customize your project with the following properties:
parameter | defaults to | description |
---|---|---|
--project-name |
Name of directory where the project resides | The project name for this new Flutter project. This must be a valid dart package name. |
--organisation |
com.example |
The organisation name |
--[no-]enable-analytics |
false |
Enables Firebase Analytics and Crashlytics for the project |
--[no-]enable-feature-counter |
false |
Enables Counter feature for the project |
--[no-]enable-feature-deeplinks |
false |
Enables Deep Links showcase flow for the project |
--[no-]enable-feature-widget-toolkit |
false |
Enables widget_toolkit package showcase feature for the project |
--[no-]enable-feature-onboarding |
true |
Integrate Onboarding/Registration functionality into our application |
--[no-]enable-login |
true |
Integrate login with email and password functionality into our application |
--[no-]enable-social-logins |
false |
Integrate social login with Apple, Google and Facebook functionality into our application |
--[no-]enable-change-language |
true |
Enables changing of the language for the project |
--[no-]enable-remote-translations |
true |
Enables remote translation lookup for localizations for the project |
--[no-]enable-patrol |
false |
Enables patrol package for integration tests for the project |
--[no-]realtime-communication |
none |
Enables realtime communication facilities for SSE. Values: none, sse. |
--[no-]enable-dev-menu |
true |
Enables dev menu to easily access proxy debugging services. |
--[no-]enable-otp |
false |
Enables OTP feature that can help with building sms/pin code workflows. |
--[no-]enable-mfa |
false |
Enables Multi-Factor Authentication capability for the project. |
--[no-]enable-profile |
true |
Enables Profile feature for the project |
--[no-]interactive |
false |
Enables interactive project generation flow flags are read from command line prompts |
--[no-]enable-pin-code |
false |
Enables pin code feature with biometrics, that can help with building pin code workflows. |
--cicd |
fastlane |
Provides a template for setting up ci/cd for your project. Available options: none, fastlane, github, codemagic |
--[no-]enable-feature-qr-scanner |
false |
Enables QR scanner feature for the project |
$ rx_bloc_cli create_distribution
#
Usage:
rx_bloc_cli create_distribution <output_dir>
Creates a new distribution project for all your deployment and testing credentials, provisioning profiles, certificates, etc.
$ rx_bloc_cli --help
#
See the complete list of commands and usage information.
Rx Bloc Command Line Interface
Usage: rx_bloc_cli <command> [arguments]
Global options:
-h, --help Print this usage information.
-v, --version Print the current version.
Available commands:
create Creates a new project in the specified directory.
create_distribution Creates a new distribution project in the specified directory.
Run "rx_bloc_cli help <command>" for more information about a command.
Capabilities? 📦 #
Out of the box, a Rx Bloc CLI created projects includes:
✅ Cross Platform Support - Built-in support for Android, iOS and Web
✅ Build Flavors - Support for multiple flavors (development, staging and production)
✅ Internationalization Support - Support multiple languages in your app just by adding translations and let the generator do the job for you
✅ Sound Null-Safety - With sound null safety support, protect your app from null-dereference exceptions at runtime
✅ rx_bloc - Integrated RxBlocs that help separate business logic from the presentation of the data in a clean, scalable and testable manner
✅ Design system - A single place where you can define all your colors, typography, assets and more. Your app's Light and Dark mode are already configured
✅ Testing - With Unit and Golden Tests you know your app is working as intended.
✅ Static analysis - Strict Lint rules which are used to write quality code
✅ Analytics - (Optional) Firebase analytics that keep track of how your app is used
✅ Push notifications - Receive push notifications and messages to your device using Firebase Cloud Messaging
✅ Http client - Make API calls, download files, send form data and more using a built-in Http client
Extendability #
Rx Bloc Command Line Interface supports extendability with the help of mason templates