wigwam sync
Live. Every workspace. Every device.
As you and your agents work, AgentFS captures the history and wigwam sync replicates it. Open the same project on your
laptop or phone and see where the work stands — end-to-end encrypted,
readable only on your devices.
This is not git. There is no push, no pull, no commit to wait for. A write an agent makes on one machine is on your other machines as it happens, in every workspace.
01
One source of truth, live everywhere
The project is one thing: one record, every write in it. Every machine you own works on that same thing, live. Start on the desktop, sit down at the laptop and keep going — the edit from a second ago is there, in the same workspace. There is nothing to push and nothing to pull, so there is nothing to conflict.
02
Every workspace, every device
Three agents on your desktop, each in its own workspace, mid-task. Your phone sees all three — each write, as it is made, in the workspace it was made in — and so does your laptop. Not a summary when they finish: the work, while it is happening.
task-a and the
tree is that agent's tree, right now; afs diff task-a on your laptop
says the same thing it says on the desktop.The record, not a folder
Nothing watches files or copies directories. What replicates is the AgentFS record — every write, snapshot and
integrate, with the writer attached — and each machine rebuilds the
same tree from it. Whatever git ignores never leaves the machine; wigwam sync --ignored lists what stays behind.
Offline, and two machines on one thing
Offline, work continues locally and catches up on reconnect. History is
appended in order, so two machines writing to one workspace hold the
same history. A head move on main that lost a race replays,
the way afs integrate does — nothing merges silently.
03
Sealed before it leaves
Every write, snapshot and file is encrypted on your machine, with keys the relay never holds. The relay stores and routes sealed data; it cannot read a file, a path, a message, or even the project's name — it lists opaque ids. Your other machines and your browser hold the key and open everything locally.
What the relay holds
Sealed history and snapshots, under opaque project ids, with sizes
and timestamps. Enough to hand the project to your next machine.
Lose a laptop, and wigwam sync get on the next one brings
the whole project back, history included.
What it cannot see
File contents, paths, workspace and branch names, stage messages, or which agent wrote what. The same key that protects your terminals protects this — see encryption.
04
Using it
# this machine: the project should sync $ wigwam sync add my-project ╭─ Syncing my-project · 4 branches · 22 old workspaces · 184 MB │ │ ✓ Uploading project 184 MB · 12,431 changes 41 s │ ✓ Available to get 43 s │ ✓ Uploading history 22 old workspaces · in parallel 93 s │ ╰─ Synced in 1:35 · 340 MB · avg 3.6 MB/s # any other machine: get it, full history, mounted and ready $ wigwam sync get my-project @~/Repos/my-project # from then on it just stays in step $ wigwam sync status my-project state syncing push 4 branches · in step
Every replica keeps the full history by default; --history heads keeps only the current state. The project has to be an AgentFS project
first — afs adopt makes one from any repo. Linux and macOS today.
05
Good to know
Which machine is the source of truth?
The project is. There is one record, and every machine holds all of it, live. Add from any of them, get on any of them, work from whichever is in front of you.
So where does git fit?
Wherever you want it. Sync never waits on a commit; git stays what it is. afs push on any replica turns main into an ordinary commit in your repo.
What about my phone?
The built-in IDE opens the project straight from the relay and decrypts it on the device. Nothing to install.
How do I stop?
wigwam sync remove stops this machine; every copy stays. wigwam sync delete removes the project from the relay for every machine — local copies still stay.