{
  "id": "borgbackup",
  "name": "BorgBackup",
  "homepage": "https://borgbackup.readthedocs.io/",
  "description": "Deduplicating archiver with compression and authenticated encryption.",
  "executables": [
    "borg"
  ],
  "dotfiles": {
    "paths": [],
    "secret": [
      "[configHome]/borg/default.yaml",
      "[appData]/borg/default.yaml"
    ],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Borg backup",
    "description": "Create a new archive with borg create. Other borg subcommands, pattern options and stdin reading are not covered.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": true
    },
    "subcommand": [
      {
        "path": [
          "create"
        ],
        "label": "Create an archive",
        "source": [
          {
            "id": "help",
            "kind": "manual",
            "url": "https://manpages.debian.org/unstable/borgbackup/borg-create.1.en.html",
            "revision": "1.4.5",
            "evidence": "borg [common options] create [options] ARCHIVE [PATH...]\n-n, --dry-run   do not create a backup archive\n-s, --stats     print statistics for the created archive\n--list          output verbose list of items (files, dirs, ...)\n--json          output stats as JSON. Implies --stats.\n-e PATTERN, --exclude PATTERN   exclude paths matching PATTERN\n--exclude-from EXCLUDEFILE      read exclude patterns from EXCLUDEFILE, one per line\n--exclude-caches                exclude directories that contain a CACHEDIR.TAG file\n-x, --one-file-system           stay in the same file system and do not store mount points of other file systems\n--numeric-ids                   only store numeric user and group identifiers\n"
          }
        ],
        "field": [
          {
            "id": "archive",
            "label": "Archive (REPO::NAME)",
            "description": "Repository and archive name, for example /backups/repo::{hostname}-{now}.",
            "type": "string",
            "position": 0,
            "min": 1,
            "sources": [
              "help"
            ]
          },
          {
            "id": "paths",
            "label": "Paths to back up",
            "type": "path",
            "position": 1,
            "multiple": true,
            "path": {
              "kind": "any",
              "role": "input"
            },
            "sources": [
              "help"
            ]
          },
          {
            "id": "dry_run",
            "label": "Dry run",
            "type": "boolean",
            "option": [
              "--dry-run",
              "-n"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "stats",
            "label": "Print statistics",
            "type": "boolean",
            "option": [
              "--stats",
              "-s"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "list",
            "label": "List items",
            "type": "boolean",
            "option": [
              "--list"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "json",
            "label": "JSON stats",
            "type": "boolean",
            "option": [
              "--json"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "exclude",
            "label": "Exclude pattern",
            "type": "string",
            "option": [
              "--exclude",
              "-e"
            ],
            "multiple": true,
            "sources": [
              "help"
            ]
          },
          {
            "id": "exclude_from",
            "label": "Exclude file",
            "type": "path",
            "option": [
              "--exclude-from"
            ],
            "path": {
              "kind": "file",
              "role": "input"
            },
            "sources": [
              "help"
            ]
          },
          {
            "id": "exclude_caches",
            "label": "Exclude cache directories",
            "type": "boolean",
            "option": [
              "--exclude-caches"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "one_file_system",
            "label": "Stay on one file system",
            "type": "boolean",
            "option": [
              "--one-file-system",
              "-x"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "numeric_ids",
            "label": "Numeric owner IDs",
            "type": "boolean",
            "option": [
              "--numeric-ids"
            ],
            "sources": [
              "help"
            ]
          }
        ],
        "task": [
          {
            "id": "backup",
            "label": "Back up paths",
            "fields": [
              "archive",
              "paths",
              "stats",
              "list",
              "exclude",
              "one_file_system"
            ],
            "required": [
              "archive",
              "paths"
            ]
          },
          {
            "id": "preview",
            "label": "Dry run",
            "set": {
              "dry_run": [
                true
              ],
              "list": [
                true
              ]
            },
            "fields": [
              "archive",
              "paths",
              "dry_run",
              "list",
              "exclude"
            ],
            "required": [
              "archive",
              "paths"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "archive",
              "paths",
              "dry_run",
              "stats",
              "list"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "json",
              "exclude",
              "exclude_from",
              "exclude_caches",
              "one_file_system",
              "numeric_ids"
            ]
          }
        ]
      }
    ]
  }
}
