very_good_cli
very_good_cli copied to clipboard
feat(create)!: use subcommands for different template types
Proposal
By splitting the create command to use subcommands we can improve the usage and options to be subcommand-specific.
Since there are some common options for all create commands (<project name> --output-directory) and lots of options that are template-specific (platforms for the plugin, executable name for the CLI, etc.) this approach will allow us to organize the command in a way that better aligns with the intended usage/structure.
Proposed Usage
# Top Level Create Usage
very_good create <subcommand> <project-name> <options>
options:
--verbose (-v)
--help (-h)
--output-directory (-o)
# Very Good Core Usage
very_good create flutter_app <project-name> <options>
options:
--template="core"
--org-name
--description
# Very Good Dart Package Usage
very_good create dart_pkg <project-name> <options>
options:
--description
# Very Good Dart CLI Usage
very_good create dart_cli <project-name> <options>
options:
--executable-name
--description
# Very Good Flutter Package Usage
very_good create flutter_pkg <project-name> <options>
options:
--description
# Very Good Flutter Plugin Usage
very_good create flutter_plugin <project-name> <options>
options:
--org-name
--description
--platforms