Claude Code supporte désormais nativement les Worktrees (et c'est génial)

BBetter Stack
Computing/SoftwareInternet Technology

Transcript

00:00:00Claude Code a reçu un nombre impressionnant
00:00:02de mises à jour récemment, du support SSH de Claude Desktop,
00:00:05aux aperçus d'applications, en passant par l'intégration GitHub
00:00:07jusqu'au mode simple dans le terminal,
00:00:09qui retire les compétences, les plugins et les outils personnalisés,
00:00:11facilitant ainsi les tâches basiques.
00:00:13Mais la plus grosse mise à jour est de loin le support natif des worktrees,
00:00:16ce qui signifie que vos agents peuvent travailler sur plusieurs fonctionnalités
00:00:18ou corrections de bugs de manière isolée
00:00:20sans que vous n'ayez à configurer quoi que ce soit manuellement.
00:00:23Mais est-ce que cela est sorti trop tôt,
00:00:25alors que de nombreux développeurs rencontrent déjà des problèmes de base ?
00:00:28Abonnez-vous, et entrons dans le vif du sujet.
00:00:30Utiliser les worktrees de Git avec des agents de codage n'a rien de nouveau.
00:00:33En fait, Claude Desktop le propose depuis un certain temps,
00:00:35et il existe de nombreux plugins ou outils qui le supportent,
00:00:37comme Claude Squad, sur lequel nous avons déjà fait une vidéo.
00:00:41Mais l'une des raisons pour lesquelles je ne l'ai personnellement pas fait
00:00:43est que le faire manuellement peut augmenter la charge mentale,
00:00:46et j'espère que cette nouvelle fonctionnalité dans Claude Code
00:00:49rendra cela beaucoup plus facile pour moi.
00:00:50Essayons.
00:00:51Voici donc une application de listes de tâches basique faite par Claude en React.
00:00:54Pour les besoins du test, je n'aurais pas construit cette application
00:00:56pour une autre raison que celle de tester.
00:00:58Mais bref, j'aimerais ajouter un bouton pour le mode sombre
00:01:01parce que ça m'éblouit les yeux.
00:01:02J'aimerais aussi ajouter la possibilité de sauvegarder cela
00:01:04dans le stockage local car si je rafraîchis, rien n'est enregistré.
00:01:07Et j'aimerais ajouter la possibilité de modifier les tâches.
00:01:10D'habitude, je mettrais toutes ces fonctionnalités dans un seul prompt :
00:01:12mode sombre, stockage local,
00:01:14et modification des tâches.
00:01:16Le problème est que si l'une de ces fonctionnalités présente un bug,
00:01:20je devrais alors retravailler sur l'ensemble,
00:01:22retardant ainsi la sortie des autres fonctionnalités
00:01:25car tout se trouve sur la même PR ou la même branche.
00:01:28Mais avec les worktrees,
00:01:28je peux travailler sur ces fonctionnalités dans des branches séparées
00:01:31en même temps sur ma machine locale
00:01:33sans avoir à faire de configuration manuelle.
00:01:35Et s'il y a un problème avec l'une de ces fonctionnalités,
00:01:37je peux pousser les deux autres
00:01:39et travailler sur celle qui reste sur sa propre branche.
00:01:41Laissez-moi vous montrer comment faire.
00:01:42Si je lance Claude Code avec le flag -w,
00:01:45cela me créera un worktree
00:01:47avec un nom aléatoire choisi par Claude.
00:01:49Attendez, Lacan ?
00:01:50D'accord.
00:01:52Mais si je voulais donner un nom à mon worktree,
00:01:54je mettrais un nom après le flag -w,
00:01:56ce que je vais faire ici.
00:01:58Cela me crée un nouveau worktree juste là,
00:02:00et cela crée également une nouvelle branche,
00:02:02mais sans supprimer le précédent worktree créé.
00:02:05Gardez donc cela à l'esprit
00:02:06si vous finissez par créer beaucoup de worktrees temporaires.
00:02:08Dans le répertoire .claud du projet, sous worktrees,
00:02:11nous pouvons voir notre worktree
00:02:13et consulter tous les fichiers de code qui lui sont associés.
00:02:15Notez que les worktrees ne fonctionnent que
00:02:16si votre projet a git initialisé
00:02:18et si vous avez fait au moins un commit.
00:02:20Maintenant, je peux implémenter toutes les fonctionnalités
00:02:22de ce projet dans différents worktrees.
00:02:24Voilà, les trois fonctionnalités sont terminées
00:02:26et on peut voir ici que le bouton du mode sombre fonctionne.
00:02:29Dans celui-ci, il n'y a pas de mode sombre,
00:02:31mais je peux modifier la tâche.
00:02:32J'en ajoute une nouvelle et je la modifie ici.
00:02:35Et pour celui du stockage local, il semble y avoir un souci,
00:02:38mais c'est tout l'avantage des worktrees
00:02:40car je peux voir que les deux autres fonctionnent bien.
00:02:43Je pourrais donc les committer ou créer une pull request
00:02:44et me concentrer sur celui-ci
00:02:46en utilisant une session Claude Code dédiée
00:02:48pour corriger ce problème.
00:02:49Et quand j'en ai fini avec le worktree,
00:02:51je peux soit le garder pour y revenir plus tard,
00:02:53soit le supprimer de mon système.
00:02:54Si je décidais de le garder,
00:02:55je pourrais revenir exactement sur le même worktree
00:02:58en spécifiant son nom, comme vous pouvez le voir ici.
00:03:00Je pourrais même reprendre des sessions de mon worktree actuel
00:03:03ou appuyer sur Control + W pour voir toutes les sessions du projet.
00:03:06Même si je ne suis pas tout à fait sûr
00:03:07de la façon dont il détermine la session actuelle,
00:03:08puisqu'en ce moment je suis sur la branche principale.
00:03:11En parlant de session actuelle,
00:03:12si vous vouliez travailler depuis le répertoire du worktree,
00:03:15vous pourriez soit y naviguer directement
00:03:16en utilisant cd .claud/worktrees et ainsi de suite,
00:03:19soit lancer worktrees avec le flag tmux,
00:03:21ce qui vous amènera directement dans ce répertoire.
00:03:23Et si j'ouvre un nouveau panneau séparé,
00:03:26vous voyez que je suis dans ce worktree
00:03:27et je peux naviguer dans les fichiers spécifiques du worktree.
00:03:30Mais le plus cool avec les worktrees,
00:03:31c'est qu'ils supportent les sous-agents,
00:03:33ce qui signifie que je peux avoir différents sous-agents
00:03:35travaillant sur plusieurs fonctionnalités dans des branches différentes
00:03:38au sein de la même session Claude Code.
00:03:40Et si vous voulez le support des worktrees dans des sous-agents personnalisés,
00:03:42pour qu'un sous-agent lance automatiquement un worktree,
00:03:45il vous suffit d'ajouter “isolation: worktree”
00:03:48dans le front matter et Claude s'occupera du reste.
00:03:50Globalement, je suis vraiment impressionné par cette fonctionnalité
00:03:52et c'est quelque chose que je vais certainement
00:03:54utiliser davantage,
00:03:55particulièrement avec les nouveaux hooks de worktree
00:03:57qui permettent d'utiliser les worktrees sans git,
00:04:00comme SVN, jiu-jitsu, etc.,
00:04:02et aussi d'exécuter des scripts automatiquement
00:04:04lorsque vous créez un nouveau worktree.
00:04:05Mais malheureusement, il semble que beaucoup de gens
00:04:08aient rencontré des problèmes avec les worktrees
00:04:09depuis les dernières mises à jour de Claude Code
00:04:11à cause de ce qui ressemble à un flag de fonctionnalité cassé.
00:04:13Heureusement, vous pouvez demander à Claude Code de réparer son propre binaire
00:04:17comme mesure temporaire,
00:04:18mais j'espère que l'équipe proposera un vrai correctif plus tard
00:04:21pour que plus de gens puissent profiter de cette super fonctionnalité.
00:04:24En parlant de super fonctionnalités,
00:04:25si vous êtes un développeur React et que vous voulez un outil CLI
00:04:28pour détecter automatiquement les anti-patterns React,
00:04:31allez voir cette vidéo d'Andris
00:04:33qui présente React Doctor.

Key Takeaway

L'intégration native des worktrees dans Claude Code révolutionne le flux de travail des développeurs en permettant à des agents IA de traiter plusieurs tâches en parallèle de manière totalement isolée et automatisée.

Highlights

Introduction du support natif des Git Worktrees dans Claude Code pour une gestion de branches isolée.

Capacité de travailler simultanément sur plusieurs fonctionnalités sans conflit de configuration manuelle.

Utilisation du flag -w pour créer des environnements de travail temporaires avec des noms personnalisés.

Localisation des fichiers de travail dans le répertoire spécifique .claud/worktrees du projet.

Support des sous-agents permettant d'automatiser des tâches sur différentes branches au sein d'une même session.

Possibilité d'intégrer des hooks personnalisés pour utiliser les worktrees avec d'autres systèmes comme SVN ou JJ.

Existence d'un bug actuel lié aux flags de fonctionnalités, avec une solution temporaire via l'auto-réparation.

Timeline

Nouveautés de Claude Code et introduction aux Worktrees

Le narrateur commence par énumérer les récentes mises à jour majeures de Claude Code, incluant le support SSH et l'intégration GitHub. Il souligne que la fonctionnalité la plus marquante est le support natif des worktrees, qui permet d'isoler les corrections de bugs et les nouvelles fonctionnalités. Cette isolation évite aux développeurs les configurations manuelles fastidieuses souvent sources d'erreurs. L'enjeu est de savoir si cet outil est déjà assez mature pour un usage quotidien malgré certains problèmes de jeunesse signalés par la communauté. Cette introduction pose le cadre d'une amélioration significative de la productivité pour les utilisateurs de l'agent de codage d'Anthropic.

Avantages de l'isolation pour le développement parallèle

Cette section explique pourquoi l'utilisation manuelle des worktrees de Git est souvent délaissée à cause de la charge mentale qu'elle impose. L'auteur présente un cas concret avec une application de listes de tâches en React nécessitant trois améliorations distinctes : un mode sombre, le stockage local et l'édition de tâches. Plutôt que de tout mélanger dans une seule branche au risque de bloquer la production en cas de bug, les worktrees permettent de séparer chaque tâche. Si l'une des fonctionnalités échoue, les deux autres peuvent être déployées sans attendre la correction de la troisième. Cette méthode garantit une livraison continue plus fluide et réduit les dépendances risquées entre les différentes parties du code.

Démonstration technique et gestion des répertoires

L'auteur montre comment activer la fonctionnalité en utilisant la commande Claude Code avec le flag -w, générant ainsi un environnement de travail nommé aléatoirement ou spécifiquement. Il précise que ces fichiers sont stockés dans le dossier caché .claud/worktrees, permettant de visualiser le code source associé à chaque session. Une condition essentielle est mentionnée : le projet doit avoir Git initialisé avec au moins un commit pour que le système fonctionne. La démonstration prouve que l'on peut basculer entre les versions ou même revenir sur un worktree existant en spécifiant son nom. Cette flexibilité permet de mettre en pause une tâche complexe pour y revenir plus tard sans perdre l'état de l'avancement.

Navigation avancée, Tmux et sous-agents

Pour faciliter l'accès aux fichiers, l'utilisation du flag tmux est recommandée car elle ouvre directement le terminal dans le répertoire du worktree concerné. L'innovation la plus impressionnante réside dans le support des sous-agents qui peuvent travailler sur plusieurs branches simultanément au sein d'une seule session globale. En ajoutant une simple ligne de configuration dans le front matter, l'utilisateur peut automatiser l'isolation des tâches par les agents IA. L'auteur mentionne également l'existence de hooks de worktree qui étendent l'usage à d'autres systèmes de gestion de version comme SVN ou Jujutsu. Ces outils de scripts automatiques s'exécutent dès la création d'un nouvel environnement, optimisant encore davantage le workflow de développement.

Résolution de problèmes et conclusion

La vidéo se termine sur une note de prudence concernant certains bugs apparus suite aux dernières mises à jour de Claude Code. De nombreux utilisateurs ont rapporté des problèmes de lancement liés à un flag de fonctionnalité défectueux dans le binaire officiel. Paradoxalement, il est possible de demander à Claude Code de réparer son propre code binaire en tant que solution temporaire en attendant un patch officiel. Malgré ces instabilités mineures, l'auteur reste très enthousiaste quant au potentiel de cet outil pour transformer la gestion de projet technique. Enfin, il invite les développeurs React à découvrir un autre outil nommé React Doctor pour nettoyer leurs applications.

Community Posts

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

Write about this video