"description":"Sets a conflicting argument by name i.e. when using this argument, the following argument can't be present and vice versa.",
"type":[
"string",
"null"
]
},
"conflictsWithAll":{
"description":"The same as conflictsWith but allows specifying multiple two-way conflicts per argument.",
"type":[
"array",
"null"
],
"items":{
"type":"string"
}
},
"description":{
"description":"The argument description which will be shown on the help information. Typically, this is a short (one line) description of the arg.",
"type":[
"string",
"null"
]
},
"index":{
"description":"The positional argument index, starting at 1.\n\nThe index refers to position according to other positional argument. It does not define position in the argument list as a whole. When utilized with multiple=true, only the last positional argument may be defined as multiple (i.e. the one with the highest index).",
"type":[
"integer",
"null"
],
"format":"uint64",
"minimum":0.0
},
"longDescription":{
"description":"The argument long description which will be shown on the help information. Typically this a more detailed (multi-line) message that describes the argument.",
"type":[
"string",
"null"
]
},
"maxValues":{
"description":"Specifies the maximum number of values are for this argument. For example, if you had a -f <file> argument where you wanted up to 3 'files', you would set .max_values(3), and this argument would be satisfied if the user provided, 1, 2, or 3 values.",
"type":[
"integer",
"null"
],
"format":"uint64",
"minimum":0.0
},
"minValues":{
"description":"Specifies the minimum number of values for this argument. For example, if you had a -f <file> argument where you wanted at least 2 'files', you would set `minValues: 2`, and this argument would be satisfied if the user provided, 2 or more values.",
"type":[
"integer",
"null"
],
"format":"uint64",
"minimum":0.0
},
"multiple":{
"description":"Specifies that the argument may appear more than once.\n\n- For flags, this results in the number of occurrences of the flag being recorded. For example -ddd or -d -d -d would count as three occurrences. - For options there is a distinct difference in multiple occurrences vs multiple values. For example, --opt val1 val2 is one occurrence, but two values. Whereas --opt val1 --opt val2 is two occurrences.",
"type":[
"boolean",
"null"
]
},
"multipleOccurrences":{
"description":"specifies that the argument may appear more than once.",
"type":[
"boolean",
"null"
]
},
"name":{
"description":"The unique argument name",
"type":"string"
},
"numberOfValues":{
"type":[
"integer",
"null"
],
"format":"uint64",
"minimum":0.0
},
"possibleValues":{
"description":"Specifies a list of possible values for this argument. At runtime, the CLI verifies that only one of the specified values was used, or fails with an error message.",
"type":[
"array",
"null"
],
"items":{
"type":"string"
}
},
"requireEquals":{
"description":"Requires that options use the --option=val syntax i.e. an equals between the option and associated value.",
"type":[
"boolean",
"null"
]
},
"required":{
"description":"Sets whether or not the argument is required by default.\n\n- Required by default means it is required, when no other conflicting rules have been evaluated - Conflicting rules take precedence over being required.",
"type":[
"boolean",
"null"
]
},
"requiredIfEq":{
"description":"Allows specifying that an argument is required conditionally with the signature [arg, value] the requirement will only become valid if the `arg`'s value equals `${value}`.",
"type":[
"array",
"null"
],
"items":{
"type":"string"
}
},
"requiredUnlessPresent":{
"description":"Sets an arg that override this arg's required setting i.e. this arg will be required unless this other argument is present.",
"type":[
"string",
"null"
]
},
"requiredUnlessPresentAll":{
"description":"Sets args that override this arg's required setting i.e. this arg will be required unless all these other arguments are present.",
"type":[
"array",
"null"
],
"items":{
"type":"string"
}
},
"requiredUnlessPresentAny":{
"description":"Sets args that override this arg's required setting i.e. this arg will be required unless at least one of these other arguments are present.",
"type":[
"array",
"null"
],
"items":{
"type":"string"
}
},
"requires":{
"description":"Tets an argument by name that is required when this one is present i.e. when using this argument, the following argument must be present.",
"type":[
"string",
"null"
]
},
"requiresAll":{
"description":"Sts multiple arguments by names that are required when this one is present i.e. when using this argument, the following arguments must be present.",
"type":[
"array",
"null"
],
"items":{
"type":"string"
}
},
"requiresIf":{
"description":"Allows a conditional requirement with the signature [arg, value] the requirement will only become valid if `arg`'s value equals `${value}`.",
"type":[
"array",
"null"
],
"items":{
"type":"string"
}
},
"short":{
"description":"The short version of the argument, without the preceding -.\n\nNOTE: Any leading - characters will be stripped, and only the first non - character will be used as the short version.",
"type":[
"string",
"null"
],
"maxLength":1,
"minLength":1
},
"takesValue":{
"description":"Specifies that the argument takes a value at run time.\n\nNOTE: values for arguments may be specified in any of the following methods - Using a space such as -o value or --option value - Using an equals and no space such as -o=value or --option=value - Use a short and no space such as -ovalue",
"type":[
"boolean",
"null"
]
}
},
"additionalProperties":false
},
"CliConfig":{
"description":"describes a CLI configuration",
"type":"object",
"properties":{
"afterHelp":{
"description":"adds additional help information to be displayed in addition to auto-generated help this information is displayed after the auto-generated help information this is often used to describe how to use the arguments, or caveats to be noted.",
"type":[
"string",
"null"
]
},
"args":{
"description":"list of args for the command",
"type":[
"array",
"null"
],
"items":{
"$ref":"#/definitions/CliArg"
}
},
"beforeHelp":{
"description":"adds additional help information to be displayed in addition to auto-generated help this information is displayed before the auto-generated help information. this is often used for header information",
"type":[
"string",
"null"
]
},
"description":{
"description":"command description which will be shown on the help information",
"type":[
"string",
"null"
]
},
"longDescription":{
"description":"command long description which will be shown on the help information",
"type":[
"string",
"null"
]
},
"subcommands":{
"description":"list of subcommands of this command.\n\nsubcommands are effectively sub-apps, because they can contain their own arguments, subcommands, usage, etc. they also function just like the app command, in that they get their own auto generated help and usage",