Clean Dart CLI
This project is one cli for integrate Flutter and Dart with Clean Architecture
With this cli you can generate the structure of the folders based on the structure of the Clean Architecture and files like models, usecases and entites for automatize the time of the development.
How to use?
First thing that you need to do is activate the clean-dart-cli, for this run the command bellow in your terminal
$ pub global activate clean_dart_cli
Select options on terminal
$ clean-dart
Generate the layers folders
With clean-dart-cli you can generate all folders of the one specific layer
how to generate domain layer
$ clean-dart gen layer domain /example
how to generate infra layer
$ clean-dart gen layer infra /example
how to generate external layer
$ clean-dart gen layer external /example
how to generate ui layer
$ clean-dart gen layer ui /example
how to generate complete layers
$ clean-dart gen layer complete /example
Generate Files
how to generate usecases
$ clean-dart gen usecase /example/domain/usecases RegisterUser
how to generate entities
$ clean-dart gen entity /example/domain/entities User
how to generate models
$ clean-dart gen model /example/infra/models User
darthow to generate modelsJs (Model with Json Serializable)
$ clean-dart gen modelJs /user/external/models User
how to generate error
$ clean-dart gen error /user/domain/error User
Upgrade Clean Dart Cli
$ clean-dart upgrade
List Commands
$ clean-dart --help
How to contribute?
You can clone this project and send a pull request with your improvements or open issues
Libraries
- modules/app_module
- modules/common_commands/common_module
- modules/common_commands/controllers/common_commands_controller
- modules/common_commands/usecases/ask_first_question
- modules/common_commands/usecases/get_version
- modules/common_commands/usecases/help_command
- modules/common_commands/usecases/upgrade_cli
- modules/generate_layers/controllers/generate_controller
- modules/generate_layers/controllers/generate_domain_controller
- modules/generate_layers/controllers/generate_layer_controller
- modules/generate_layers/generate_module
- modules/generate_layers/usecases/generate_complete
- modules/generate_layers/usecases/generate_domain
- modules/generate_layers/usecases/generate_entity
- modules/generate_layers/usecases/generate_error
- modules/generate_layers/usecases/generate_external
- modules/generate_layers/usecases/generate_infra
- modules/generate_layers/usecases/generate_model
- modules/generate_layers/usecases/generate_model_js
- modules/generate_layers/usecases/generate_ui
- modules/generate_layers/usecases/generate_usecases
- shared/constants
- shared/errors/file_exists_error
- shared/errors/upgrade_error
- shared/interfaces/iask_first_question
- shared/interfaces/igenerate_entity
- shared/interfaces/igenerate_error
- shared/interfaces/igenerate_layers
- shared/interfaces/igenerate_model
- shared/interfaces/igenerate_model_js
- shared/interfaces/igenerate_usecases
- shared/interfaces/iget_version_cli
- shared/interfaces/ihelp_command
- shared/interfaces/iupgrade_cli
- shared/templates/entity_template
- shared/templates/error_template
- shared/templates/model_js_template
- shared/templates/model_template
- shared/templates/usecase_template
- shared/utils/output_utils
- shared/utils/validate_arguments
- shared/utils/wellcome_message