id = "syncthing" name = "Syncthing" homepage = "https://syncthing.net/" description = "Syncthing is a continuous file synchronization program." executables = ["syncthing"] [dotfiles] # The official configuration documentation gives the current config directory # as $XDG_STATE_HOME/syncthing or ~/.local/state/syncthing on Unix, # ~/Library/Application Support/Syncthing on macOS, and %LOCALAPPDATA%/Syncthing # on Windows. It also records the pre-1.27 ~/.config/syncthing location for # existing installations. config.xml contains both preferences and GUI/API # credentials, so it is conservatively treated as a whole-file secret; the # device and HTTPS private keys are secrets for the same reason. # https://docs.syncthing.net/users/config.html 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 } [[commands.source]] id = "man" kind = "manual" url = "https://man.archlinux.org/man/syncthing.1.en" revision = "2026-10-27" evidence = """ syncthing [serve] --home=, -H ($STHOMEDIR) --config=, -C ($STCONFDIR) --data=, -D ($STDATADIR) --audit ($STAUDIT) --gui-address=
($STGUIADDRESS) --log-file= ($STLOGFILE) --no-browser --no-restart --no-upgrade --paused --unpaused """ [[commands.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"] [[commands.field]] 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"] [[commands.field]] 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"] [[commands.field]] 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"] [[commands.field]] id = "log_file" label = "Log file" type = "path" option = ["--log-file"] path = { kind = "file", role = "output", must_exist = false } effect = "overwrite" sources = ["man"] [[commands.field]] id = "audit" label = "Write audit log" type = "boolean" option = ["--audit"] sources = ["man"] [[commands.field]] id = "no_browser" label = "Do not open the browser" type = "boolean" option = ["--no-browser"] sources = ["man"] [[commands.field]] id = "no_restart" label = "No automatic restart" type = "boolean" option = ["--no-restart"] sources = ["man"] [[commands.field]] id = "no_upgrade" label = "Disable automatic upgrades" type = "boolean" option = ["--no-upgrade"] sources = ["man"] [[commands.field]] id = "paused" label = "Start paused" type = "boolean" option = ["--paused"] sources = ["man"] [[commands.task]] id = "serve" label = "Start the server" fields = ["home", "gui_address", "no_browser", "no_upgrade"] [[commands.task]] id = "serve-headless" label = "Start without opening the browser" set = { no_browser = [true] } fields = ["home", "gui_address", "no_browser"] [[commands.group]] id = "basic" label = "Basic" fields = ["home", "config", "data", "gui_address", "no_browser"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["log_file", "audit", "no_restart", "no_upgrade", "paused"]