Clean Dart CLI

screenshots/logo.png

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

screenshots/domain.png

how to generate infra layer

$ clean-dart gen layer infra /example

screenshots/infra.png

how to generate external layer

$ clean-dart gen layer external /example

screenshots/external.png

how to generate ui layer

$ clean-dart gen layer ui /example

screenshots/ui.png

how to generate complete layers

$ clean-dart gen layer complete /example

screenshots/completedartcli.png

Generate Files

how to generate usecases

$ clean-dart gen usecase /example/domain/usecases RegisterUser

screenshots/usecase.png

how to generate entities

$ clean-dart gen entity /example/domain/entities User

screenshots/entity.png

how to generate models

$ clean-dart gen model /example/infra/models User

screenshots/model.png

darthow to generate modelsJs (Model with Json Serializable)

$ clean-dart gen modelJs /user/external/models User

screenshots/model_js.png

how to generate error

$ clean-dart gen error /user/domain/error User

screenshots/error.png

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/usecases/ask_first_question
modules/common_commands/controllers/common_commands_controller
modules/common_commands/common_module
shared/constants
shared/templates/entity_template
shared/templates/error_template
shared/errors/file_exists_error
modules/generate_layers/usecases/generate_complete
modules/generate_layers/controllers/generate_controller
modules/generate_layers/usecases/generate_domain
modules/generate_layers/controllers/generate_domain_controller
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/controllers/generate_layer_controller
modules/generate_layers/usecases/generate_model
modules/generate_layers/usecases/generate_model_js
modules/generate_layers/generate_module
modules/generate_layers/usecases/generate_ui
modules/generate_layers/usecases/generate_usecases
modules/common_commands/usecases/get_version
modules/common_commands/usecases/help_command
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/model_js_template
shared/templates/model_template
shared/utils/output_utils
modules/common_commands/usecases/upgrade_cli
shared/errors/upgrade_error
shared/templates/usecase_template
shared/utils/validate_arguments
shared/utils/wellcome_message