---
source: src/main.rs
expression: sub.render_long_help().to_string()
---
Make pond current: import, embed, update indexes.
The everyday command: pulls fresh sessions from every enabled `[adapters.*]` entry (or one named adapter), embedding each message inline as it is written, and folds new rows into the search indexes. It only ever syncs adapters you have already enabled - enabling one is an explicit step (`pond adapters enable` / `pond adapters discover` / `pond init`), never a side effect of sync.
Usage: pond sync [OPTIONS] [ADAPTER]
Arguments:
[ADAPTER]
Adapter name (claude-code, codex-cli, ...); default: every enabled adapter
Options:
--path <DIR>
One-off source-path override (requires <ADAPTER>).
Bypasses `[adapters.<adapter>]` and does not modify config.toml.
--verify
Reconcile pass: bypass the freshness skip and re-read every source body, re-ingesting through the idempotent merge. The skip compares source mtime to pond's per-session ingest watermark; a session that was partially flushed before the commit-row-last fix kept a frozen watermark that mtime can never re-read past. This is the body-reading tier that heals that historical damage (and audits completeness). It is slower - every file is decoded - so it is opt-in, not the default
--dry-run
Preview the next sync: per-adapter source counts and how many the freshness gate would re-read. Writes nothing to the store
--no-wait
If another pond sync is already running against this store on this host, skip this run (exit 0) instead of waiting for the lock. The scheduled sync passes this so ticks never queue up
--format <FORMAT>
Output format: `text` (stage lines + progress) or `json` (one summary document on stdout; progress stays on stderr)
[default: text]
[possible values: text, json]
-h, --help
Print help (see a summary with '-h')
Global options:
--storage-path <URL>
Storage destination: a local path or remote URL.
Accepts a bare path, `~/path`, `file://`, `s3://bucket/prefix`, `s3+https://host/bucket/prefix`, `gs://`, `az://`, or the keyword `local` (the platform default local data dir). Default: `[storage].path` from config, then the platform data dir (`~/.local/share/pond`).
[env: POND_STORAGE_PATH]
--config-file <PATH>
Config file to read (default: `~/.config/pond/config.toml`)
[env: POND_CONFIG_FILE]
-v, --verbose...
Increase logging verbosity
-q, --quiet...
Decrease logging verbosity
Examples:
pond sync sync every enabled adapter
pond sync claude-code sync one enabled adapter
pond sync --dry-run preview what the next sync would read
pond sync codex-cli --path ~/backup one-off path override, config untouched
pond sync --verify full re-read; heal anything the skip missed