coding-agent-work-loop
English · 中文
Transformez les commentaires des issues / PR GitHub en entrée et sortie de votre IA locale. Un timer systemd + quelques scripts shell + deux labels GitHub vous permettent de dialoguer avec l'IA directement depuis l'interface web GitHub (ou l'application iOS gh).
Cette compétence est conçue pour être agnostique vis-à-vis de l'agent. Le worker CLI est sélectionné par
WORKER_AGENT=<nom>danscoding-agent.config; les scripts de démon / dispatch passent par une couche pilote fine qui branche différents agents CLI. Pilotes intégrés :claude(par défaut, Claude Code),opencode(sst/opencode),codex(OpenAI Codex CLI),cursor(Cursor Agent CLI). Ajoutez le vôtre viascripts/drivers/<nom>.sh— voir docs/drivers.md.
Quand l'invoquer
L'utilisateur appelle cette compétence depuis l'environnement d'exécution de l'agent hôte via /coding-agent-work-loop <commande> ou une requête en langage naturel. Formes courantes :
- "Installe ce démon sur le projet X" → exécuter le flux
setup - "Quel est l'état de l'agent de codage ?" → exécuter le flux
status - "Désactive l'agent de codage sur le projet X" → exécuter le flux
disable
Ce que vous (l'agent) devez faire lors de l'invocation
setup (déploiement sur un projet hôte)
L'utilisateur vous donne un chemin de projet hôte (par ex. ~/github/monprojet). Étapes :
- Vérifier que le chemin existe et est un dépôt git (contient
.git) - Vérifier les dépendances :
git,gh(doit être connecté viagh auth login),tmux,jq,flock,systemctl, ainsi que le worker CLI sélectionné parWORKER_AGENT(par défautclaude; autres pilotes intégrés :opencode,codex,cursor). Chacun doit être résolu viacommand -v. - Exécuter :
bash "${CLAUDE_PLUGIN_ROOT:-$HOME/.agents/skills/coding-agent-work-loop}/setup.sh" <chemin-du-projet-hote>$CLAUDE_PLUGIN_ROOTest la variable d'environnement de la racine de la compétence injectée par Claude Code ; si absente, utiliser le chemin canonique~/.agents/skills/coding-agent-work-loop. setup.shaffiche des instructions pour la suite une fois terminé — relayez-les textuellement à l'utilisateur.
status
L'utilisateur veut l'état. Étapes :
systemctl --user list-timers 'coding-agent-poll@*' --no-pager— santé du timersystemctl --user list-units 'coding-agent-poll@*.service' --no-pager— dernière exécution- Pour chaque fichier
~/.config/coding-agent-work-loop/*.confenregistré :tail -20 $STATE_DIR/poll.log(lireSTATE_DIRdepuis le fichier de configuration)gh issue list --repo $REPO --label pending/agent+gh pr list --repo $REPO --label pending/agent
- Résumer pour l'utilisateur
cleanup (après acceptation / rejet d'une PR)
L'utilisateur a fusionné une PR ou souhaite abandonner le travail sur une issue. Étapes :
- Confirmer que l'issue est terminée (PR fusionnée ou fermée)
- Exécuter :
Drapeaux optionnels :bash "$CLAUDE_PLUGIN_ROOT/scripts/cleanup-issue.sh" <numéro-issue>--force(nettoyer même si le worker est occupé),--keep-worktree(ne tuer que la session),--delete-branch(supprimer également la branche locale)
Ce que fait cleanup-issue.sh :
- Vérification d'occupation (refuse par défaut sauf si
--force) - Exécute le
CLEANUP_HOOKau niveau du projet (configuré danscoding-agent.config, par ex. démanteler les ports tailscale, arrêter le serveur de dev) - Tue la session tmux du worker
- Supprime l'arbre de travail (par défaut)
- Supprime optionnellement la branche locale
disable
L'utilisateur souhaite arrêter un projet. Étapes :
- Confirmer le nom de l'instance (
systemctl --user list-timers 'coding-agent-poll@*') systemctl --user disable --now coding-agent-poll@<clé>.timer- Optionnel : supprimer les liens symboliques d'instance
~/.config/systemd/user/coding-agent-poll@<clé>.{service,timer}(laisser le modèle réel intact) - Optionnel : supprimer
~/.config/coding-agent-work-loop/<clé>.conf - Rapporter
Ce qui n'atterrit PAS dans le projet hôte
Après setup, l'arbre de travail du projet hôte reçoit seulement deux choses :
- Une ligne
.gitignore(excluantcoding-agent.config) - Un
coding-agent.config(gitignoré, configuration)
Les scripts, unités systemd, état, journaux résident tous en dehors du projet hôte (répertoire de la compétence + ~/.config/ + ~/.local/state/).
Architecture complète
Voir le README.md associé.
Liste des fichiers
setup.sh— amorcer un projet hôtescripts/— scripts de démon et de dispatch (jamais copiés dans le projet hôte)prompts/— modèles de prompt initial du worker (surchargeables via.agents/skills/coding-agent-work-loop/prompts/du projet hôte)systemd/— unités modèles[email protected]/.timer; setup les copie dans~/.config/systemd/user/coding-agent.config.example— modèle de configuration