Workflow

The Git loop you know, with undo, isolation, and attribution.

heddle init in an existing Git repo. A thread per task, captures as you work, heddle undo for what didn't work out, and a land back into Git when you're done.

  1. 01 Adopt

    Start in the repo you have.

    One command in an existing Git checkout. No migration: Git stays your bridge to branches, pull requests and reviewers, and Heddle keeps its record in .heddle/ beside it.

     heddle initinitialized · git overlay · tracking main heddle statuson thread main · clean
  2. 02 Work

    One thread per task. Capture as you go.

    Each task gets its own named, isolated thread. A capture records a step with its intent, so it can be undone, reviewed and traced later, instead of being reconstructed from a commit message.

     heddle start task/biscuit-authz --task "replace JWT with Biscuit"thread started: task/biscuit-authz heddle capture -m "scaffold biscuit verifier"captured hc-7c2e84f1nh9k
  3. 03 Review

    Review the task, not just the last diff.

    A semantic diff shows what changed in the code’s structure. The thread shows the run behind the change. When it’s done, mark it ready.

     heddle diff main --semantic+ src/server/auth/biscuit.rs   2 new symbols~ src/proto/auth.proto         JwtClaims removed heddle thread show task/biscuit-authz9 captures · 3 retries · 1 abort heddle ready -m "Biscuit capabilities"
  4. 04 Land

    Land it, then push.

    Landing integrates the ready thread into its target, squashed into one Git commit by default. Pushing publishes it. Your reviewers, CI and PR template stay as they are.

     heddle land --thread task/biscuit-authzlanded task/biscuit-authz on main · 1 commit heddle pushpushed main

Output abbreviated. The commands are the CLI's own.

Scripts and agents

Structured output, not scraped text.

The everyday commands, init through push, print JSON with --output json, and heddle completions writes a completion script for your shell.

 heddle status --output json