Skip to content

0.1.11

Choose a tag to compare

@sPROFFEs sPROFFEs released this 20 May 20:55
· 85 commits to main since this release

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:

  1. Empty folder — just chats/ + templates/.
  2. Empty folder + bundled samples — same plus the
    reversing / code-review / workpath-author starters.
  3. 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-remote against 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/ and templates/ 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.