{
  "id": "syncthing",
  "name": "Syncthing",
  "homepage": "https://syncthing.net/",
  "description": "Syncthing is a continuous file synchronization program.",
  "executables": [
    "syncthing"
  ],
  "dotfiles": {
    "paths": [],
    "secret": [
      "~/.local/state/syncthing/config.xml",
      "[appData]/Syncthing/config.xml",
      "%LOCALAPPDATA%/Syncthing/config.xml",
      "~/.config/syncthing/config.xml",
      "~/.local/state/syncthing/cert.pem",
      "~/.local/state/syncthing/key.pem",
      "~/.local/state/syncthing/https-cert.pem",
      "~/.local/state/syncthing/https-key.pem",
      "[appData]/Syncthing/cert.pem",
      "[appData]/Syncthing/key.pem",
      "[appData]/Syncthing/https-cert.pem",
      "[appData]/Syncthing/https-key.pem",
      "%LOCALAPPDATA%/Syncthing/cert.pem",
      "%LOCALAPPDATA%/Syncthing/key.pem",
      "%LOCALAPPDATA%/Syncthing/https-cert.pem",
      "%LOCALAPPDATA%/Syncthing/https-key.pem",
      "~/.config/syncthing/cert.pem",
      "~/.config/syncthing/key.pem",
      "~/.config/syncthing/https-cert.pem",
      "~/.config/syncthing/https-key.pem"
    ]
  },
  "commands": {
    "format": 1,
    "label": "Run Syncthing",
    "description": "Start the Syncthing server with common options. Source: syncthing(1) man page. Subcommands, database tuning and debug flags are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "man",
        "kind": "manual",
        "url": "https://man.archlinux.org/man/syncthing.1.en",
        "revision": "2026-10-27",
        "evidence": "syncthing [serve]\n--home=<dir>, -H <dir> ($STHOMEDIR)\n--config=<dir>, -C <dir> ($STCONFDIR)\n--data=<dir>, -D <dir> ($STDATADIR)\n--audit ($STAUDIT)\n--gui-address=<address> ($STGUIADDRESS)\n--log-file=<filename> ($STLOGFILE)\n--no-browser\n--no-restart\n--no-upgrade\n--paused\n--unpaused\n"
      }
    ],
    "field": [
      {
        "id": "home",
        "label": "Home directory",
        "description": "Common configuration and data directory. Alternative to config plus data.",
        "type": "path",
        "option": [
          "--home",
          "-H"
        ],
        "path": {
          "kind": "directory",
          "role": "input"
        },
        "sources": [
          "man"
        ]
      },
      {
        "id": "config",
        "label": "Config directory",
        "description": "Must be used together with the data directory.",
        "type": "path",
        "option": [
          "--config",
          "-C"
        ],
        "path": {
          "kind": "directory",
          "role": "input"
        },
        "sources": [
          "man"
        ]
      },
      {
        "id": "data",
        "label": "Data directory",
        "description": "Must be used together with the config directory.",
        "type": "path",
        "option": [
          "--data",
          "-D"
        ],
        "path": {
          "kind": "directory",
          "role": "input"
        },
        "sources": [
          "man"
        ]
      },
      {
        "id": "gui_address",
        "label": "GUI listen address",
        "description": "An address such as 0.0.0.0:8384 or a URL.",
        "type": "string",
        "option": [
          "--gui-address"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "log_file",
        "label": "Log file",
        "type": "path",
        "option": [
          "--log-file"
        ],
        "path": {
          "kind": "file",
          "role": "output",
          "must_exist": false
        },
        "effect": "overwrite",
        "sources": [
          "man"
        ]
      },
      {
        "id": "audit",
        "label": "Write audit log",
        "type": "boolean",
        "option": [
          "--audit"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "no_browser",
        "label": "Do not open the browser",
        "type": "boolean",
        "option": [
          "--no-browser"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "no_restart",
        "label": "No automatic restart",
        "type": "boolean",
        "option": [
          "--no-restart"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "no_upgrade",
        "label": "Disable automatic upgrades",
        "type": "boolean",
        "option": [
          "--no-upgrade"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "paused",
        "label": "Start paused",
        "type": "boolean",
        "option": [
          "--paused"
        ],
        "sources": [
          "man"
        ]
      }
    ],
    "task": [
      {
        "id": "serve",
        "label": "Start the server",
        "fields": [
          "home",
          "gui_address",
          "no_browser",
          "no_upgrade"
        ]
      },
      {
        "id": "serve-headless",
        "label": "Start without opening the browser",
        "set": {
          "no_browser": [
            true
          ]
        },
        "fields": [
          "home",
          "gui_address",
          "no_browser"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "home",
          "config",
          "data",
          "gui_address",
          "no_browser"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "log_file",
          "audit",
          "no_restart",
          "no_upgrade",
          "paused"
        ]
      }
    ]
  }
}
