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:

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.