id = "eget"
name = "eget"
homepage = "https://github.com/zyedidia/eget"
description = "A tool for downloading pre-built binaries from GitHub releases"
executables = ["eget"]
[dotfiles]
paths = [
"~/.eget.toml",
"[configHome]/eget/eget.toml",
]
secret = []
[[dotfiles.secret_paths]]
file = [
"~/.eget.toml",
"[configHome]/eget/eget.toml",
]
format = "toml"
match = { key_path = ["global.github_token"] }
[commands]
format = 1
label = "Download a release binary"
description = "Download and extract a prebuilt binary from a GitHub release (or a direct URL, local file, or repository). Config-file driven options such as download-all are not covered."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "help"
kind = "help"
url = "https://github.com/zyedidia/eget#usage"
revision = "2026-10-27"
evidence = """
Usage:
eget [OPTIONS] TARGET
Application Options:
-t, --tag= tagged release to use instead of latest
--pre-release include pre-releases when fetching the latest version
--source download the source code for the target repo instead of a release
--to= move to given location after extracting
-s, --system= target system to download for (use "all" for all choices)
-f, --file= glob to select files for extraction
--all extract all candidate files
-q, --quiet only print essential output
-d, --download-only stop after downloading the asset (no extraction)
--upgrade-only only download if release is more recent than current version
-a, --asset= download a specific asset containing the given string; can be specified multiple times for additional filtering; use ^ for anti-match
--sha256 show the SHA-256 hash of the downloaded asset
--verify-sha256= verify the downloaded asset checksum against the one provided
-r, --remove remove the given file from $EGET_BIN or the current directory
"""
[[commands.field]]
id = "target"
label = "Target"
description = "A GitHub repository (user/repo), a direct URL, or a local file."
type = "string"
position = 0
min = 1
sources = ["help"]
[[commands.field]]
id = "tag"
label = "Release tag"
description = "Use a tagged release instead of the latest."
type = "string"
option = ["--tag", "-t"]
sources = ["help"]
[[commands.field]]
id = "pre_release"
label = "Include pre-releases"
type = "boolean"
option = ["--pre-release"]
sources = ["help"]
[[commands.field]]
id = "source"
label = "Download source code"
type = "boolean"
option = ["--source"]
sources = ["help"]
[[commands.field]]
id = "to"
label = "Move to location"
type = "path"
option = ["--to"]
path = { kind = "any", role = "output", must_exist = false }
effect = "overwrite"
sources = ["help"]
[[commands.field]]
id = "system"
label = "Target system"
description = "For example darwin/arm64, or all for every choice."
type = "string"
option = ["--system", "-s"]
suggestions = [{ value = "all", label = "All" }, { value = "darwin/arm64", label = "macOS (arm64)" }, { value = "darwin/amd64", label = "macOS (amd64)" }, { value = "linux/amd64", label = "Linux (amd64)" }, { value = "linux/arm64", label = "Linux (arm64)" }]
sources = ["help"]
[[commands.field]]
id = "file"
label = "File glob"
description = "Glob selecting which files to extract."
type = "string"
option = ["--file", "-f"]
sources = ["help"]
[[commands.field]]
id = "all"
label = "Extract all candidates"
type = "boolean"
option = ["--all"]
sources = ["help"]
[[commands.field]]
id = "asset"
label = "Asset filter"
description = "Download an asset containing this string. Prefix with ^ to anti-match."
type = "string"
option = ["--asset", "-a"]
multiple = true
sources = ["help"]
[[commands.field]]
id = "download_only"
label = "Download only"
description = "Stop after downloading the asset, without extracting."
type = "boolean"
option = ["--download-only", "-d"]
sources = ["help"]
[[commands.field]]
id = "upgrade_only"
label = "Only if newer"
type = "boolean"
option = ["--upgrade-only"]
sources = ["help"]
[[commands.field]]
id = "sha256"
label = "Show SHA-256"
type = "boolean"
option = ["--sha256"]
sources = ["help"]
[[commands.field]]
id = "verify_sha256"
label = "Verify SHA-256"
type = "string"
option = ["--verify-sha256"]
sources = ["help"]
[[commands.field]]
id = "quiet"
label = "Quiet"
type = "boolean"
option = ["--quiet", "-q"]
sources = ["help"]
[[commands.task]]
id = "latest"
label = "Install latest release"
fields = ["target", "to"]
required = ["target"]
[[commands.task]]
id = "tagged"
label = "Install a tagged release"
fields = ["target", "tag", "to"]
required = ["target", "tag"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["target", "tag", "to", "system", "asset", "file"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["pre_release", "source", "all", "download_only", "upgrade_only", "sha256", "verify_sha256", "quiet"]