Claude Code hat jetzt native Worktree-Unterstützung (und sie ist gut)

BBetter Stack
Computing/SoftwareInternet Technology

Transcript

00:00:00Claude Code hat in letzter Zeit
00:00:02unglaublich viele Updates erhalten – von SSH-Support für Claude Desktop,
00:00:05App-Vorschauen und GitHub-Integration
00:00:07bis hin zum Simple-Mode im Terminal,
00:00:09der Skills, Plugins und benutzerdefinierte Tools entfernt
00:00:11und so einfache Aufgaben erleichtert.
00:00:13Das bisher größte Update ist jedoch der native Worktree-Support.
00:00:16Das bedeutet, dass eure Agenten an mehreren Features
00:00:18oder Bugfixes isoliert arbeiten können,
00:00:20ohne dass ihr manuell etwas konfigurieren müsst.
00:00:23Aber wurde das zu früh veröffentlicht,
00:00:25da viele Entwickler bereits grundlegende Probleme haben?
00:00:28Abonniert den Kanal und legen wir los.
00:00:30Gits Worktrees mit Coding-Agenten zu nutzen, ist nichts Neues.
00:00:33Claude Desktop bietet das tatsächlich schon eine Weile an,
00:00:35und es gibt viele Plugins oder Tools, die das unterstützen,
00:00:37wie Claude Squad, worüber wir bereits ein Video gemacht haben.
00:00:41Einer der Gründe, warum ich es persönlich bisher nicht genutzt habe,
00:00:43ist der mentale Aufwand bei der manuellen Einrichtung.
00:00:46Hoffentlich macht dieses neue Feature in Claude Code
00:00:49es mir jetzt viel einfacher.
00:00:50Probieren wir es aus.
00:00:51Hier ist eine einfache To-do-App, die Claude in React gebaut hat.
00:00:54Nur zu Testzwecken – ich würde so eine App sonst
00:00:56für keinen anderen Grund bauen.
00:00:58Wie auch immer, ich würde gerne einen Dark-Mode-Schalter hinzufügen,
00:01:01weil das Weiß meine Augen blendet.
00:01:02Außerdem möchte ich die Liste im Local Storage speichern,
00:01:04da sie beim Aktualisieren der Seite aktuell verloren geht.
00:01:07Und ich möchte To-dos bearbeiten können.
00:01:10Normalerweise würde ich all das in einen Prompt packen:
00:01:12Dark-Mode, Local Storage
00:01:14und die Bearbeitungsfunktion.
00:01:16Das Problem dabei ist: Wenn eines dieser Features einen Bug hat,
00:01:20muss ich am gesamten Paket arbeiten.
00:01:22Die anderen Features verzögern sich also beim Release,
00:01:25da alles im selben PR oder im selben Branch liegt.
00:01:28Aber mit Worktrees
00:01:28kann ich an diesen Features in separaten Branches arbeiten –
00:01:31gleichzeitig auf meinem lokalen Rechner,
00:01:33ohne jeglichen manuellen Aufwand.
00:01:35Und falls es bei einem Feature ein Problem gibt,
00:01:37kann ich die anderen beiden trotzdem pushen
00:01:39und an dem einen in seinem eigenen Branch weiterarbeiten.
00:01:41Ich zeige euch mal, wie das geht.
00:01:42Wenn ich Claude Code mit dem Flag “-w” starte,
00:01:45erstellt es mir einen Worktree
00:01:47mit einem zufälligen Namen, den Claude auswählt.
00:01:49Wartet mal, “Lacan”?
00:01:50Okay.
00:01:52Wenn ich meinem Worktree aber einen Namen geben will,
00:01:54setze ich den Namen einfach hinter das “-w” Flag,
00:01:56wie ich es hier unten mache.
00:01:58Das erstellt mir hier drüben einen neuen Worktree
00:02:00und gleichzeitig einen neuen Branch,
00:02:02löscht aber den zuvor erstellten Worktree nicht.
00:02:05Behaltet das im Hinterkopf,
00:02:06falls ihr viele temporäre Worktrees erstellt.
00:02:08Im “.claude”-Verzeichnis des Projekts unter “worktrees”
00:02:11können wir unseren Worktree ansehen
00:02:13und alle zugehörigen Codedateien finden.
00:02:15Hinweis: Worktrees funktionieren nur,
00:02:16wenn euer Projekt mit Git initialisiert ist
00:02:18und ihr mindestens einen Commit gemacht habt.
00:02:20Jetzt kann ich alle Features für dieses Projekt
00:02:22in verschiedenen Worktrees implementieren.
00:02:24Nun sind alle drei Features fertig,
00:02:26und wir sehen hier, dass der Dark-Mode-Schalter funktioniert.
00:02:29In diesem hier gibt es keinen Dark-Mode,
00:02:31aber ich kann das To-do bearbeiten.
00:02:32Ich füge ein neues hinzu und ändere es hier.
00:02:35Bei der Local-Storage-Version scheint es ein Problem zu geben,
00:02:38aber genau hier liegt der Vorteil von Worktrees,
00:02:40da ich sehe, dass die anderen beiden gut funktionieren.
00:02:43Ich könnte diese also committen oder einen Pull-Request erstellen
00:02:44und mich dann voll auf diesen hier konzentrieren,
00:02:46indem ich eine dedizierte Claude-Code-Session nutze,
00:02:48um den Fehler zu beheben.
00:02:49Wenn ich mit dem Worktree fertig bin,
00:02:51kann ich ihn entweder behalten, um später darauf zurückzukommen,
00:02:53oder ihn von meinem System löschen.
00:02:54Wenn ich mich entscheide, ihn zu behalten,
00:02:55kann ich genau zu diesem Worktree zurückkehren,
00:02:58indem ich den Namen angebe, wie ihr hier seht.
00:03:00Ich könnte sogar Sessions aus meinem aktuellen Worktree fortsetzen
00:03:03oder Strg + W drücken, um alle Sessions in diesem Projekt zu sehen.
00:03:06Obwohl ich mir nicht ganz sicher bin,
00:03:07wie er die aktuelle Session ermittelt,
00:03:08da ich mich gerade im Main-Branch befinde.
00:03:11Apropos aktuelle Session:
00:03:12Wenn ihr direkt im Worktree-Verzeichnis arbeiten wollt,
00:03:15könnt ihr entweder direkt dorthin navigieren,
00:03:16über “cd .claude/worktrees” und so weiter,
00:03:19oder ihr führt “worktrees” mit dem “-tmux” Flag aus,
00:03:21was euch direkt in das Verzeichnis bringt.
00:03:23Und wenn ich ein neues Split-Pane öffne,
00:03:26seht ihr, dass ich in diesem Worktree bin
00:03:27und durch die Worktree-spezifischen Dateien navigieren kann.
00:03:30Aber das Coolste an Worktrees ist,
00:03:31dass sie Sub-Agenten unterstützen.
00:03:33Das heißt, ich kann verschiedene Sub-Agenten beauftragen,
00:03:35an mehreren Features in verschiedenen Branches zu arbeiten –
00:03:38alles innerhalb derselben Claude-Code-Session.
00:03:40Und wenn ihr Worktree-Support in benutzerdefinierten Sub-Agenten wollt,
00:03:42sodass ein Sub-Agent automatisch einen Worktree startet,
00:03:45müsst ihr nur dieses “isolation: worktree”
00:03:48in das Frontmatter einfügen, und Claude kümmert sich um den Rest.
00:03:50Insgesamt bin ich von diesem Feature wirklich beeindruckt.
00:03:52Ich werde es definitiv
00:03:54häufiger nutzen,
00:03:55insbesondere mit den neuen Worktree-Hooks,
00:03:57die es erlauben, Worktrees ohne Git zu nutzen –
00:04:00also SVN, Jujutsu usw. –
00:04:02und Skripte automatisch auszuführen,
00:04:04wenn man einen neuen Worktree erstellt.
00:04:05Leider scheinen viele Leute
00:04:08Probleme mit Worktrees zu haben,
00:04:09seit den letzten Claude-Code-Updates,
00:04:11anscheinend wegen eines fehlerhaften Feature-Flags.
00:04:13Glücklicherweise kann man Claude Code dazu bringen, seine eigene Binary
00:04:17als Übergangslösung zu reparieren.
00:04:18Hoffentlich liefert das Team bald einen richtigen Fix nach,
00:04:21damit mehr Leute dieses tolle Feature nutzen können.
00:04:24Apropos tolle Features:
00:04:25Wenn ihr React-Entwickler seid und ein CLI-Tool sucht,
00:04:28das automatisch React-Anti-Patterns erkennt,
00:04:31dann schaut euch dieses Video von Andris an,
00:04:33in dem er React Doctor vorstellt.

