01 · init
Set up beside Git.
heddle init writes a .heddle/ sidecar next to .git/. It never rewrites history and never touches your tracked files. Git commits stay in Git; walk away byte-identical whenever you want.
additive · your Git history stays untouched
created.heddle/ sidecar
git historyuntouched
tracked filesuntouched
02 · status
See where you stand.
heddle status is observe-only. It reads your repo and recommends the next step. Nothing is written, nothing uploaded, history untouched.
read-only · safe to run anytime
.heddle/≈.git/
heddle start≈git worktree
heddle land≈git merge
heddle status≈git status
03 · start
Branch an isolated thread.
heddle start spins up a copy-on-write, Heddle-managed checkout, one per task or agent. Point a model at it and it never collides with main or another thread.
copy-on-write · no full clone
heddle thread list
* main current
- feature/auth ● isolated checkout
- refactor/db ● isolated checkout
04 · commit
Signed, attributed, written through to Git.
Every authored state is a durable checkpoint, signed with ed25519 automatically, no key setup, and named for its author, human or agent. It writes straight through to your .git: a real Git commit, HEAD advances, plain git log shows it. No separate export.
attribution, not archaeology
statehd-5aqcfrwvcs7d
saved byLuke <luke@heddle.sh>
signatureed25519 · verified
05 · annotate
The next agent reads it before it edits.
Annotations are versioned objects (constraint, invariant, rationale) attached to a symbol and injected into the agent's context before it edits. Failed attempts become future guardrails.
travels into Claude Code on PreToolUse
heddle context get
--- [invariant] hd-zabjx94g3 (active) ---
by: Luke (via anthropic/claude-opus-4-8)
Reconnect must hold the session lock;
racing reconnects corrupt the stream cursor.
06 · land
Land semantically.
Heddle merges body-only changes cleanly and surfaces a signature change for review, because a contract change deserves a human. Then it lands back to main.
AST-aware 3-way · falls back to text hunks honestly