v0.1.0 · 0.6 MiB · rust · gpl-3.0 · telemetry none
your agent writes the code.
wh does the git around it.
a worktree with .env copied in one command, the state of every worktree in one call, a cleanup that only removes what is merged. no model, 0 tokens. when you want words, it reads history and diffs back in plain english, on an anthropic, openai or groq key, or a local model through ollama.
worktrees
one branch, one directory.
every branch gets a sibling directory with its .env files copied in, anchored to the main worktree, never to wherever you are standing. branch-switching never touches your working state.
hover a worktree
- wh.feat-auth
- wh.fix-nav-323
- wh.hotfix-1.2
- wh.feat-web
- wh.docs
- wh.spike-graph
wh new feat/authworktree commands →
with agents
the git chores your agent should not spend turns on.
coding agents call wh the way you do. a skill teaches them the non-interactive commands, and a claude code hook makes wh the backend for its own worktrees.
cleanup, measured with claude code on opus (median of 5 runs): 5 turns instead of 9, 18s instead of 31s.
wh rm --dry-runwh for agents →
specification
small on purpose.
the size is the point. one static binary, git shelled out, the model called through the system curl. the web app is a next.js app you run yourself.
needs git, and curl for explain. both ship with macos and virtually every linux. installing builds from source today, so it also needs cargo.