Skip to content

The mental model

agentsync borrows its model from chezmoi: you keep one canonical source of truth, you apply it to produce the real files agents read, and when something edits those files out from under you, agentsync detects the drift and helps you reconcile it.

Read this page once and the rest of the docs — and agentsync --help — will click into place.

flowchart LR
    subgraph S["Source — ~/.agentsync/"]
        TOML["TOML + .md<br/>(you hand-edit / commit)"]
    end
    subgraph T["Target — in memory"]
        OPS["per-agent render<br/>(transient)"]
    end
    subgraph D["Destination — on disk"]
        NATIVE["~/.claude.json<br/>~/.config/opencode/…"]
    end
    TOML -- "apply (render + translate)" --> OPS
    OPS -- "write (atomic)" --> NATIVE
    NATIVE -- "reconcile / import (capture)" --> TOML
  • Source — what you committed in ~/.agentsync/. The intent.
  • Target — what the source renders to for a given agent, computed fresh in memory at apply time. It lives nowhere on disk.
  • Destination — what’s actually on disk in each agent’s native config right now.
VerbWhat it does
applyRenders the source and writes each agent’s native config.
status”What’s out of sync?” — a summary across all agents.
diff”Show me exactly what changed.” Secrets are redacted.
reconcileAn agent edited its config — merge that edit back, or override it.

That’s the whole tool. Everything else is detail.

Terminal window
# You edit ~/.agentsync/ → push to agents
agentsync apply
# An agent edited its own config → bring the edit home
agentsync status # spot the drift
agentsync diff claude # inspect it (resolved secrets masked)
agentsync reconcile # interactively resolve