v0.2.0
UI cards + four new tools — the tool family grows from five to nine tools, and git_diff / git_show now render as real UI cards in the Web GUI.
✨ New tools
git_branch— list / create / checkout / delete branches. Listing returns structuredbranches[](name/current/upstream); deletes requireforce: trueto drop an unmerged branch.git_show— inspect a commit (metadata + patch, or a numericstatsummary) or a single file's content at any revision (rev:path).git_restore— discard working-tree changes or unstage paths (staged: true), reporting the exactrestored[]list. Destructive; deployment policy can gate it viatools/pre-execute.git_merge— merge a branch/commit (--no-ff, custommessage,abortsupported). A merge conflict is a domain outcome: it returns the conflicting files (via porcelain v2) instead of failing.
🎨 UI cards
git_diffandgit_show(commit mode) project replayable diff cards throughoutput.presentationMeta— a pure unified-diff parser turns the diff text into per-fileoldText/newTextpairs that survive session-log replay.git_show(file mode) renders a line-numbered read card.- All nine tools get
presentCall/presentResult;git_diff/git_addattach filelocationsfor editor follow-along.
🔗 Compatibility
- Requires git ≥ 2.23 (now that
git restoreis used). - Still tested against DeepSeek Harness 0.1.0-rc.6.
✅ Quality
- Test suite grows to 53 vitest tests (6 unified-diff parser, 19 new integration tests) — all passing, plus full CI and real-harness verification.