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 }
[[commands.subcommand]]
path = ["init"]
label = "Create a config file"
description = "Create a jreleaser config file."
[[commands.subcommand.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>]...
-b, --basedir=<directory> Base directory.
-f, --format=<format> Configuration file format.
-g, --debug Set log level to debug.
-o, --overwrite Overwrite existing files.
-od, --output-directory=<directory> Output directory.
"""
[[commands.subcommand.field]]
id = "basedir"
label = "Base directory"
type = "path"
path = { kind = "directory", role = "input" }
option = ["--basedir", "-b"]
sources = ["ref"]
[[commands.subcommand.field]]
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"]
[[commands.subcommand.field]]
id = "output_directory"
label = "Output directory"
type = "path"
path = { kind = "directory", role = "output" }
option = ["--output-directory"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "overwrite"
label = "Overwrite existing files"
type = "boolean"
option = ["--overwrite", "-o"]
effect = "overwrite"
sources = ["ref"]
[[commands.subcommand.field]]
id = "debug"
label = "Debug logging"
type = "boolean"
option = ["--debug", "-g"]
sources = ["ref"]
[[commands.subcommand.task]]
id = "init"
label = "Create config"
fields = ["format", "output_directory"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["format", "output_directory", "overwrite"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["basedir", "debug"]
[[commands.subcommand]]
path = ["config"]
label = "Display configuration"
description = "Display the current configuration."
[[commands.subcommand.source]]
id = "ref"
kind = "help"
url = "https://jreleaser.org/guide/latest/tools/jreleaser-cli.html"
revision = "2026-10-27"
evidence = """
Usage: jreleaser config
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
-f, --full Display full configuration.
-g, --debug Set log level to debug.
--strict Enable strict mode.
--yolo Skips non-configured operations.
"""
[[commands.subcommand.field]]
id = "basedir"
label = "Base directory"
type = "path"
path = { kind = "directory", role = "input" }
option = ["--basedir", "-b"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "config_file"
label = "Config file"
type = "path"
path = { kind = "file", role = "input" }
option = ["--config-file", "-c"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "full"
label = "Full configuration"
type = "boolean"
option = ["--full", "-f"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "strict"
label = "Strict mode"
type = "boolean"
option = ["--strict"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "yolo"
label = "Skip non-configured operations"
type = "boolean"
option = ["--yolo"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "debug"
label = "Debug logging"
type = "boolean"
option = ["--debug", "-g"]
sources = ["ref"]
[[commands.subcommand.task]]
id = "show"
label = "Show configuration"
fields = ["config_file", "full"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["config_file", "full"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["basedir", "strict", "yolo", "debug"]
[[commands.subcommand]]
path = ["release"]
label = "Create or update a release"
description = "Create or update a release. Filters, project overrides and property settings are left out."
[[commands.subcommand.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]
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
--dry-run Skip remote operations.
-g, --debug Set log level to debug.
-i, --info Set log level to info.
-q, --quiet Log errors only.
--strict Enable strict mode.
--yolo Skips non-configured operations.
"""
[[commands.subcommand.field]]
id = "basedir"
label = "Base directory"
type = "path"
path = { kind = "directory", role = "input" }
option = ["--basedir", "-b"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "config_file"
label = "Config file"
type = "path"
path = { kind = "file", role = "input" }
option = ["--config-file", "-c"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "dry_run"
label = "Dry run (skip remote operations)"
type = "boolean"
option = ["--dry-run"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "strict"
label = "Strict mode"
type = "boolean"
option = ["--strict"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "yolo"
label = "Skip non-configured operations"
type = "boolean"
option = ["--yolo"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "debug"
label = "Debug logging"
type = "boolean"
option = ["--debug", "-g"]
sources = ["ref"]
[[commands.subcommand.task]]
id = "dry"
label = "Dry run"
fields = ["config_file", "dry_run"]
required = []
set = { dry_run = [true] }
[[commands.subcommand.task]]
id = "go"
label = "Run"
fields = ["config_file", "basedir"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["config_file", "dry_run", "basedir"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["strict", "yolo", "debug"]
[[commands.subcommand]]
path = ["full-release"]
label = "Perform a full release"
description = "Perform a full release. Filters and property settings are left out."
[[commands.subcommand.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]
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
--dry-run Skip remote operations.
-g, --debug Set log level to debug.
-i, --info Set log level to info.
-q, --quiet Log errors only.
--strict Enable strict mode.
--yolo Skips non-configured operations.
"""
[[commands.subcommand.field]]
id = "basedir"
label = "Base directory"
type = "path"
path = { kind = "directory", role = "input" }
option = ["--basedir", "-b"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "config_file"
label = "Config file"
type = "path"
path = { kind = "file", role = "input" }
option = ["--config-file", "-c"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "dry_run"
label = "Dry run (skip remote operations)"
type = "boolean"
option = ["--dry-run"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "strict"
label = "Strict mode"
type = "boolean"
option = ["--strict"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "yolo"
label = "Skip non-configured operations"
type = "boolean"
option = ["--yolo"]
sources = ["ref"]
[[commands.subcommand.field]]
id = "debug"
label = "Debug logging"
type = "boolean"
option = ["--debug", "-g"]
sources = ["ref"]
[[commands.subcommand.task]]
id = "dry"
label = "Dry run"
fields = ["config_file", "dry_run"]
required = []
set = { dry_run = [true] }
[[commands.subcommand.task]]
id = "go"
label = "Run"
fields = ["config_file", "basedir"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["config_file", "dry_run", "basedir"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["strict", "yolo", "debug"]