id = "kopia" name = "Kopia" homepage = "https://kopia.io/" description = "Fast and secure open-source backup/restore tool." executables = ["kopia"] [dotfiles] # https://kopia.io/docs/reference/command-line/ — the default repository # connection file is $HOME/.config/kopia/repository.config on Linux, # $HOME/Library/Application Support/kopia/repository.config on macOS, and # %APPDATA%/kopia/repository.config on Windows. The parent directories are # content roots; all three file spellings are classified as secret because # the documented JSON can contain storage access keys and secretAccessKey. paths = ["[configHome]/kopia/", "[appData]/kopia/", "%APPDATA%/kopia/"] secret = [ "[configHome]/kopia/repository.config", "[appData]/kopia/repository.config", "%APPDATA%/kopia/repository.config", ] [commands] format = 1 label = "Create a snapshot" description = "Back up a directory or file to the connected Kopia repository. Repository setup, policies and restore are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.source]] id = "help" kind = "manual" url = "https://kopia.io/docs/reference/command-line/common/snapshot-create/" revision = "2026-10" evidence = """ kopia snapshot create [source] --description Free-form snapshot description. --fail-fast, --no-fail-fast (shown as --[no-]fail-fast) Fail fast when creating snapshot. --parallel Upload N files in parallel --pin Create a pinned snapshot that will not expire automatically --tags Tags applied on the snapshot. --all, --no-all (shown as --[no-]all) Create snapshots for files or directories previously backed up by this user on this computer. --json, --no-json (shown as --[no-]json) Output result in JSON format to stdout """ [[commands.subcommand]] path = ["snapshot", "create"] label = "Create a snapshot" [[commands.subcommand.source]] id = "help" kind = "manual" url = "https://kopia.io/docs/reference/command-line/common/snapshot-create/" revision = "2026-10" evidence = """ kopia snapshot create [source] --description Free-form snapshot description. --fail-fast, --no-fail-fast (shown as --[no-]fail-fast) Fail fast when creating snapshot. --parallel Upload N files in parallel --pin Create a pinned snapshot that will not expire automatically --tags Tags applied on the snapshot. --all, --no-all (shown as --[no-]all) Create snapshots for files or directories previously backed up by this user on this computer. --json, --no-json (shown as --[no-]json) Output result in JSON format to stdout """ [[commands.subcommand.field]] id = "source" label = "Directory or file" type = "path" path = { kind = "any", role = "input" } position = 0 multiple = true sources = ["help"] [[commands.subcommand.field]] id = "all" label = "All previously backed-up sources" description = "Cannot be combined with a source path." type = "boolean" option = ["--all"] sources = ["help"] [[commands.subcommand.field]] id = "description" label = "Description" type = "string" option = ["--description"] sources = ["help"] [[commands.subcommand.field]] id = "tags" label = "Tags" description = "key:value." type = "string" option = ["--tags"] multiple = true sources = ["help"] [[commands.subcommand.field]] id = "pin" label = "Pin snapshot" description = "A pinned snapshot does not expire automatically. Value is the pin name." type = "string" option = ["--pin"] sources = ["help"] [[commands.subcommand.field]] id = "parallel" label = "Parallel uploads" type = "integer" option = ["--parallel"] sources = ["help"] [[commands.subcommand.field]] id = "fail_fast" label = "Fail fast" type = "boolean" option = ["--fail-fast"] sources = ["help"] [[commands.subcommand.field]] id = "json" label = "JSON output" type = "boolean" option = ["--json"] sources = ["help"] [[commands.subcommand.task]] id = "backup" label = "Back up a directory" fields = ["source", "description"] required = ["source"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["source", "all", "description", "tags"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["pin", "parallel", "fail_fast", "json"]