Key Takeaway

Die neue native Worktree-Unterstützung in Claude Code revolutioniert den Workflow für Entwickler, indem sie eine saubere, automatisierte Isolation von Features und Bugfixes durch KI-Agenten ermöglicht.

Highlights

Claude Code bietet jetzt nativen Git Worktree-Support für isolierte Feature-Entwicklung.

Die Aktivierung erfolgt einfach über das "-w

Timeline

Einführung in Claude Code Updates

Der Sprecher gibt einen Überblick über die jüngsten rasanten Entwicklungen bei Claude Code, darunter SSH-Support und GitHub-Integration. Besonders hervorgehoben wird der neue Simple-Mode, der durch das Entfernen komplexer Tools einfache Aufgaben im Terminal beschleunigt. Das zentrale Thema des Videos ist jedoch der neue native Worktree-Support, der als bisher größtes Update bezeichnet wird. Dieser ermöglicht es KI-Agenten, an mehreren Bugfixes oder Features gleichzeitig zu arbeiten, ohne dass der Nutzer manuell eingreifen muss. Dennoch wird die Frage aufgeworfen, ob das Feature angesichts technischer Startschwierigkeiten bei einigen Entwicklern zu früh veröffentlicht wurde.

Vorteile der Worktree-Isolation

In diesem Abschnitt erklärt der Sprecher, warum Worktrees für die Arbeit mit Coding-Agenten so wertvoll sind. Bisher war die manuelle Einrichtung von Git Worktrees oft mit hohem mentalem Aufwand verbunden, weshalb viele Entwickler darauf verzichteten. Anhand eines Beispiels einer React-To-do-App wird demonstriert, wie problematisch es ist, mehrere Features wie Dark-Mode und Local Storage in einem einzigen Prompt zu kombinieren. Wenn ein Fehler in einem Feature auftritt, verzögert dies das gesamte Release-Paket, da alles im selben Branch liegt. Worktrees lösen dieses Problem, indem sie jedes Feature in eine eigene, isolierte Umgebung auf dem lokalen Rechner auslagern.

