agent-loop
Fait tourner des agents de code sur vos dépôts à intervalle régulier, sans surveillance, sur plusieurs comptes fournisseurs, sans épuiser aucun d'eux ni affamer les humains qui les partagent. Publié sur npm sous @tonoid/agent-loop.
Fait tourner des agents de code sur vos dépôts à intervalle régulier, sans surveillance, sur plusieurs comptes fournisseurs, sans épuiser aucun d'eux ni affamer les humains qui les partagent. Publié sur npm sous @tonoid/agent-loop.

Lancer un agent de code à la main fonctionne, jusqu'au jour où l'on veut qu'il tourne à quatre heures du matin. Toutes les questions qu'on n'avait jamais eu à trancher deviennent alors bloquantes : sur quel compte lancer ce travail, que se passe-t-il quand ce compte atteint sa limite de cinq heures en cours de route, comment savoir si l'agent travaille ou s'il attend depuis une heure une réponse que personne ne lui donnera, et qui nettoie le worktree quand il termine à 03h38 plutôt qu'à l'heure pile. Cron sait démarrer des choses. Il ne sait ni décider, ni surveiller, ni ranger, et un agent que personne ne regarde a besoin des trois.
Une seule ligne de cron pour toute la machine. Les jobs sont des dossiers versionnés à côté du service qu'ils pilotent : ajouter un job est une pull request, pas une modification de crontab. Un routeur conscient des quotas choisit le compte qui a le plus de marge, met de côté la réserve déclarée par chaque compte pour que les humains qui le partagent continuent de travailler, et s'arrête à un plafond quotidien de lancements. Chaque worker reçoit son propre worktree git et son propre panneau de terminal. Les labels sur l'issue ou la pull request font office de machine à états : la mémoire de la boucle survit à un redémarrage et reste lisible dans l'interface GitHub. Trois types de jobs sont fournis : un builder qui transforme les issues en pull requests, un reviewer qui les relit depuis un compte différent de celui qui les a écrites, et une routine qui tourne à heure fixe. Quand un worker est réellement bloqué et attend un humain, vous recevez une notification. C'est la seule chose pour laquelle la boucle vous dérangera.
Les développeurs et les petites équipes qui utilisent déjà Claude Code ou Codex à la main et veulent que le même travail se fasse pendant la nuit, tout en partageant leurs comptes fournisseurs avec d'autres personnes : « laisse tourner » doit alors vouloir dire « sans vider le compte dont tout le monde a besoin le lendemain matin ».
ghEn ligne, sous licence MIT, publié sous @tonoid/agent-loop. Code généré avec Claude Code, puis testé et relu manuellement, et déjà en production sur nos propres chaînes de contenu et de digest. Il dépend de herdr, et ce n'est pas accessoire : chaque worker est un agent herdr, il n'existe pas d'autre manière d'en lancer un. GitHub uniquement, les labels servant de machine à états. Les workers tournent sans bac à sable et sans demande de permission, ce qui les rend autonomes et justifie de donner à la boucle son propre compte. Ouvert aux issues et aux PR.