2026-08-11 · 12 Min. Lesezeit · GitGraph
Ich habe einen nativen Git-Graph gebaut, damit ich VS Code nicht mehr für eine Extension öffne
GitGraph mit Claude Code — Tauri, Rust-Lanes, sicheres Git und was mich fast erwischt hat.
Ich machte immer denselben dummen Loop: VS Code öffnen, Git Graph öffnen, Branch anschauen, VS Code schließen. Der Editor war eine Steuer, jedes Mal nur für ein Bild der History.
Also baute ich GitGraph — eine kleine native App. Tauri 2, Rust unten, React oben. macOS zuerst, Windows und Linux im selben Tree. MIT, solo, open source.
So habe ich es wirklich mit Claude Code gebaut. Keine polierte „KI hat meine App geschrieben“-Story. Ich habe gesteuert. Das Modell hat viel getippt. Ich musste trotzdem wissen, wann es falsch lag.
Was ich wollte
- Echten Commit-Graphen, keine gefilterte Liste, die Parent-Kanten belügt
- Mehrere Repos in der Sidebar, Zustand beim Wechsel wiederhergestellt
- Stage / unstage / commit / stash ohne das Fenster zu verlassen
- Rechtsklick auf Refs und Commits für den Alltag
- Sicherheit: unbekannter Ordner darf keine Hooks des Repos ausführen
Das Letzte ist nicht verhandelbar.
Stack-Wahl (und warum nicht Electron)
Ich wollte eine System-App, kein Chrome mit Git-Make-up. Tauri 2 war der Sweet Spot: Rust für Prozesse und Graph-Mathe, Web-UI für Liste und Canvas.
Harte Teile
Filtern muss Commits entfernen, keine Geisterkanten lassen
Suche highlightet und springt, filtert nicht
Session-Restore ist Produkt, nicht Politur
Open source
Repo: github.com/mubashirjamali101/gitgraph
Eine Sache: Behandle das Repository als untrusted und den User als trusted. Am Tag eins in die Subprocess-Schicht verdrahten.
