{
  "description": "Back up directories to a rustic repository. Repository, password and dry-run options go before the subcommand; other subcommands (restore, forget, prune, check) are left out.",
  "options": [
    {
      "names": [
        "-r"
      ],
      "description": "Path to the repository.",
      "args": {
        "name": "repository",
        "description": "Path to the repository.",
        "isOptional": false
      }
    },
    {
      "names": [
        "--password-file",
        "-p"
      ],
      "description": "Password file",
      "args": {
        "name": "password_file",
        "isOptional": false,
        "template": "filepaths"
      }
    },
    {
      "names": [
        "--password-command"
      ],
      "description": "Password command",
      "args": {
        "name": "password_command",
        "isOptional": false
      }
    },
    {
      "names": [
        "--dry-run",
        "-n"
      ],
      "description": "Dry run"
    }
  ],
  "name": "rustic",
  "subcommands": [
    {
      "name": "backup",
      "description": "Back up files and directories. Pass the repository options at the top level.",
      "options": [
        {
          "names": [
            "--glob"
          ],
          "description": "Prefix a glob with ! to exclude.",
          "args": {
            "name": "glob",
            "description": "Prefix a glob with ! to exclude.",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--label"
          ],
          "description": "Label",
          "args": {
            "name": "label",
            "isOptional": false
          }
        },
        {
          "names": [
            "--description"
          ],
          "description": "Description",
          "args": {
            "name": "description",
            "isOptional": false
          }
        },
        {
          "names": [
            "--host"
          ],
          "description": "Host name",
          "args": {
            "name": "host",
            "isOptional": false
          }
        },
        {
          "names": [
            "--init"
          ],
          "description": "Initialize repository if missing"
        },
        {
          "names": [
            "--git-ignore"
          ],
          "description": "Respect .gitignore"
        },
        {
          "names": [
            "--one-file-system"
          ],
          "description": "Stay on one filesystem"
        },
        {
          "names": [
            "--skip-identical-parent"
          ],
          "description": "Skip if unchanged"
        }
      ],
      "args": [
        {
          "name": "sources",
          "isOptional": true,
          "isVariadic": true,
          "template": "filepaths"
        }
      ]
    }
  ]
}
