{
  "id": "jreleaser",
  "name": "JReleaser",
  "homepage": "https://jreleaser.org/",
  "description": "Release projects quickly and easily with JReleaser.",
  "executables": [
    "jreleaser"
  ],
  "dotfiles": {
    "paths": [],
    "exclude": [],
    "secret": [
      "~/.jreleaser/config.properties",
      "~/.jreleaser/config.yml",
      "~/.jreleaser/config.toml",
      "~/.jreleaser/config.json",
      "[configHome]/jreleaser"
    ],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "JReleaser",
    "description": "Common JReleaser jobs: init, config, release and full-release. Pick a subcommand.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "init"
        ],
        "label": "Create a config file",
        "description": "Create a jreleaser config file.",
        "source": [
          {
            "id": "ref",
            "kind": "help",
            "url": "https://jreleaser.org/guide/latest/tools/jreleaser-cli.html",
            "revision": "2026-10-27",
            "evidence": "Usage: jreleaser init [-ghioqVw] [-b=<directory>] [-f=<format>] [-od=<directory>] [-D=<key=value>]...\n  -b, --basedir=<directory>                 Base directory.\n  -f, --format=<format>                     Configuration file format.\n  -g, --debug                               Set log level to debug.\n  -o, --overwrite                           Overwrite existing files.\n      -od, --output-directory=<directory>   Output directory.\n"
          }
        ],
        "field": [
          {
            "id": "basedir",
            "label": "Base directory",
            "type": "path",
            "path": {
              "kind": "directory",
              "role": "input"
            },
            "option": [
              "--basedir",
              "-b"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "format",
            "label": "Config format",
            "type": "string",
            "option": [
              "--format",
              "-f"
            ],
            "suggestions": [
              {
                "value": "yml",
                "label": "YAML"
              },
              {
                "value": "toml",
                "label": "TOML"
              },
              {
                "value": "json",
                "label": "JSON"
              }
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "output_directory",
            "label": "Output directory",
            "type": "path",
            "path": {
              "kind": "directory",
              "role": "output"
            },
            "option": [
              "--output-directory"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "overwrite",
            "label": "Overwrite existing files",
            "type": "boolean",
            "option": [
              "--overwrite",
              "-o"
            ],
            "effect": "overwrite",
            "sources": [
              "ref"
            ]
          },
          {
            "id": "debug",
            "label": "Debug logging",
            "type": "boolean",
            "option": [
              "--debug",
              "-g"
            ],
            "sources": [
              "ref"
            ]
          }
        ],
        "task": [
          {
            "id": "init",
            "label": "Create config",
            "fields": [
              "format",
              "output_directory"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "format",
              "output_directory",
              "overwrite"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "basedir",
              "debug"
            ]
          }
        ]
      },
      {
        "path": [
          "config"
        ],
        "label": "Display configuration",
        "description": "Display the current configuration.",
        "source": [
          {
            "id": "ref",
            "kind": "help",
            "url": "https://jreleaser.org/guide/latest/tools/jreleaser-cli.html",
            "revision": "2026-10-27",
            "evidence": "Usage: jreleaser config\n  -b, --basedir=<directory>                 Base directory.\n  -c, --config-file=<file>                  The config file.\n  -f, --full                                Display full configuration.\n  -g, --debug                               Set log level to debug.\n      --strict                              Enable strict mode.\n      --yolo                                Skips non-configured operations.\n"
          }
        ],
        "field": [
          {
            "id": "basedir",
            "label": "Base directory",
            "type": "path",
            "path": {
              "kind": "directory",
              "role": "input"
            },
            "option": [
              "--basedir",
              "-b"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "config_file",
            "label": "Config file",
            "type": "path",
            "path": {
              "kind": "file",
              "role": "input"
            },
            "option": [
              "--config-file",
              "-c"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "full",
            "label": "Full configuration",
            "type": "boolean",
            "option": [
              "--full",
              "-f"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "strict",
            "label": "Strict mode",
            "type": "boolean",
            "option": [
              "--strict"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "yolo",
            "label": "Skip non-configured operations",
            "type": "boolean",
            "option": [
              "--yolo"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "debug",
            "label": "Debug logging",
            "type": "boolean",
            "option": [
              "--debug",
              "-g"
            ],
            "sources": [
              "ref"
            ]
          }
        ],
        "task": [
          {
            "id": "show",
            "label": "Show configuration",
            "fields": [
              "config_file",
              "full"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "config_file",
              "full"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "basedir",
              "strict",
              "yolo",
              "debug"
            ]
          }
        ]
      },
      {
        "path": [
          "release"
        ],
        "label": "Create or update a release",
        "description": "Create or update a release. Filters, project overrides and property settings are left out.",
        "source": [
          {
            "id": "ref",
            "kind": "help",
            "url": "https://jreleaser.org/guide/latest/tools/jreleaser-cli.html",
            "revision": "2026-10-27",
            "evidence": "Usage: jreleaser release [-ghiqVw] [--dry-run] [--strict] [--yolo]\nOptions:\n  -b, --basedir=<directory>                        Base directory.\n  -c, --config-file=<file>                         The config file.\n      --dry-run                                    Skip remote operations.\n  -g, --debug                                      Set log level to debug.\n  -i, --info                                       Set log level to info.\n  -q, --quiet                                      Log errors only.\n      --strict                                     Enable strict mode.\n      --yolo                                       Skips non-configured operations.\n"
          }
        ],
        "field": [
          {
            "id": "basedir",
            "label": "Base directory",
            "type": "path",
            "path": {
              "kind": "directory",
              "role": "input"
            },
            "option": [
              "--basedir",
              "-b"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "config_file",
            "label": "Config file",
            "type": "path",
            "path": {
              "kind": "file",
              "role": "input"
            },
            "option": [
              "--config-file",
              "-c"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "dry_run",
            "label": "Dry run (skip remote operations)",
            "type": "boolean",
            "option": [
              "--dry-run"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "strict",
            "label": "Strict mode",
            "type": "boolean",
            "option": [
              "--strict"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "yolo",
            "label": "Skip non-configured operations",
            "type": "boolean",
            "option": [
              "--yolo"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "debug",
            "label": "Debug logging",
            "type": "boolean",
            "option": [
              "--debug",
              "-g"
            ],
            "sources": [
              "ref"
            ]
          }
        ],
        "task": [
          {
            "id": "dry",
            "label": "Dry run",
            "fields": [
              "config_file",
              "dry_run"
            ],
            "required": [],
            "set": {
              "dry_run": [
                true
              ]
            }
          },
          {
            "id": "go",
            "label": "Run",
            "fields": [
              "config_file",
              "basedir"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "config_file",
              "dry_run",
              "basedir"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "strict",
              "yolo",
              "debug"
            ]
          }
        ]
      },
      {
        "path": [
          "full-release"
        ],
        "label": "Perform a full release",
        "description": "Perform a full release. Filters and property settings are left out.",
        "source": [
          {
            "id": "ref",
            "kind": "help",
            "url": "https://jreleaser.org/guide/latest/tools/jreleaser-cli.html",
            "revision": "2026-10-27",
            "evidence": "Usage: jreleaser full-release [-ghiqVw] [--dry-run] [--strict] [--yolo]\nOptions:\n  -b, --basedir=<directory>                        Base directory.\n  -c, --config-file=<file>                         The config file.\n      --dry-run                                    Skip remote operations.\n  -g, --debug                                      Set log level to debug.\n  -i, --info                                       Set log level to info.\n  -q, --quiet                                      Log errors only.\n      --strict                                     Enable strict mode.\n      --yolo                                       Skips non-configured operations.\n"
          }
        ],
        "field": [
          {
            "id": "basedir",
            "label": "Base directory",
            "type": "path",
            "path": {
              "kind": "directory",
              "role": "input"
            },
            "option": [
              "--basedir",
              "-b"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "config_file",
            "label": "Config file",
            "type": "path",
            "path": {
              "kind": "file",
              "role": "input"
            },
            "option": [
              "--config-file",
              "-c"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "dry_run",
            "label": "Dry run (skip remote operations)",
            "type": "boolean",
            "option": [
              "--dry-run"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "strict",
            "label": "Strict mode",
            "type": "boolean",
            "option": [
              "--strict"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "yolo",
            "label": "Skip non-configured operations",
            "type": "boolean",
            "option": [
              "--yolo"
            ],
            "sources": [
              "ref"
            ]
          },
          {
            "id": "debug",
            "label": "Debug logging",
            "type": "boolean",
            "option": [
              "--debug",
              "-g"
            ],
            "sources": [
              "ref"
            ]
          }
        ],
        "task": [
          {
            "id": "dry",
            "label": "Dry run",
            "fields": [
              "config_file",
              "dry_run"
            ],
            "required": [],
            "set": {
              "dry_run": [
                true
              ]
            }
          },
          {
            "id": "go",
            "label": "Run",
            "fields": [
              "config_file",
              "basedir"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "config_file",
              "dry_run",
              "basedir"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "strict",
              "yolo",
              "debug"
            ]
          }
        ]
      }
    ]
  }
}
