How sync works
A plain-language tour of what treesync does. For settings see Configuration; for the encryption details see Security & privacy.
One folder, mirrored everywhere
You point treesync at the single folder that holds all your repos (say ~/code).
It keeps that whole folder in sync across every device you sign in from — laptop,
desktop, a server, the machines your agents run on. Work on one, pick up exactly
where you left off on another.
Full fidelity, including .git
treesync mirrors everything faithfully: every repo, every file, including each
repo’s .git. Because .git comes along as ordinary files, your branches,
history, and uncommitted work are all there on the other device — every machine is
ready to run, no extra setup.
Git’s transient lock files are skipped automatically, but committed lockfiles
(Cargo.lock, yarn.lock, …) sync normally. Symlinks aren’t synced yet.
Fast, efficient updates
After the first sync, only the parts that actually changed move — not whole files, not the whole folder. Everyday changes propagate quickly even for very large repos, and bandwidth and storage stay low. Identical content is stored once, so things like git’s packed objects sync especially efficiently.
Changes are kept as point-in-time versions, so history and restore are possible (browsing and restoring is on the roadmap).
End-to-end encrypted
Everything is encrypted on your machine before upload, and only your devices can decrypt it. The service stores encrypted data and coordinates your devices, but can’t read your files. In short: we can’t read your code. More in Security & privacy.
Conflicts never lose data
If the same file changes in two places before they sync, treesync keeps both: yours, plus a clearly named sidecar conflict copy. Nothing is silently overwritten.
Built for you and your agents
The same folder, identical on every machine, is exactly what multi-machine and AI-agent workflows need: your agents read and write the same working code you do, from wherever they run, and changes flow back to you.