Débogage automatisé avec Claude Code
Sur cette page
Jusqu’ici, Claude Code travaillait à votre demande, dans votre terminal. Il peut aussi travailler sans vous : chaque nuit, relever les erreurs de production, chercher leur cause et proposer des correctifs sous forme de pull requests. L’ancienne version du cours officiel consacrait une leçon à ce scénario ; celle-ci le reprend avec les outils actuels.
Le scénario
- Un workflow GitHub Actions se déclenche chaque nuit.
- Une étape récupère les erreurs des dernières 24 heures dans vos journaux, par exemple dans Amazon CloudWatch avec l’AWS CLI.
- Elle regroupe les erreurs identiques et en limite le nombre : une même erreur peut apparaître des milliers de fois, et dix erreurs bien analysées valent mieux qu’un torrent survolé.
- Claude cherche la cause de chaque erreur dans le code, écrit un correctif et un test qui la reproduit.
- Le workflow propose les correctifs dans une pull request, qu’un humain relit.
Le flux s’arrête à une pull request, jamais à un déploiement : l’agent enquête et propose, un humain relit et fusionne. L’automatisation s’arrête là où commence le risque de production.
Deux briques officielles
Le mode non interactif. claude -p "…" exécute une requête et s’arrête, sans session interactive : c’est ainsi qu’on appelle Claude Code depuis un script. On peut aussi lui passer des données par un tube, par exemple cat erreurs.txt | claude -p "Explique ces erreurs".
L’action GitHub. anthropics/claude-code-action@v1 exécute Claude Code dans un workflow GitHub Actions. La commande /install-github-app, lancée dans Claude Code, installe l’application GitHub de Claude, enregistre le secret et prépare le fichier de workflow. Avec une entrée prompt, l’action fonctionne sur n’importe quel événement, y compris une planification cron.
Le squelette du workflow
name: Débogage nocturne
on:
schedule:
- cron: "0 3 * * *"
jobs:
debug:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
id-token: write
steps:
- uses: actions/checkout@v6
- name: Relever les erreurs des dernières 24 heures
run: ./scripts/fetch_errors.sh > errors.txt # votre script : AWS CLI, regroupement, plafond
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
Lis errors.txt. Pour chaque erreur, retrouve la cause dans le code,
corrige-la et ajoute un test qui la reproduit. Décris chaque correctif
(symptôme, cause, remède) pour la pull request. Ne déploie rien.
claude_args: |
--allowedTools "Read,Edit,Write,Bash(npm test *)"
Avec un prompt en texte libre, Claude n’a accès au shell et à l’API GitHub que pour les outils que vous autorisez dans claude_args, avec --allowedTools. Accordez le strict nécessaire. L’étape qui ouvre la pull request, comme le script de relevé des erreurs, dépend de votre dépôt : la documentation de l’action en donne des exemples complets.
Ce que Claude apporte
Claude ne se contente pas de repérer une ligne d’erreur : il lit aussi le code et la configuration. Il peut ainsi reconnaître, par exemple, qu’un identifiant de modèle invalide ne touche que la configuration de production, et corriger au bon endroit. Chaque pull request devient un dossier complet pour le relecteur : le symptôme, la cause et le correctif, plutôt qu’un diff à deviner.
À vous de jouer
Un premier workflow planifié. Dans un dépôt de test, lancez /install-github-app depuis Claude Code, puis ajoutez un workflow planifié qui lit un fichier d’erreurs factices et produit un rapport dans le journal d’exécution, sans aucun droit d’écriture. Une fois le rapport jugé fiable, ajoutez les outils d’édition et la pull request.
Sources officielles : Claude Code GitHub Actions (documentation Claude Code : installation, exécution planifiée, outils autorisés) · CLI reference (documentation Claude Code :
claude -p,--allowedTools)
Points clés à retenir
- Claude Code peut travailler sans vous : relever les erreurs, chercher leur cause, proposer des correctifs.
- Le flux s’arrête à une pull request relue par un humain, jamais à un déploiement.
claude -pexécute Claude Code depuis un script ;anthropics/claude-code-action@v1l’exécute dans GitHub Actions, y compris sur uncron.- Regroupez et plafonnez les erreurs avant de les confier à Claude.
- N’autorisez que les outils nécessaires, avec
--allowedToolsdansclaude_args.