{
  "id": "isync",
  "name": "isync",
  "homepage": "https://isync.sourceforge.io/",
  "description": "isync is a command line application which synchronizes mailboxes.",
  "executables": [
    "mbsync"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/isyncrc",
      "~/.mbsyncrc"
    ],
    "secret": [],
    "secret_paths": [
      {
        "file": [
          "[configHome]/isyncrc",
          "~/.mbsyncrc"
        ],
        "match": {
          "prefix": [
            "Pass "
          ]
        }
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Synchronize mailboxes",
    "description": "Sync the chosen channels or groups, or list their mailboxes. Per-operation overrides (-C, -R, -X, --pull, --push and similar) and debug categories are not included.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "man",
        "kind": "manual",
        "url": "https://isync.sourceforge.io/mbsync.html",
        "revision": "isync manual",
        "evidence": "mbsync [options ...] {{channel[:box[{,|\\n}...]]|group} ...|-a}\n-c, --config file\n-a, --all\n-l, --list\n-h, --help\n-y, --dry-run\n-e, --ext-exit\n-V, --verbose\n-q, --quiet\n"
      }
    ],
    "field": [
      {
        "id": "channels",
        "label": "Channels or groups",
        "description": "Channel (optionally channel:box) or group names from the config file. Ignored when 'all channels' is on.",
        "type": "string",
        "position": 0,
        "multiple": true,
        "sources": [
          "man"
        ]
      },
      {
        "id": "all",
        "label": "All channels",
        "type": "boolean",
        "option": [
          "--all",
          "-a"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "config",
        "label": "Config file",
        "type": "path",
        "path": {
          "kind": "file",
          "role": "input"
        },
        "option": [
          "--config",
          "-c"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "list",
        "label": "List mailboxes only",
        "description": "Do not synchronize; list the mailboxes of the selected channels.",
        "type": "boolean",
        "option": [
          "--list",
          "-l"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "dry_run",
        "label": "Dry run",
        "description": "Determine the operations but make no changes to mailboxes or state files.",
        "type": "boolean",
        "option": [
          "--dry-run",
          "-y"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "verbose",
        "label": "Verbose",
        "type": "boolean",
        "option": [
          "--verbose",
          "-V"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "quiet",
        "label": "Quiet",
        "description": "Suppress progress counters, notices and the summary.",
        "type": "boolean",
        "option": [
          "--quiet",
          "-q"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "ext_exit",
        "label": "Extended exit code",
        "type": "boolean",
        "option": [
          "--ext-exit",
          "-e"
        ],
        "sources": [
          "man"
        ]
      }
    ],
    "task": [
      {
        "id": "sync-all",
        "label": "Sync all channels",
        "set": {
          "all": [
            true
          ]
        },
        "lock": [
          "all"
        ],
        "fields": [
          "all",
          "config",
          "verbose",
          "quiet"
        ],
        "required": []
      },
      {
        "id": "preview",
        "label": "Preview a sync",
        "set": {
          "dry_run": [
            true
          ],
          "verbose": [
            true
          ]
        },
        "lock": [
          "dry_run"
        ],
        "fields": [
          "channels",
          "all",
          "config",
          "dry_run",
          "verbose"
        ],
        "required": []
      },
      {
        "id": "list",
        "label": "List mailboxes",
        "set": {
          "list": [
            true
          ]
        },
        "lock": [
          "list"
        ],
        "fields": [
          "channels",
          "all",
          "config",
          "list"
        ],
        "required": []
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "channels",
          "all",
          "config",
          "list",
          "dry_run"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "verbose",
          "quiet",
          "ext_exit"
        ]
      }
    ]
  }
}
