Repository navigation
v0.29.0
wtm opens up to other tools with a live event stream, and works on several worktrees at once.
Highlights
wtm eventsstreams every worktree change as it happens, as JSON Lines for editors, terminal plugins and agents. → Event streamwtm createandwtm cleantake several worktrees in one run:wtm create feat/a feat/b. → Recipeswtm execruns one command in several worktrees in parallel, each with its own ports:wtm exec --all -- pnpm test. → Recipes
Breaking
wtm create --output jsonandwtm clean --output jsonanswer with an envelope: read.results[0]. → Migrating to 0.29- Exit code
21for any command run outside a git repository (was1). → Migrating to 0.29 - Exit code
19for an interactive cancellation (was0), sowtm create x && wtm go xstops there. → Migrating to 0.29
Added
wtm eventsoutside a repository follows every repository wtm has been used in. → Every repository at onceworktree.provisionedandworktree.deprovisionedevents tell when a worktree's hooks have run, and whether they passed.WTM_CORRELATION_IDtags the events a command publishes, so a tool recognises its own. → Integrationswtm version --output jsonreports the version of each machine contract, for integrations to check compatibility.- Locked worktrees (
git worktree lock) are refused bycleanandpruneunless--force, and marked inlistandtree. wtm uicreates and deletes several worktrees at once, and picks up changes made elsewhere immediately.
Changed
wtm env --checkexits18on drift, ready for CI.wtm checkoutandwtm extractask the same questions ascreateand always show a recap before acting.wtm envreports a count per file and only the keys left to handle; warnings go to stderr.- Invalid flag values and branch names git would reject are refused upfront with exit
2, before anything is created.
Fixed
wtm relocate --torewritesbase_patheven when no worktree has to move.wtm createandwtm checkoutreject an unknown--env-frombefore creating a half-provisioned worktree.- A branch can no longer be its own parent (
create b --from b). wtm extractno longer ignores--fromand--ffwhen the target is picked in the wizard.