Praktische Anwendung und Navigation

Der Sprecher zeigt die technische Umsetzung durch den Befehl mit dem Flag "-w", welches automatisch einen neuen Worktree und Branch erstellt. Es wird erläutert, dass diese Verzeichnisse im Pfad ".claude/worktrees" gespeichert werden und das Projekt bereits mit Git initialisiert sein muss. Der Nutzer kann den Worktrees spezifische Namen geben, um die Übersicht zu behalten, wobei alte Worktrees nicht automatisch gelöscht werden. Ein großer Vorteil ist die Möglichkeit, fehlerhafte Features isoliert zu fixen, während funktionierende Teile bereits committet werden können. Über Tastenkombinationen wie Strg + W lassen sich zudem alle aktiven Sessions innerhalb eines Projekts schnell verwalten.

Fortgeschrittene Features: Sub-Agenten und Tmux

Dieser Teil fokussiert sich auf die tiefergehende Integration und Automatisierung innerhalb von Claude Code. Mit dem "-tmux" Flag können Entwickler direkt in das spezifische Worktree-Verzeichnis springen und dort in einer optimierten Terminal-Umgebung arbeiten. Das beeindruckendste Feature ist laut Sprecher die Unterstützung von Sub-Agenten, die parallel an verschiedenen Branches innerhalb einer Sitzung arbeiten. Durch den Eintrag "isolation: worktree" im Frontmatter einer Konfigurationsdatei lässt sich dieses Verhalten für benutzerdefinierte Tools automatisieren. Dies erlaubt eine massive Skalierung der Produktivität, da die KI verschiedene Aufgabenstränge vollkommen eigenständig und voneinander getrennt bearbeitet.

Hooks, alternative Systeme und Fazit

Zum Abschluss geht der Sprecher auf die Erweiterbarkeit durch Worktree-Hooks ein, die sogar die Nutzung von Nicht-Git-Systemen wie SVN oder Jujutsu ermöglichen. Diese Hooks können auch dazu genutzt werden, Skripte beim Erstellen eines neuen Worktrees automatisch auszuführen. Trotz der Begeisterung wird erwähnt, dass ein fehlerhaftes Feature-Flag derzeit bei vielen Nutzern zu Problemen führt. Ein interessanter Workaround besteht darin, Claude Code anzuweisen, seine eigene Binärdatei zu reparieren, bis ein offizieller Fix erscheint. Das Video endet mit einer Empfehlung für das Tool "React Doctor", welches Entwicklern hilft, Anti-Patterns in ihrem Code aufzuspüren.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video