{
  "id": "kopia",
  "name": "Kopia",
  "homepage": "https://kopia.io/",
  "description": "Fast and secure open-source backup/restore tool.",
  "executables": [
    "kopia"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/kopia/",
      "[appData]/kopia/",
      "%APPDATA%/kopia/"
    ],
    "secret": [
      "[configHome]/kopia/repository.config",
      "[appData]/kopia/repository.config",
      "%APPDATA%/kopia/repository.config"
    ]
  },
  "commands": {
    "format": 1,
    "label": "Create a snapshot",
    "description": "Back up a directory or file to the connected Kopia repository. Repository setup, policies and restore are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "help",
        "kind": "manual",
        "url": "https://kopia.io/docs/reference/command-line/common/snapshot-create/",
        "revision": "2026-10",
        "evidence": "kopia snapshot create [source]\n--description  Free-form snapshot description.\n--fail-fast, --no-fail-fast (shown as --[no-]fail-fast)  Fail fast when creating snapshot.\n--parallel  Upload N files in parallel\n--pin  Create a pinned snapshot that will not expire automatically\n--tags  Tags applied on the snapshot.\n--all, --no-all (shown as --[no-]all)  Create snapshots for files or directories previously backed up by this user on this computer.\n--json, --no-json (shown as --[no-]json)  Output result in JSON format to stdout\n"
      }
    ],
    "subcommand": [
      {
        "path": [
          "snapshot",
          "create"
        ],
        "label": "Create a snapshot",
        "source": [
          {
            "id": "help",
            "kind": "manual",
            "url": "https://kopia.io/docs/reference/command-line/common/snapshot-create/",
            "revision": "2026-10",
            "evidence": "kopia snapshot create [source]\n--description  Free-form snapshot description.\n--fail-fast, --no-fail-fast (shown as --[no-]fail-fast)  Fail fast when creating snapshot.\n--parallel  Upload N files in parallel\n--pin  Create a pinned snapshot that will not expire automatically\n--tags  Tags applied on the snapshot.\n--all, --no-all (shown as --[no-]all)  Create snapshots for files or directories previously backed up by this user on this computer.\n--json, --no-json (shown as --[no-]json)  Output result in JSON format to stdout\n"
          }
        ],
        "field": [
          {
            "id": "source",
            "label": "Directory or file",
            "type": "path",
            "path": {
              "kind": "any",
              "role": "input"
            },
            "position": 0,
            "multiple": true,
            "sources": [
              "help"
            ]
          },
          {
            "id": "all",
            "label": "All previously backed-up sources",
            "description": "Cannot be combined with a source path.",
            "type": "boolean",
            "option": [
              "--all"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "description",
            "label": "Description",
            "type": "string",
            "option": [
              "--description"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "tags",
            "label": "Tags",
            "description": "key:value.",
            "type": "string",
            "option": [
              "--tags"
            ],
            "multiple": true,
            "sources": [
              "help"
            ]
          },
          {
            "id": "pin",
            "label": "Pin snapshot",
            "description": "A pinned snapshot does not expire automatically. Value is the pin name.",
            "type": "string",
            "option": [
              "--pin"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "parallel",
            "label": "Parallel uploads",
            "type": "integer",
            "option": [
              "--parallel"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "fail_fast",
            "label": "Fail fast",
            "type": "boolean",
            "option": [
              "--fail-fast"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "json",
            "label": "JSON output",
            "type": "boolean",
            "option": [
              "--json"
            ],
            "sources": [
              "help"
            ]
          }
        ],
        "task": [
          {
            "id": "backup",
            "label": "Back up a directory",
            "fields": [
              "source",
              "description"
            ],
            "required": [
              "source"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "source",
              "all",
              "description",
              "tags"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "pin",
              "parallel",
              "fail_fast",
              "json"
            ]
          }
        ]
      }
    ]
  }
}
