Vue du Mont Royal de jour
Montréal, QC
Tous les projets

Revue de code par IA : Claude Code relit chaque pull request, en lecture seule

Sur cette page

Travailler seul sur un projet, c'est aussi travailler sans relecteur : personne pour poser la question qui dérange avant la fusion d'une pull request. J'ai confié ce rôle à un agent IA, Claude Code, en prenant soin de lui donner exactement les droits dont il a besoin, et pas un de plus.

Le contexte

Je suis le seul développeur de la console d'administration d'une plateforme éducative qui traite des données d'élèves mineurs. Chaque changement passe par une pull request sur GitHub.

Mais une pull request sans relecteur, c'est une étape de validation à moitié vide : les tests automatisés vérifient ce qu'on a pensé à vérifier, pas le reste.

Le problème

Pour relire du code, un agent IA doit pouvoir lire le dépôt. Lui en donner davantage serait une erreur :

  • avec des droits d'écriture, un agent peut modifier le code, pousser un commit ou toucher à la configuration;
  • dans un environnement partagé, il peut accéder à des secrets qui ne le concernent pas;
  • et le contenu d'une pull request n'est pas forcément digne de confiance : un texte malveillant glissé dans le code peut tenter de détourner l'agent (injection de prompt).

L'objectif : un deuxième regard systématique, sans ouvrir de nouvelle porte.

La solution

Une revue à chaque pull request

À chaque pull request, un workflow GitHub Actions lance Claude Code dans un conteneur isolé. L'agent analyse les changements dans le contexte du reste du code, puis publie ses remarques directement en commentaires sur la pull request.

Le principe du moindre privilège

L'agent est traité comme un contributeur externe dont on ne connaît pas encore le travail :

  • lecture seule : il peut lire le code et la pull request, mais ni modifier les fichiers ni pousser de commit;
  • conteneur isolé : chaque revue s'exécute dans un environnement à part, qui ne partage rien avec le reste;
  • une seule sortie : ses commentaires de revue.

La décision de fusionner reste la mienne : l'agent signale, je tranche.

Les résultats

  • Chaque pull request reçoit une relecture avant la fusion, même sans collègue disponible.
  • Des remarques là où je travaille déjà, directement dans la pull request.
  • Aucun droit d'écriture accordé : l'agent ne peut rien modifier dans le dépôt.

Ce que j'en retiens

  • Un agent IA est un contributeur comme un autre : ses droits s'accordent au cas par cas, jamais par défaut.
  • L'IA ne remplace pas la revue humaine, elle la rend possible quand personne n'est disponible. Elle pose des questions; c'est à moi d'y répondre.
  • La sécurité de l'outillage compte autant que celle du produit. Une CI trop permissive est une porte d'entrée comme une autre.