Après une review de PR, il y a souvent plusieurs commentaires à corriger dans différents fichiers. Faire ces corrections manuellement prend du temps et on risque d'oublier certains commentaires.
Contexte : PR #87 "Add user authentication" avec commentaires sur :
Typo dans le nom de variable
Méthode trop longue à refactorer
Test manquant pour cas d'erreur
Import inutilisé à supprimer
Documentation à ajouter
Commentaires GitHub :
@reviewer:src/Security/Authenticator.php:42"Rename $usr to $user for clarity"@reviewer:src/Security/Authenticator.php:58"Extract validation logic to private method"@reviewer:tests/Security/AuthenticatorTest.php:24"Add test for invalid credentials case"@reviewer:src/Controller/AuthController.php:12"Remove unused import Symfony\Component\HttpFoundation\Response"@reviewer:src/Security/Authenticator.php:15"Add PHPDoc for authenticate() method"
Commande :
bash
/git:fix-pr-comments 87
Corrections appliquées automatiquement :
1. Renommage variable :
php
// Avantprivate function validateUser($usr): bool// Aprèsprivate function validateUser(User $user): bool
2. Extraction méthode :
php
// Avantpublic function authenticate(): Token{ if (!$credentials) throw new AuthException(); if (!$this->validator->validate($credentials)) throw new AuthException(); if (!$user = $this->repository->findByEmail($credentials->email())) { throw new AuthException(); } // ... 10 more lines}// Aprèspublic function authenticate(): Token{ $this->validateCredentials($credentials); $user = $this->findUser($credentials); return $this->createToken($user);}private function validateCredentials(Credentials $credentials): void{ if (!$credentials) throw new AuthException(); if (!$this->validator->validate($credentials)) throw new AuthException();}private function findUser(Credentials $credentials): User{ $user = $this->repository->findByEmail($credentials->email()); if (!$user) throw new AuthException(); return $user;}
3. Test ajouté :
php
public function testAuthenticateWithInvalidCredentials(): void{ $credentials = new Credentials('invalid@example.com', 'wrong'); $this->expectException(AuthException::class); $this->authenticator->authenticate($credentials);}
/** * Authentifie un utilisateur avec ses credentials * * @throws AuthException Si les credentials sont invalides */public function authenticate(Credentials $credentials): Token
Résultat :
✅ 5/5 commentaires corrigés✅ 3 fichiers modifiés✅ Tests passent (12 tests, 42 assertions)✅ PHPStan niveau 9 : 0 errors✅ Commit: 🔧 fix(review): address PR #87 comments - Rename variable for clarity - Extract validation logic - Add missing test case - Remove unused import - Add PHPDoc✅ Push vers origin/feature/user-auth
Sur GitHub :
Reviewer: @reviewer✅ All comments addressed! LGTM 👍
Corriger les commentaires de review PR ★★★ Avancé ~10 min
Contexte
Après une review de PR, il y a souvent plusieurs commentaires à corriger dans différents fichiers. Faire ces corrections manuellement prend du temps et on risque d'oublier certains commentaires.
Objectif
Corriger automatiquement tous les commentaires de review d'une PR en une seule commande avec :
Prérequis
Plugins :
Outils :
gh) authentifiéConfiguration : Aucune configuration particulière nécessaire.
Workflow Étape par Étape
Phase 1 : Récupérer et corriger les commentaires
Commande :
Où
123est le numéro de la PR.Que se passe-t-il ?
gh pr view 123 --commentsOutput attendu :
Exemple Complet
Scénario : PR avec 5 commentaires de review
Contexte : PR #87 "Add user authentication" avec commentaires sur :
Commentaires GitHub :
Commande :
Corrections appliquées automatiquement :
1. Renommage variable :
2. Extraction méthode :
3. Test ajouté :
4. Import supprimé :
5. PHPDoc ajouté :
Résultat :
Sur GitHub :
Variantes
Corriger seulement certains commentaires
Corrige uniquement les commentaires dans
src/Security/.Mode interactif
Claude propose chaque correction et attend validation avant de l'appliquer.
Dry-run
Affiche les corrections qui seraient appliquées sans les appliquer.
Troubleshooting
Erreur "No comments found"
Symptôme :
No review comments found on PR #123Solution :
gh pr view 123gh auth statusErreur lors de l'application
Symptôme :
Failed to apply correction in UserController.php:42Solution :
--skip-failedConflit après correction
Symptôme :
git push failed: conflicts detectedSolution :
Tests en échec après correction
Symptôme :
Tests: 2 failures after applying correctionsSolution :
/dev:reviewpour identifier le problèmeLiens Connexes
Use cases :
Plugins :
Documentation :
Tips & Best Practices
✅ Bonnes pratiques
fix(review): address PR #123 comments)--force-with-leaseplutôt que--force🔍 Optimisations
Workflow optimal :
/git:fix-pr-comments 123vendor/bin/phpunitvendor/bin/phpstan analyseGitHub Actions : Ajouter un workflow qui re-vérifie après corrections :
🎯 Métriques de qualité
Une correction de review réussie c'est :
Checklist Validation
Avant de lancer :
Pendant la correction :
Après correction :