{
  "name": "git-cliff",
  "description": "A highly customizable changelog generator ⛰️",
  "options": [
    {
      "names": [
        "--verbose",
        "-v"
      ],
      "description": "Increases the logging verbosity",
      "priority": 1
    },
    {
      "names": [
        "--init",
        "-i"
      ],
      "description": "Writes the default configuration file to cliff.toml"
    },
    {
      "names": [
        "--latest",
        "-l"
      ],
      "description": "Processes the commits starting from the latest tag",
      "exclusiveOn": [
        "--current",
        "-u"
      ]
    },
    {
      "names": [
        "--current"
      ],
      "description": "Processes the commits that belong to the current tag",
      "exclusiveOn": [
        "-l",
        "-u"
      ]
    },
    {
      "names": [
        "--unreleased",
        "-u"
      ],
      "description": "Processes the commits that do not belong to a tag",
      "exclusiveOn": [
        "-l",
        "--current"
      ]
    },
    {
      "names": [
        "--date-order"
      ],
      "description": "Sorts the tags chronologically"
    },
    {
      "names": [
        "--context"
      ],
      "description": "Prints changelog context as JSON"
    },
    {
      "names": [
        "--help",
        "-h"
      ],
      "description": "Prints help information",
      "priority": 1
    },
    {
      "names": [
        "--version",
        "-V"
      ],
      "description": "Prints version information",
      "priority": 1
    },
    {
      "names": [
        "--config",
        "-c"
      ],
      "description": "Sets the configuration file",
      "args": [
        {
          "name": "path",
          "template": "filepaths"
        }
      ]
    },
    {
      "names": [
        "--workdir",
        "-w"
      ],
      "description": "Sets the working directory",
      "args": [
        {
          "name": "path",
          "template": "folders"
        }
      ]
    },
    {
      "names": [
        "--repository",
        "-r"
      ],
      "description": "Sets the git repository",
      "args": [
        {
          "name": "path",
          "template": "folders"
        }
      ]
    },
    {
      "names": [
        "--include-path"
      ],
      "description": "Sets the path to include related commits",
      "args": [
        {
          "name": "pattern",
          "isVariadic": true
        }
      ]
    },
    {
      "names": [
        "--exclude-path"
      ],
      "description": "Sets the path to exclude related commits",
      "args": [
        {
          "name": "pattern",
          "isVariadic": true
        }
      ]
    },
    {
      "names": [
        "--with-commit"
      ],
      "description": "Sets custom commit messages to include in the changelog",
      "args": [
        {
          "name": "msg",
          "isVariadic": true
        }
      ]
    },
    {
      "names": [
        "--prepend",
        "-p"
      ],
      "description": "Prepends entries to the given changelog file",
      "args": [
        {
          "name": "path",
          "template": "filepaths"
        }
      ]
    },
    {
      "names": [
        "--output",
        "-o"
      ],
      "description": "Writes output to the given file",
      "args": [
        {
          "name": "path",
          "template": "filepaths"
        }
      ]
    },
    {
      "names": [
        "--tag",
        "-t"
      ],
      "description": "Sets the tag for the latest version",
      "args": [
        {
          "name": "tag"
        }
      ]
    },
    {
      "names": [
        "--body",
        "-b"
      ],
      "description": "Sets the template for the changelog body",
      "args": [
        {
          "name": "template"
        }
      ]
    },
    {
      "names": [
        "--strip",
        "-s"
      ],
      "description": "Strips the given parts from the changelog",
      "args": [
        {
          "name": "part",
          "suggestions": [
            "header",
            "footer",
            "all"
          ]
        }
      ]
    },
    {
      "names": [
        "--sort"
      ],
      "description": "Sets sorting of the commits inside sections",
      "args": [
        {
          "name": "sort",
          "suggestions": [
            "oldest",
            "newest"
          ]
        }
      ]
    }
  ],
  "args": [
    {
      "name": "range",
      "description": "Sets the commit range to process",
      "generators": [
        {
          "script": [
            "git",
            "rev-list",
            "--all",
            "--oneline",
            "--abbrev-commit"
          ],
          "trigger": ".."
        }
      ]
    }
  ]
}
