Baton
Baton orchestre plusieurs agents de codage IA en parallèle avec des worktrees git isolés, suivi d’état et revue par diff avant d’ouvrir des Pull Requests.
Qu'est-ce que Baton ?
Baton est une application native terminal pour exécuter plusieurs agents de codage IA en parallèle. Elle orchestre les exécutions d’agents dans des espaces de travail git isolés, afin que chaque tâche s’exécute sans interférer avec les autres.
Son objectif principal est de réduire la charge de coordination lors de la revue et de l’intégration des sorties des agents. Baton fournit un suivi d’état pour chaque espace de travail, une revue des changements basée sur diff, et des contrôles git tels que le branching, les Pull Requests, et la navigation par fichiers par espace de travail.
Fonctionnalités principales
- Isolation par worktree pour tâches parallèles : Chaque espace de travail repose sur un vrai worktree git et sa propre branche, pour éviter que les exécutions d’agents ne se chevauchent (pas de conflits de stashing/switching entre espaces de travail).
- Orchestration multi-agents avec exécution CLI-native : Exécutez des agents de codage IA terminal en sessions terminal complètes (pas un wrapper simplifié). Le site liste le support de Claude Code, Codex, OpenCode, et Gemini CLI, ainsi que « tout agent CLI ».
- Suivi des espaces de travail et badges d’état : Des badges d’état étiquetés indiquent quand un agent attend une entrée, a réussi, ou a rencontré une erreur. Les espaces de travail sont regroupés dans un tableau de bord pour repérer où une attention est requise.
- Revue de changements git-aware : Un visualiseur diff propulsé par Monaco affiche les modifications de chaque agent, prend en charge les modes diff split et unifié, et inclut un rollback par fichier avant d’ouvrir une PR. Il supporte aussi la comparaison avec des branches autres que
main. - Gestion intégrée des espaces de travail : Créez rapidement des espaces de travail à partir d’une idée (nom de branche, titre et description générés automatiquement). Archivez les espaces terminés, et arrêtez/archivez/supprimez plusieurs espaces par lots.
- Modèles, recherche et navigation : Sauvegardez des commandes shell et prompts d’agents comme modèles réutilisables, effectuez une recherche floue de fichiers et une recherche plein texte (fzf + ripgrep), et naviguez dans l’historique des commits et des fichiers avec diffs par commit.
- Flux terminal et éditeur : Plusieurs onglets terminal par espace de travail avec division de volets, sortie searchable avec surlignage, et Shift+Enter pour entrée multi-lignes. L’éditeur inclut git blame, plus un visualiseur de fichiers basé sur Monaco.
- Actions Git GUI et création de PR : Fetch/pull/rebase/push et ouverture de Pull Requests vers GitHub ou GitLab depuis l’app en un clic (comme décrit sur la page).
- Préréglages d’agents et commandes personnalisées : Définissez plusieurs préréglages CLI d’agents avec modes de lancement, flags et scripts de démarrage personnalisés. Configurez des commandes d’agents personnalisées qui s’exécutent via outils terminal.
- Support serveur MCP : Les agents peuvent lancer de nouveaux espaces de travail Baton, exécuter des tâches en parallèle, et mettre à jour titres/descriptions d’espaces directement depuis la conversation (via serveur MCP intégré).
Comment utiliser Baton
- Lancez Baton et commencez par décrire ce que vous voulez construire.
- Baton crée un espace de travail isolé avec un worktree git et une branche dédiés, puis démarre l’agent immédiatement.
- Utilisez le tableau de bord et les badges d’état pour voir si un agent a terminé, a échoué, ou attend une entrée.
- Quand les changements sont prêts, ouvrez le visualiseur diff pour examiner les modifications de l’agent, annulez les fichiers indésirables individuellement, puis ouvrez une Pull Request depuis l’app.
- À mesure que vous terminez les tâches, archivez les espaces de travail finis pour organiser la barre latérale.
Cas d’usage
- Développement de fonctionnalités en parallèle avec branches isolées : Créez des espaces de travail séparés pour plusieurs tâches de codage afin que chaque exécution d’agent opère dans son propre worktree git, puis revoyez et PR chaque tâche une fois terminée.
- Sortie d’agent avec revue préalable pour PR plus sûres : Utilisez le visualiseur diff Monaco (split/unifié) pour inspecter les changements par agent fichier par fichier, annulez des fichiers spécifiques, puis ouvrez une PR une fois satisfait.
- Gestion des prompts d’agents nécessitant une entrée : Surveillez les badges d’état « input » quand un agent vous attend, répondez et continuez sans basculer entre onglets.
- Investigation des changements de code : Utilisez git blame et vues d’historique des commits dans Baton pour tracer les changements de lignes vers les commits, et inspectez l’historique des fichiers avec diffs (incluant stats ligne par ligne et suivi des renommages via comportement git history).
- Réutilisation de commandes et prompts éprouvés : Sauvegardez des commandes shell et prompts d’agents comme modèles, puis exécutez-les dans différents espaces de travail depuis la barre d’outils.
FAQ
Quels agents de codage IA Baton prend-il en charge ?
Le site liste explicitement Claude Code, Codex (Codex CLI), OpenCode et Gemini CLI, et précise que Baton peut exécuter tout agent CLI.
Comment Baton évite-t-il les conflits de fusion entre exécutions d’agents ?
Baton isole chaque espace de travail dans son propre worktree git avec une branche dédiée. La page décrit cela comme un moyen d’empêcher les exécutions d’agents de s’interférer, évitant le besoin de stasher/basculer entre tâches.
Que signifie l’état « input » ?
Dans l’interface de surveillance des espaces de travail, un badge input indique que l’agent attend votre saisie.
Puis-je examiner les changements avant d’ouvrir une PR ?
Oui. Baton inclut un visualiseur de diff pour examiner ce que chaque agent IA a modifié et permet de restaurer des fichiers individuels avant d’ouvrir une Pull Request.
Baton fonctionne-t-il comme un outil basé sur le terminal ?
Oui. Le produit est décrit comme « construit autour du terminal », avec une exécution d’agents native CLI et des fonctionnalités terminal comme les onglets, les divisions de volets et la recherche dans les sorties.
Alternatives
- Git local + exécutions manuelles d’agents avec branches séparées : Vous pouvez exécuter les agents vous-même par branche/worktree, puis examiner manuellement les diff et ouvrir des PR ; cela manque généralement du tableau de bord de surveillance centralisé et de la gestion intégrée des diff/blame/espaces de travail de Baton.
- Fonctionnalités IDE intégrées pour assistants IA : Les outils IA basés sur IDE offrent chat d’agents et suggestions de code dans l’éditeur, mais ne proposent pas le même modèle d’exécution parallèle isolée par worktree et flux de travail multi-agents centré sur le terminal décrit pour Baton.
- Outils d’orchestration de tâches/agents sans isolation par worktree git : Les plateformes d’orchestration générales peuvent coordonner plusieurs exécutions d’agents, mais Baton met l’accent sur l’utilisation de vrais worktrees et branches git par tâche pour séparer les sorties des agents en vue de leur examen.
- Flux de travail de revue axés sur le contrôle de version (diff + outils PR) : Les outils de revue de code aident à inspecter les changements et gérer les PR, mais ne les combinent généralement pas avec une exécution parallèle d’agents IA et un suivi d’état au niveau des espaces de travail.
Alternatives
BotBoard
Gérez les agents IA comme une équipe : backlog partagé, contexte structuré et workflow de revue humaine pour assigner, suivre et approuver.
GitBoard
GitBoard est une app native macOS pour GitHub Projects : consultez votre kanban, filtrez par statut, recherchez des issues, créez ou assignez depuis la barre.
Biji
Biji est une plateforme polyvalente conçue pour améliorer la productivité grâce à des outils et des fonctionnalités innovants.
Codex Plugins
Utilisez Codex Plugins pour regrouper des skills, intégrations d’app et serveurs MCP en workflows réutilisables afin d’étendre l’accès à Gmail, Google Drive et Slack.
Falconer
Falconer est une plateforme de connaissances qui se met à jour automatiquement pour équipes rapides : écrivez, partagez et trouvez une documentation interne fiable.
OpenFlags
OpenFlags est un système open source de feature flags auto-hébergé pour déploiement progressif : évaluation locale via SDK et contrôle REST.