{
  "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
    },
    "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.",
        "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>\",\n--digest-tags  Include digest tags (\"sha256-<digest>.*\") when copying manifests\n--fast  Fast check, skip referrers and digest tag checks when image exists, overrides force-recursive\n--force-recursive  Force recursive copy of image, repairs missing nested blobs and manifests\n--include-external  Include external layers\n--platform, -p  Specify platform (e.g. linux/amd64 or local)\n--referrers  Include referrers\nregctl image copy --referrers ghcr.io/regclient/regctl:edge ocidir://regctl:edge\n"
          }
        ],
        "field": [
          {
            "id": "source",
            "label": "Source image",
            "type": "string",
            "position": 0,
            "min": 1,
            "sources": [
              "src"
            ]
          },
          {
            "id": "target",
            "label": "Target image",
            "description": "A registry reference or ocidir://path.",
            "type": "string",
            "position": 1,
            "min": 1,
            "sources": [
              "src"
            ]
          },
          {
            "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"
            ]
          },
          {
            "id": "referrers",
            "label": "Include referrers",
            "type": "boolean",
            "option": [
              "--referrers"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "digest_tags",
            "label": "Include digest tags",
            "type": "boolean",
            "option": [
              "--digest-tags"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "include_external",
            "label": "Include external layers",
            "type": "boolean",
            "option": [
              "--include-external"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "fast",
            "label": "Fast check",
            "type": "boolean",
            "option": [
              "--fast"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "force_recursive",
            "label": "Force recursive copy",
            "type": "boolean",
            "option": [
              "--force-recursive"
            ],
            "sources": [
              "src"
            ]
          }
        ],
        "task": [
          {
            "id": "copy",
            "label": "Copy an image",
            "fields": [
              "source",
              "target"
            ],
            "required": [
              "source",
              "target"
            ]
          },
          {
            "id": "copy_referrers",
            "label": "Copy with referrers",
            "fields": [
              "source",
              "target",
              "referrers"
            ],
            "required": [
              "source",
              "target"
            ],
            "set": {
              "referrers": [
                true
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "source",
              "target",
              "platform",
              "referrers"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "digest_tags",
              "include_external",
              "fast",
              "force_recursive"
            ]
          }
        ]
      },
      {
        "path": [
          "image",
          "inspect"
        ],
        "label": "Inspect an image",
        "description": "Show an image's config JSON without pulling layers.",
        "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>\",\n--format  Format output with go template syntax\n--platform, -p  Specify platform (e.g. linux/amd64 or local)\nregctl image inspect --platform local nginx\n"
          }
        ],
        "field": [
          {
            "id": "image",
            "label": "Image",
            "type": "string",
            "position": 0,
            "min": 1,
            "sources": [
              "src"
            ]
          },
          {
            "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"
            ]
          },
          {
            "id": "format",
            "label": "Go template",
            "type": "string",
            "option": [
              "--format"
            ],
            "suggestions": [
              {
                "value": "{{.Architecture}}",
                "label": "Architecture"
              }
            ],
            "sources": [
              "src"
            ]
          }
        ],
        "task": [
          {
            "id": "inspect",
            "label": "Inspect for this machine",
            "fields": [
              "image",
              "platform"
            ],
            "required": [
              "image"
            ],
            "set": {
              "platform": [
                "local"
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "image",
              "platform",
              "format"
            ]
          }
        ]
      }
    ]
  }
}
