jarvis 0.0.7
jarvis: ^0.0.7 copied to clipboard
Command-line interface (CLI) for generating a Flutter project
Jarvis Modularity Assistant #
Command-line interface (CLI) for generating a Flutter project
It prompts the user for input and then creates a Flutter project with the given specifications. The generated project will include a set of predefined modules, such as
- Core
- CoreUi
- Data
- Domain
- Navigation (AutoRouter support, GoRouter support)
The user can also specify additional
- Features
- Flavors
- Packages
The code uses the dcli and mason_logger packages for input/output handling and logging, respectively. It also relies on several custom classes (AppConstants, DirectoryService, FileService, Input, ScriptService, and Validator) for various tasks.
Getting Started #
Activate globally via:
dart pub global activate jarvis
Pub installs executables into $HOME/.pub-cache/bin If the one not in your path please add this command to your shell's config file (.bashrc, .bash_profile, etc.)
export PATH="$PATH":"$HOME/.pub-cache/bin"
Available Templates #
Jarvis supports 4 project templates:
- Standard (AutoRoute) - Traditional Flutter project with AutoRoute navigation
- Standard (GoRouter) - Traditional Flutter project with GoRouter navigation
- Jarvis 2.0 AutoRoute - Clean Architecture + Flutter Workspace + AutoRoute
- Jarvis 2.0 GoRouter - Clean Architecture + Flutter Workspace + GoRouter
Jarvis 2.0 Templates #
New Jarvis 2.0 templates feature:
- ✅ Clean Architecture with strict layer separation
- ✅ Flutter Workspace with 6 modular packages (core, core_ui, domain, data, features, navigation)
- ✅ BLoC/Cubit state management pattern
- ✅ Freezed models and DTOs
- ✅ GetIt dependency injection
- ✅ go_router ^17.0.1 or auto_route navigation
- ✅ Flavours support (dev, staging, prod) with .run configs
- ✅ Design tokens system for theming
Available Commands #
Create a new Flutter project with the following command:
jarvis create

Create a new module with the following command:
jarvis module

Create a new repository with the following command:
jarvis repository

Create a new use case with the following command:
jarvis usecase

Create a new entity (with mapper and model) with the following command:
jarvis entity

Plugins #
This package is currently extended with the following plugins. Instructions on how to use them in your own application are linked below.
| Plugin | README |
|---|---|
| dcli | https://pub.dev/packages/dcli |
| mason_logger | https://pub.dev/packages/mason_logger |
| args | https://pub.dev/packages/args |