Retour aux projets

Projet 03/ 10·2025 - Présent

AI Code Review Assistant

Application Next.js qui relit automatiquement chaque pull request GitHub avec GPT-4 et poste ses remarques directement dans la PR.

Année
2025 - Présent
Stack technique
Next.jsTypeScriptOpenAI GPT-4GitHub APISupabaseTailwind CSSVercel

Une relecture automatique de chaque pull request, avant même la revue humaine.

Les revues de code arrivent souvent trop tard, quand le reviewer a le temps. J'ai voulu un premier passage immédiat et systématique : à l'ouverture d'une pull request, une IA relit le diff, signale ce qui mérite attention et laisse les humains se concentrer sur l'architecture et les choix de conception.

Ce que fait l'assistant

  • Analyse automatique des pull requests avec GPT-4 : bugs logiques, exceptions non gérées, vulnérabilités (XSS, injection SQL, secrets exposés), algorithmes inefficaces, duplication et lisibilité.
  • Commentaires contextuels postés directement sur GitHub, avec une évaluation de la qualité et de la complexité du code modifié.
  • Tableau de bord : dépôts activés, historique complet des revues, statistiques de qualité et notifications à chaque nouvelle PR.
  • Connexion GitHub en un clic via Supabase Auth, accès aux dépôts privés et publics, support des organisations.

Comment ça marche

Tout part d'un webhook GitHub. À la création d'une pull request, l'API vérifie que le dépôt est activé, récupère le diff, l'envoie à GPT-4 avec un prompt structuré, puis publie le commentaire généré sur la PR et l'enregistre dans Supabase. Le tableau de bord se met à jour dans la foulée. Les dépôts non suivis sont ignorés sans appel au modèle, ce qui maîtrise les coûts.

Sécurité et isolation des données

L'authentification repose sur Supabase Auth avec OAuth GitHub, rafraîchissement automatique des sessions et jetons fournisseur pour appeler l'API GitHub. Les tables (utilisateurs, dépôts, revues) sont protégées par Row Level Security : chaque utilisateur ne voit que ses propres données. HTTPS forcé en production.

Stack

  • Frontend : Next.js 14 (App Router), TypeScript, Tailwind CSS, interface responsive du mobile au desktop.
  • Backend : routes API Next.js déployées sur Vercel, Supabase (PostgreSQL, Auth, RLS), API OpenAI, API et webhooks GitHub.

Ce que j'en retiens

Le plus délicat n'est pas l'appel au modèle mais tout ce qu'il y a autour : la gestion des webhooks et des permissions GitHub, et la structuration du prompt pour obtenir des commentaires actionnables plutôt que bavards.

Architecture & flux

De la pull request au commentaire

Le flux complet d'une revue : le webhook GitHub déclenche l'analyse, le commentaire est posté sur la PR puis archivé pour le tableau de bord.

Loading diagram...