{
  "id": "incus",
  "name": "Incus",
  "homepage": "https://linuxcontainers.org/incus",
  "executables": [
    "incus"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/incus/config.yml"
    ],
    "exclude": [
      "[configHome]/incus/clientcerts/",
      "[configHome]/incus/servercerts/"
    ],
    "secret": [
      "[configHome]/incus/client.crt",
      "[configHome]/incus/client.key"
    ]
  },
  "commands": {
    "format": 1,
    "label": "Incus",
    "description": "Launch a new instance from an image. Other incus commands, profiles, devices and cloud-init config are outside this form.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "launch"
        ],
        "label": "Launch an instance",
        "source": [
          {
            "id": "docs",
            "kind": "manual",
            "url": "https://linuxcontainers.org/incus/docs/main/howto/instances_create/",
            "revision": "2026-10-27",
            "evidence": "incus launch|init <image_server>:<image_name> <instance_name> [flags]\nincus launch images:debian/12 debian-container\nincus launch oci-docker:hello-world --ephemeral --console\nincus launch images:debian/12 debian-vm --vm\nincus launch images:debian/12 debian-limited --config limits.cpu=1 --config limits.memory=192MiB\nincus launch images:debian/12 debian-container --vm --target server2\nincus launch images:debian/12 my-instance --type t2.micro\n"
          }
        ],
        "field": [
          {
            "id": "image",
            "label": "Image",
            "description": "For example images:debian/12.",
            "type": "string",
            "position": 0,
            "min": 1,
            "sources": [
              "docs"
            ]
          },
          {
            "id": "name",
            "label": "Instance name",
            "type": "string",
            "position": 1,
            "sources": [
              "docs"
            ]
          },
          {
            "id": "vm",
            "label": "Virtual machine",
            "description": "Create a VM instead of a container.",
            "type": "boolean",
            "option": [
              "--vm"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "ephemeral",
            "label": "Ephemeral",
            "type": "boolean",
            "option": [
              "--ephemeral"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "console",
            "label": "Attach console",
            "type": "boolean",
            "option": [
              "--console"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "config",
            "label": "Config key=value",
            "description": "For example limits.cpu=1.",
            "type": "string",
            "option": [
              "--config"
            ],
            "multiple": true,
            "sources": [
              "docs"
            ]
          },
          {
            "id": "target",
            "label": "Cluster member",
            "type": "string",
            "option": [
              "--target"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "type",
            "label": "Instance type",
            "type": "string",
            "option": [
              "--type"
            ],
            "sources": [
              "docs"
            ]
          }
        ],
        "task": [
          {
            "id": "container",
            "label": "Launch a container",
            "fields": [
              "image",
              "name"
            ],
            "required": [
              "image"
            ]
          },
          {
            "id": "vm",
            "label": "Launch a VM",
            "fields": [
              "image",
              "name",
              "vm"
            ],
            "required": [
              "image"
            ],
            "set": {
              "vm": [
                true
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "image",
              "name",
              "vm",
              "ephemeral",
              "console"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "config",
              "target",
              "type"
            ]
          }
        ]
      }
    ]
  }
}
