id = "regclient"
name = "regclient"
homepage = "https://regclient.org/"
description = "A container registry client toolkit."
executables = ["regctl", "regsync"]
[dotfiles]
paths = ["~/.regctl/config.json"]
exclude = []
secret = []
side_effect = false
[commands]
format = 1
label = "Work with registry images (regctl)"
description = "Copy or inspect container images with regctl image. Registry login, tag, manifest and blob commands are not covered."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.subcommand]]
path = ["image", "copy"]
label = "Copy an image"
description = "Copy an image between registries or to a local OCI directory without a Docker daemon. Platform and referrer-source options only."
[[commands.subcommand.source]]
id = "src"
kind = "help"
url = "https://github.com/regclient/regclient/blob/main/cmd/regctl/image.go"
revision = "main 2026-10-27"
evidence = '''
Use: "copy <src_image_ref> <dst_image_ref>",
--digest-tags Include digest tags ("sha256-<digest>.*") when copying manifests
--fast Fast check, skip referrers and digest tag checks when image exists, overrides force-recursive
--force-recursive Force recursive copy of image, repairs missing nested blobs and manifests
--include-external Include external layers
--platform, -p Specify platform (e.g. linux/amd64 or local)
--referrers Include referrers
regctl image copy --referrers ghcr.io/regclient/regctl:edge ocidir://regctl:edge
'''
[[commands.subcommand.field]]
id = "source"
label = "Source image"
type = "string"
position = 0
min = 1
sources = ["src"]
[[commands.subcommand.field]]
id = "target"
label = "Target image"
description = "A registry reference or ocidir://path."
type = "string"
position = 1
min = 1
sources = ["src"]
[[commands.subcommand.field]]
id = "platform"
label = "Platform"
type = "string"
option = ["--platform", "-p"]
suggestions = [{ value = "linux/amd64", label = "linux/amd64" }, { value = "linux/arm64", label = "linux/arm64" }, { value = "local", label = "local" }]
sources = ["src"]
[[commands.subcommand.field]]
id = "referrers"
label = "Include referrers"
type = "boolean"
option = ["--referrers"]
sources = ["src"]
[[commands.subcommand.field]]
id = "digest_tags"
label = "Include digest tags"
type = "boolean"
option = ["--digest-tags"]
sources = ["src"]
[[commands.subcommand.field]]
id = "include_external"
label = "Include external layers"
type = "boolean"
option = ["--include-external"]
sources = ["src"]
[[commands.subcommand.field]]
id = "fast"
label = "Fast check"
type = "boolean"
option = ["--fast"]
sources = ["src"]
[[commands.subcommand.field]]
id = "force_recursive"
label = "Force recursive copy"
type = "boolean"
option = ["--force-recursive"]
sources = ["src"]
[[commands.subcommand.task]]
id = "copy"
label = "Copy an image"
fields = ["source", "target"]
required = ["source", "target"]
[[commands.subcommand.task]]
id = "copy_referrers"
label = "Copy with referrers"
fields = ["source", "target", "referrers"]
required = ["source", "target"]
set = { referrers = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["source", "target", "platform", "referrers"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["digest_tags", "include_external", "fast", "force_recursive"]
[[commands.subcommand]]
path = ["image", "inspect"]
label = "Inspect an image"
description = "Show an image's config JSON without pulling layers."
[[commands.subcommand.source]]
id = "src"
kind = "help"
url = "https://github.com/regclient/regclient/blob/main/cmd/regctl/image.go"
revision = "main 2026-10-27"
evidence = '''
Use: "inspect <image_ref>",
--format Format output with go template syntax
--platform, -p Specify platform (e.g. linux/amd64 or local)
regctl image inspect --platform local nginx
'''
[[commands.subcommand.field]]
id = "image"
label = "Image"
type = "string"
position = 0
min = 1
sources = ["src"]
[[commands.subcommand.field]]
id = "platform"
label = "Platform"
type = "string"
option = ["--platform", "-p"]
suggestions = [{ value = "linux/amd64", label = "linux/amd64" }, { value = "linux/arm64", label = "linux/arm64" }, { value = "local", label = "local" }]
sources = ["src"]
[[commands.subcommand.field]]
id = "format"
label = "Go template"
type = "string"
option = ["--format"]
suggestions = [{ value = "{{.Architecture}}", label = "Architecture" }]
sources = ["src"]
[[commands.subcommand.task]]
id = "inspect"
label = "Inspect for this machine"
fields = ["image", "platform"]
required = ["image"]
set = { platform = ["local"] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["image", "platform", "format"]