{
  "description": "Run a container or build an image with Apple's container CLI. Networking, mounts beyond -v, registry and resource-limit options are mostly left out.",
  "name": "container",
  "subcommands": [
    {
      "name": "run",
      "description": "Run a container",
      "options": [
        {
          "names": [
            "--name"
          ],
          "description": "Container name",
          "args": {
            "name": "name",
            "isOptional": false
          }
        },
        {
          "names": [
            "--interactive",
            "-i"
          ],
          "description": "Keep stdin open"
        },
        {
          "names": [
            "--tty",
            "-t"
          ],
          "description": "Allocate a TTY"
        },
        {
          "names": [
            "--detach",
            "-d"
          ],
          "description": "Run in background"
        },
        {
          "names": [
            "--rm"
          ],
          "description": "Remove after it stops"
        },
        {
          "names": [
            "--env",
            "-e"
          ],
          "description": "key=value, or just key to inherit from the host.",
          "args": {
            "name": "env",
            "description": "key=value, or just key to inherit from the host.",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--publish",
            "-p"
          ],
          "description": "[host-ip:]host-port:container-port[/protocol]",
          "args": {
            "name": "publish",
            "description": "[host-ip:]host-port:container-port[/protocol]",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--volume",
            "-v"
          ],
          "description": "Bind mounts",
          "args": {
            "name": "volume",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--workdir"
          ],
          "description": "Working directory",
          "args": {
            "name": "workdir",
            "isOptional": false
          }
        },
        {
          "names": [
            "--cpus",
            "-c"
          ],
          "description": "CPUs",
          "args": {
            "name": "cpus",
            "isOptional": false
          }
        },
        {
          "names": [
            "--memory",
            "-m"
          ],
          "description": "Optional K, M, G, T or P suffix.",
          "args": {
            "name": "memory",
            "description": "Optional K, M, G, T or P suffix.",
            "isOptional": false
          }
        }
      ],
      "args": [
        {
          "name": "image",
          "isOptional": true
        },
        {
          "name": "args",
          "isOptional": true,
          "isVariadic": true
        }
      ]
    },
    {
      "name": "build",
      "description": "Build an image",
      "options": [
        {
          "names": [
            "--tag",
            "-t"
          ],
          "description": "Image tag",
          "args": {
            "name": "tag",
            "isOptional": false
          }
        },
        {
          "names": [
            "--file",
            "-f"
          ],
          "description": "Dockerfile",
          "args": {
            "name": "file",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--build-arg"
          ],
          "description": "Build args (key=val)",
          "args": {
            "name": "build_arg",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--target"
          ],
          "description": "Target stage",
          "args": {
            "name": "target",
            "isOptional": false
          }
        },
        {
          "names": [
            "--platform"
          ],
          "description": "Platform",
          "args": {
            "name": "platform",
            "isOptional": false
          }
        },
        {
          "names": [
            "--no-cache"
          ],
          "description": "No cache"
        },
        {
          "names": [
            "--pull"
          ],
          "description": "Pull latest base image"
        }
      ],
      "args": [
        {
          "name": "context",
          "isOptional": true,
          "template": "folders"
        }
      ]
    }
  ]
}
