Payload, trigger, and ignore
Once discover has found a save, three optional blocks decide what happens to it. All three are arrays of the same clause types, so once you learn the clauses you know all three.
Payload — what’s captured
payload lists what to include in the snapshot for each discovered save. Leave it out and it defaults to subtree — the save and everything under it, which is what you want most of the time.
The clauses:
subtree— the discovered save and all its descendants. (For a single file, that’s just the file.){named: "Backup"}— a named file or folder inside the save.{files: "*.sfs"}— files in the save matching a glob.{dirs: "Campaign*"}— folders in the save matching a glob.{sibling_files_same_stem: "*.png"}— a file next to the save sharing its name, likesave.sav→save.png.{sibling_files: {include: "*.meta"}}— files next to the save matching a glob.
payload:
- files: "*.sfs"
- named: "Backup"
optional: true
Add optional: true to any clause and zero matches won’t be an error — use it for files that aren’t always there. To capture only the direct files of a folder (no subfolders), use files: "*" instead of subtree.
The save itself is always captured. Even when you write a payload, the discovered save stays in it — so adding sibling_files_same_stem to grab a screenshot beside the save never drops the save. The sibling_* clauses only add companion files next to the save; they don’t include the save itself. Reach for a within-entry clause (files, dirs, named) when you want to capture only part of a folder — that narrows the save instead of adding to it. To drop the save from the snapshot entirely, exclude it explicitly with ignore: [subtree] (see below).
Trigger — what starts a snapshot
trigger decides which changes are worth a new snapshot. Left out, it matches your payload exactly (same_as_payload) — the normal choice. Set it explicitly when a snapshot should ignore churn in some captured files:
trigger:
include:
- subtree
exclude:
- files: "steam_autocloud.vdf"
Here everything is captured, but a change to the Steam cloud sentinel file on its own won’t start a snapshot.
Ignore — what to leave out
ignore drops clauses from both payload and trigger at once. It’s shorthand for files you never want in a snapshot and never want to react to:
ignore:
- files: "steam_autocloud.vdf"
- files: "*.placeholder"
Limiting a clause to one platform
Any clause — in discover, payload, trigger, or ignore — can carry a platform restriction:
ignore:
- files: "steam_autocloud.vdf"
platform: [windows]
Without platform, a clause applies everywhere. If a game’s layout is fundamentally different per platform, don’t try to express it with platform flags on every clause — write a separate save location instead.