31 points par xguru 2025-12-09 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Un outil CLI conçu pour traiter des tâches de développement multietapes répétitives via une boucle d’agents IA, comme lors de la mise en œuvre de projets de grande ampleur
  • Il appelle en continu Claude Code via un script Bash afin d’effectuer de petites modifications de code à chaque itération
    • Crée une nouvelle branche, modifie le code, puis exécute automatiquement le commit et le push
    • Crée une PR via la GitHub CLI et surveille l’état de la CI ainsi que les résultats de review avec gh pr checks
    • Si tous les checks et reviews requis passent, il merge ; en cas d’échec, il ferme la PR et abandonne la branche ainsi que les modifications, puis répète le cycle
  • Pour conserver le contexte entre les itérations, il utilise un fichier Markdown partagé comme mémoire externe, tel que SHARED_TASK_NOTES.md
    • À chaque itération, il résume ce qui a été fait et ce qu’il reste à faire selon une logique de « course de relais »
    • Par exemple, laisser une note comme « gestion nécessaire des entrées null dans la fonction Y » permet à l’itération suivante de la traiter en priorité, formant ainsi une boucle d’auto-amélioration
    • Les prompts sont conçus pour laisser un package de passation immédiatement compréhensible par les développeurs et agents suivants, plutôt que de longs logs inutiles
  • Fournit un pipeline d’automatisation complet couvrant l’ensemble du cycle de vie d’une PR
    • Création de branche → exécution de Claude Code → commit → création de PR → attente de la CI et des reviews → merge si validation → mise à jour de la branche principale → nettoyage puis itération suivante
    • Réutilise telles quelles les règles de code owners, checks obligatoires et environnements de preview du dépôt existant, tout en intégrant naturellement la review humaine dans le workflow
  • Divers flags de contrôle permettent de limiter le coût, le temps et le nombre d’essais
    • --max-runs définit le nombre maximal d’itérations ; 0 lance une boucle infinie
    • --max-cost fixe un plafond de coût en dollars, et --max-duration accepte une limite de temps au format 2h, 30m
    • On peut en combiner plusieurs pour définir des contraintes composées comme « au plus 10 exécutions, 5 dollars maximum et 1 heure maximum »
  • Des options d’intégration avec GitHub permettent aussi de contrôler finement la stratégie de branchement et l’organisation du dépôt
    • --merge-strategy permet de choisir entre squash / merge / rebase
    • --git-branch-prefix permet de définir la convention de nommage des branches, par exemple remplacer continuous-claude/ par feature/
    • Les flags --owner et --repo permettent d’indiquer explicitement le dépôt lorsque le remote n’est pas GitHub ou que la détection automatique est difficile
  • Le mode de stockage du contexte et les conditions d’arrêt peuvent être personnalisés
    • --notes-file permet d’utiliser un autre nom de fichier que SHARED_TASK_NOTES.md
    • --completion-signal et --completion-threshold permettent un arrêt anticipé si les agents affichent la mention « projet terminé » un certain nombre de fois
  • Inclut des fonctions de mode sûr et dry-run pour les tests, le débogage et l’expérimentation
    • --disable-commits désactive les commits, la création de PR et le merge réels afin de tester uniquement les modifications locales
    • --dry-run simule l’ensemble du flux et permet de voir dans les logs quelles commandes seraient exécutées
  • S’appuie sur git worktree pour prendre en charge une structure permettant d’exécuter plusieurs tâches en parallèle
    • --worktree <name> et --worktree-base-dir créent des worktrees indépendants afin d’exécuter en parallèle des tâches comme les tests ou la documentation dans des répertoires distincts
    • --cleanup-worktree nettoie le worktree en fin d’exécution, et --list-worktrees permet de voir les worktrees actuellement actifs
  • Requiert comme dépendances Claude Code CLI, GitHub CLI et jq, avec un script d’installation simple pour préparer rapidement l’environnement
    • Un script d’installation en une ligne permet d’installer continuous-claude dans ~/.local/bin ou /usr/local/bin
  • Cas d’usage concrets : particulièrement adapté aux tâches très répétitives comme l’extension de la couverture de tests, les refactorings de grande ampleur ou la correction automatique de code cassé après des mises à jour de dépendances
    • Là où Dependabot se limite aux mises à jour de version, cet outil agit comme une « version renforcée de Dependabot » en générant automatiquement jusqu’aux PR de correction de suivi à partir des release notes et des tests en échec
    • Il peut aussi servir à des travaux de longue haleine, comme découper une base de code monolithique en plusieurs modules ou convertir des callbacks en async/await, en créant et mergant plus de 20 PR à la suite
  • Le concept est proche des recherches Continuous AI·agentics de GitHub Next, avec une conception pensée aussi pour l’exécution simultanée de plusieurs agents spécialisés
    • Prend en charge un modèle où des agents aux rôles différents — tests, refactoring, ajout de fonctionnalités, etc. — avancent en parallèle sur plusieurs zones d’un monorepo
    • Même si certaines exécutions individuelles échouent, il permet d’expérimenter une stratégie itérative tolérante au gaspillage, fondée sur l’hypothèse d’une baisse des coûts et sur une « distribution de probabilité globalement orientée dans la bonne direction »
  • Dans l’ensemble, c’est un outil qui conserve tel quel le workflow de développement humain basé sur les PR, tout en ajoutant une couche d’agents IA chargée des tâches répétitives et du travail de finition, et qui peut être branché directement sur un dépôt de production

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.