Monaco CLI conventions
Arguments for required arguments, Flags for non-required arguments
If an argument is required to make the command work, use it without flags. This also means, that the order of arguments is important.
If an argument is optional, make it a flag. With that, the order is also not important.
monaco deploy flagValue1 -a dashboards manifest.yaml
In the above sample, manifest.yaml is always required, so it is not using a flag.
On the opposite, what APIs to use is, so it is using a flag.
Consistency
Here a list of all flags, so that they can be used consistently. Note that they are not consistent yet.
Note: The legacy deploy command is not included.
Flag name |
Short |
Multi |
Default |
Global |
Components |
Description |
--verbose |
-v |
✗ |
false |
✓ |
|
Enable debug logging |
--help |
-h |
✗ |
N/A |
✓ |
|
Print help |
--continue-on-error |
-c |
✗ |
false |
✗ |
deploy |
Proceed even if an error occurs |
--dry-run |
-d |
✗ |
false |
✗ |
deploy |
Use validation mode |
--environments |
-e |
✓ |
[ ] |
✗ |
deploy delete |
What environments to deploy |
--project |
-p |
✓ ✗ |
[ ]
project |
✗ |
deploy download |
What projects to deploy In what project-folder to save the downloaded files |
--manifest |
-m |
✗ |
manifest.yaml |
✗ |
convert |
What manifest file to use |
--specific-api |
-a |
✓ |
[ ] |
✗ |
download |
The list of apis to download, if not specified all are used |
--output-folder |
-o |
✗ |
{project-folder}-v2
download-{timestamp} |
✗ |
convert download |
The directory to put the converted/downloaded files |
Inconsistencies to get rid of:
--project
has different meanings
Improvements visible based on the above table
--continue-on-error
should also be available on delete and download.