Aller au contenu principal

Paralleliser Claude Code

Executer plusieurs instances de Claude Code en parallele est l’un des plus grands gains de productivite possibles. Claude etant leger, vous pouvez lancer plusieurs copies, assigner a chacune une tache differente, et les faire travailler simultanement comme une equipe virtuelle d’ingenieurs.

Le defi : les conflits de fichiers

Le principal probleme avec les instances paralleles est qu’elles pourraient tenter de modifier les memes fichiers simultanement, generant du code conflictuel ou invalide puisque chaque instance ignore ce que font les autres.

La solution : donner a chaque instance son propre espace de travail isole. Chaque instance travaille sur sa propre copie du projet, effectue ses modifications de maniere isolee, puis fusionne ses changements dans le projet principal.

Git Worktrees

Les worktrees Git sont parfaits pour ce workflow. Si votre projet est deja gere par Git, vous pouvez les utiliser immediatement. Ce sont des extensions du systeme de branches qui permettent de creer des copies completes de votre projet dans des repertoires separes.

Chaque worktree correspond a une branche separee. Vous pouvez avoir un dossier pour la fonctionnalite A et un autre pour la fonctionnalite B, chacun contenant une copie complete de votre codebase. Vous lancez ensuite des instances Claude Code separees dans chaque worktree, travaillant en isolation totale.

Une fois le travail termine, vous commitez et fusionnez dans la branche principale, comme n’importe quelle branche Git classique.

Automatiser la creation de worktrees

Ce processus peut sembler complexe, mais vous pouvez deleguer l’ensemble du workflow a Claude Code lui-meme avec un prompt qui demande de :

  • Creer un nouveau worktree git dans un dossier specifique
  • Creer des liens symboliques pour les dependances non suivies par Git
  • Lancer une nouvelle instance VS Code dans ce repertoire

Commandes personnalisees

Plutot que de copier-coller de longs prompts a chaque fois, vous pouvez creer des commandes slash personnalisees. Ajoutez un fichier .md dans .claude/commands pour creer une commande.

La commande peut utiliser $ARGUMENTS, qui sera remplace par les arguments passes. Par exemple :

  • /project:create_worktree feature_a cree un worktree nomme “feature_a”
  • /project:create_worktree develop cree un worktree nomme “develop”

Fusionner les changements

Quand les fonctionnalites sont terminees, vous pouvez aussi automatiser le processus de merge. Creez une autre commande personnalisee qui demande a Claude de :

  1. Naviguer dans le repertoire du worktree
  2. Examiner le dernier commit
  3. Revenir au repertoire racine
  4. Fusionner la branche du worktree
  5. Gerer automatiquement les eventuels conflits de merge

Resultats

Cette approche passe a l’echelle avec autant d’instances paralleles que vous pouvez gerer. Au lieu de travailler sequentiellement sur les fonctionnalites, plusieurs instances Claude developpent differentes parties de votre projet simultanement, chacune dans son environnement isole avant de reunir le travail.