Agent de Code Review Automatique Multi-Fichiers
Cet agent effectue une revue de code automatisée sur plusieurs fichiers simultanément, en analysant la qualité, la sécurité, les performances et la cohérence architecturale. Il produit un rapport structuré avec des recommandations priorisées par sévérité, des suggestions de refactoring et des extraits de code corrigés prêts à intégrer.
Pour qui
Développeurs, tech leads et équipes de développement souhaitant automatiser et systématiser leurs revues de code avant merge ou déploiement.
Entrée
Le code source de 2 à 10 fichiers à reviewer, collés avec leur nom de fichier en en-tête (ex: // fichier: src/auth.ts). Peut inclure tout langage : JavaScript, TypeScript, Python, Java, Go, etc.
étapes (4)
Inventaire et cartographie des fichiers
promptAnalyse la structure des fichiers soumis et identifie les dépendances entre eux.
Analyse qualité et détection de bugs
promptExamine chaque fichier pour détecter bugs, code smells et violations de bonnes pratiques.
Audit sécurité et conformité
promptDétecte les vulnérabilités de sécurité et vérifie la conformité aux standards.
Recommandations et code corrigé
promptSynthétise toutes les analyses et produit les correctifs prêts à intégrer.
Sortie
Rapport de code review complet en Markdown contenant : cartographie des fichiers, liste des bugs et code smells priorisés, audit de sécurité OWASP, correctifs de code prêts à intégrer, recommandations de refactoring et checklist de validation.
Exemple
Entrée
// fichier: src/controllers/userController.ts
import { db } from '../db';
export async function getUser(req, res) {
const user = await db.query(`SELECT * FROM users WHERE id = ${req.params.id}`);
res.json({ password: user.password, ...user });
}
// fichier: src/routes/api.ts
import { getUser } from '../controllers/userController';
router.get('/user/:id', getUser);
// fichier: src/middleware/auth.ts
export function checkAuth(req, res, next) {
if (req.headers.token == 'admin123') next();
else res.status(401).send('Unauthorized');
}Sortie
## Résumé exécutif
**Score : 22/100** — Changements requis
- 3 critiques, 2 majeurs, 1 mineur
### Top 3 urgences
1. **Injection SQL** (userController.ts:3) — Concaténation directe de req.params.id
2. **Exposition mot de passe** (userController.ts:4) — Le hash du password est retourné dans la réponse API
3. **Secret hardcodé** (auth.ts:2) — Token admin en clair dans le code source
### Correctif critique #1 — Injection SQL
```typescript
// AVANT (vulnérable)
const user = await db.query(`SELECT * FROM users WHERE id = ${req.params.id}`);
// APRÈS (sécurisé)
const user = await db.query('SELECT id, email, name FROM users WHERE id = $1', [req.params.id]);
```
[...rapport complet avec tous les correctifs, recommandations et checklist]Personnalisation
| Paramètre | Description | Valeur par défaut |
|---|---|---|
| review_standard | Standard ou guide de style à appliquer lors de la review (ex: Airbnb, Google, conventions internes) | Bonnes pratiques universelles (SOLID, Clean Code, OWASP Top 10) |
| severity_filter | Niveau minimum de sévérité à inclure dans le rapport (critique, majeur, mineur, tous) | tous |
| focus_areas | Domaines d'analyse prioritaires séparés par virgules (sécurité, performance, maintenabilité, tests) | sécurité, qualité, maintenabilité |