Commands should specify their parameters (expected types), operators, expected user roles, etc. and set up a data structure to be queryable by other systems later, i.e. generating help text that outputs the expected arguments and necessary user role.
This metadata should keep all data necessary to successfully invoke all the command's options, including handling dispatching based upon arguments provided.
Command metadata should be made discoverable.
Commands should specify their parameters (expected types), operators, expected user roles, etc. and set up a data structure to be queryable by other systems later, i.e. generating help text that outputs the expected arguments and necessary user role.
This metadata should keep all data necessary to successfully invoke all the command's options, including handling dispatching based upon arguments provided.