Introduction
A command-line tool that simplifies auto-code generation. Fully flexible, allowing you to generate a feature and widget for your Flutter applications.
Features
- Feature code generation (Basic structure with classes)
- Widget code generation
Flutter Compatibility
Package version | Dart version | Flutter version | Boilerplate version |
---|---|---|---|
0.0.1 | 3.2.6 | 3.16.0 - 3.19.3 | 1.0.0 |
Getting Started
To integrate the package into your Flutter project, follow these steps:
Add Dependency
Add the following dependency to your pubspec.yaml file:
dependencies:
jt_flutter_cli: ^0.0.1
Then run:
flutter pub get
Usage
create new feature:
jt_flutter_cli create feature name_of_feature
In the above configuration, the package is creating a new feature that is available in the lib/feature/name_of_feature path. It will generate the name_of_feature folder, which has the dart files and the domain, presentation, and data folders as shown below.
.
├── ...
├── name_of_feature
│ ├── data
│ │ ├── data_source
│ │ │ └── name_of_feature_data_source.dart
│ │ │ └── name_of_feature_data_source_impl.dart
│ │ ├── repository
│ │ │ └── name_of_feature_repo_impl.dart
│ │ │ └── mock_name_of_feature_repo_impl.dart
│ ├── domain
│ │ ├── repositories
│ │ │ └── name_of_feature_repo.dart
│ ├── presentation
│ │ ├── bloc
│ │ │ └── name_of_feature_bloc.dart
│ │ │ └── name_of_feature_data_event.dart
│ │ │ └── name_of_feature_data_state.dart
│ │ ├── screen
│ │ │ └── name_of_feature_screen.dart
│ │ └── name_of_feature_page.dart
└── ...
create new widget:
jt_flutter_cli create widget name_of_widget
It will prompt the user with the following question: "Do you want to create a common widget or a feature widget? (common/feature)". If the user selects "common", the widget will be created inside the folder lib/core/ui/widgets. Alternatively, if the user selects "feature", it will prompt the user to enter the feature name, and the widget will be created inside the respective feature's folder at lib/feature/name_of_feature/presentation/screen/widgets.
Libraries
- create_feature/basic_structure/presentation/bloc/basic_structure_bloc
- create_feature/basic_structure/data/data_source/basic_structure_data_source
- create_feature/basic_structure/data/data_source/basic_structure_data_source_impl
- create_feature/basic_structure/presentation/bloc/basic_structure_event
- create_feature/basic_structure/basic_structure_page
- create_feature/basic_structure/domain/repositories/basic_structure_repo
- create_feature/basic_structure/data/repository/basic_structure_repo_impl
- create_feature/basic_structure/presentation/screen/basic_structure_screen
- create_feature/basic_structure/presentation/bloc/basic_structure_state
- create_widget/basic_widget/basic_widget
- create_feature/create_feature_cli
- create_widget/create_widget_cli
- jt_flutter_cli
- create_feature/basic_structure/data/repository/mock_basic_structure_repo_impl
- util/utilities