cli-completion 0.4.0

cli completion for bash, zsh, fish and powershell.
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "CLI JSON Schema",
  "description": "CLI JSON Schema for clap-rs YAML",
  "type": "object",
  "properties": {
    "name": {
      "description": "CLI name",
      "type": "string"
    },
    "author": {
      "type": "string",
      "description": "Sets a string of author(s) that will be displayed to the user when they request the help message"
    },
    "about": {
      "description": "Sets a string describing what the program does",
      "type": "string"
    },
    "version": {
      "description": "CLI version",
      "type": "string"
    },
    "after_help": {
      "type": "string",
      "description": "Adds additional help information to be displayed at the end of the auto-generated help"
    },
    "before_help": {
      "type": "string",
      "description": "Adds additional help information to be displayed prior to the auto-generated help"
    },
    "args": {
      "description": "arguments for CLI",
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/definitions/Arg"
        }
      }
    },
    "subcommands": {
      "description": "sub commands for CLI",
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/definitions/Command"
        }
      }
    }
  },
  "required": [
    "name",
    "version",
    "about"
  ],
  "definitions": {
    "Arg": {
      "type": "object",
      "properties": {
        "about": {
          "type": "string",
          "description": "short help text of the argument"
        },
        "allow_hyphen_values": {
          "type": "boolean",
          "description": "Allows values which start with a leading hyphen (-)"
        },
        "default_value": {
          "type": "string",
          "description": "Specifies the value of the argument when not specified at runtime"
        },
        "hidden": {
          "type": "boolean",
          "description": "Hides an argument from help message output. NOTE: This does not hide the argument from usage."
        },
        "index": {
          "type": "number",
          "description": "Specifies the index of a positional argument starting at 1."
        },
        "long": {
          "type": "string",
          "description": "Sets the long version of the argument without the preceding --"
        },
        "multiple": {
          "type": "boolean",
          "description": "Specifies that the argument may have an unknown number of multiple values. Without any other settings, this argument may appear only once."
        },
        "possible_values": {
          "type": "array",
          "description": "possible values",
          "items": {
            "type": "string"
          }
        },
        "required": {
          "type": "boolean",
          "description": "Specifies that the argument is required by default"
        },
        "short": {
          "type": "string",
          "description": "Sets the short version of the argument without the preceding -"
        },
        "takes_value": {
          "type": "boolean",
          "description": "Specifies that the argument takes a value at run time"
        },
        "use_delimiter": {
          "type": "boolean",
          "description": "Specifies that an argument should allow grouping of multiple values via a delimiter, default is comma ,"
        },
        "value_hint": {
          "type": "string",
          "description": "Sets a hint about the type of the value for shell completions",
          "enum": [
            "AnyPath",
            "FilePath",
            "DirPath",
            "ExecutablePath",
            "CommandName",
            "CommandString",
            "CommandWithArguments",
            "Username",
            "Hostname",
            "Url",
            "EmailAddress"
          ]
        },
        "value_name": {
          "type": "string",
          "description": "Specifies the name for value of option or positional arguments inside of help documentation"
        }
      },
      "required": [
        "about"
      ]
    },
    "Command": {
      "type": "object",
      "properties": {
        "about": {
          "type": "string",
          "description": "Sets a string describing what the command does"
        },
        "after_help": {
          "type": "string",
          "description": "Adds additional help information to be displayed at the end of the auto-generated help"
        },
        "aliases": {
          "type": "array",
          "description": "adds a multiple aliases for command",
          "items": {
            "type": "string"
          }
        },
        "args": {
          "description": "Adds multiple arguments to the list of valid possibilities.",
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/definitions/Arg"
            }
          }
        },
        "author": {
          "type": "string",
          "description": "Sets a string of author(s) that will be displayed to the user when they request the help message"
        },
        "version": {
          "type": "string",
          "description": "Sets a string of the version number to be displayed when displaying the short format version message"
        }
      },
      "required": [
        "about"
      ]
    }
  }
}