0.1.11
Your workspaces root becomes a git repository. Templates and chats —
including their MEMORY.md, captured transcripts, summaries, and the
full per-chat session slices — sync across machines. No GitHub /
Gitea REST API; just git over HTTPS or SSH with the credentials you
already have.
First run gets a 3-way fork
After picking the workspaces root, choose one of:
- Empty folder — just
chats/+templates/. - Empty folder + bundled samples — same plus the
reversing/code-review/workpath-authorstarters. - Clone from a git remote — pulls your existing chats and
templates from a remote you've already pushed to from another
machine. The remote must be public OR your git credentials
(HTTPS credential helper / SSH key) must already be configured.
On failure, Clade falls back to option 1 with a clear
breadcrumb so you can link the remote later from the Backup tab.
Backup tab (Ctrl-4)
Header shows the current status (initialised / has-remote / clean
/ ahead / behind), last-sync timestamp, and this machine's ID.
Rows:
- Remote URL — edit the configured remote.
- Test connection — runs
git ls-remoteagainst the URL with a
12s timeout. Surfaces "repository not found / private",
"authentication failed", "network unreachable" in user-friendly
language. - Sync now — commits local changes, fetches, decides:
- In sync → nothing to do.
- Local ahead only → push.
- Remote ahead only → fast-forward pull.
- Diverged → opens the resolution popup.
- Reset from remote — DELETES local changes and matches the
remote. Two consecutive y/n confirmations. - Force push — overwrites the remote with local. One y/n
confirmation. - Disconnect — clears the remote URL and disables auto-sync.
Local files are untouched. - Auto-sync (opt-in) — fires on every Clade startup and exit.
- Force always local changes (opt-in, only with auto-sync) —
bypasses the divergence popup; local always wins. LOUD warning
on activation about two-machine races.
Divergence popup
When both sides have unique commits, the popup shows the lists of
local and remote commits with timestamps and offers four
reconciliations:
- [m] Merge — keeps both sides via a merge commit.
- [r] Rebase — replays local on top of remote.
- [p] Force push — discards remote, keeps local.
- [R] Reset — discards local, keeps remote.
Merge / rebase conflicts surface a clear panel with the conflicting
files and instructions to resolve via the shell.
Auto-sync safeguards
- Startup hook runs before the TUI; exit hook runs after Ctrl-C.
- Both perform safe operations only (commit + ff-push / ff-pull).
- Divergence halts with a stderr pointer to the Backup tab.
- Force-always-local is guarded by a per-commit Machine-ID
trailer + a 24h window: if another machine pushed recently,
Clade refuses to clobber and tells you to resolve manually. Even
with the dangerous opt-in on, you can't silently lose work
someone else just pushed.
MEMORY.md custom merge
MEMORY.md in any chat or template gets a custom merge driver
(clade --merge-memory) that concatenates both sides under a
"## --- merged from another machine at ---" separator instead
of producing <<<<<<< conflict markers. Registered automatically
via .gitattributes + .git/config on Init/Clone.
What gets tracked / ignored
.gitignore is managed by Clade:
- Everything at the workspaces root is ignored.
chats/andtemplates/are explicitly un-ignored, and everything
inside them is tracked — sandbox, native session slices,
captured transcripts, all of it. Trade repo size for full-fidelity
sync across machines.
If you've manually edited .gitignore, Clade detects the missing
managed marker and leaves your file alone.
Verify
sha256sum -c SHA256SUMS
6f85c3f2c382a3c4b0f38587d097b2f6fdb1a854888a99b9828727306a1fae24 clade-darwin-amd64.tar.gz
808e84f9eff638e10d858a625c664bcb733a97a6e320542f7ecfbd4f99c97b18 clade-darwin-arm64.tar.gz
c1ed1d508533b44bf27ee0fe1687a1f9de25c5cb988370293f4b03eaab2c407a clade-linux-amd64.tar.gz
dc9c9e6164dfb9551a0c1bfb4cca3aec61cf3f898ddc54655b6b5ae162bbd9aa clade-linux-arm64.tar.gz
d15c1373ef690b1cda2a7e412194dfcbe4d1fab8ce4bf076abb4c7c6de05e951 clade-windows-amd64.zip
Compatibility
No breaking changes. Existing 0.1.10 configs round-trip without
migration (the new backup fields are all omitempty). The first-run
flow only triggers on a fresh install; existing users see no
behavioral change until they explicitly open the Backup tab.