Your commands are expected to inherit from the Command class
**Example usage**
```js
const commands: Command[] = [
new Command({
name: 'ping',
options: [
{
name: 'respond', //
type: OptionType.BOOLEAN, // Boolean type expects the parser to have some kind of string -> boolean resolver, see the resolver interface for which methods are expected
required: true, // Will throw error if not provided
defaultValue: true, // The value that will be given back if no value is given, or if option is required but not provided
flag: true // The parser will look for the option in the "--respond value" form
}
]
})
]; // Command definitions
const parser = new Parser({commands, prefix: ''}); // Empty prefix
* Parsed will be an object cotaining properties args, command, subcommand, and subcommandgroup
* the args property is an object of the given options mapped by their names, e.g.
* {
* respond: {
* ... properties,
* value: true
* }
* }
*
*/
```
Some of the option types have built-in parsers (e.g. numbers, strings), but others will require the resolver implementation, and in some cases CommandOption extensions.