| name | dev:review |
| description | Review qualité complète - PHPStan + Elegant Objects + code review (Phase 6) |
| model | sonnet |
| allowed-tools | ["Task","TaskCreate","TaskUpdate","TaskList","Bash","Read","Grep","Glob","Edit"] |
| version | 1.0.0 |
| license | MIT |
| hooks | {"PreToolUse":[{"matcher":"Task","hooks":[{"type":"command","command":"# Hook 1: Tests avant review\necho \"🧪 Exécution des tests avant review...\"\n\nif [ -f \"Makefile\" ] && grep -q \"^test:\" Makefile; then\n make test || {\n echo \"❌ Tests échoués - corrige-les avant la review\"\n exit 1\n }\nelif [ -f \"vendor/bin/phpunit\" ]; then\n vendor/bin/phpunit || {\n echo \"❌ Tests échoués - corrige-les avant la review\"\n exit 1\n }\nelse\n echo \"⚠️ Tests non détectés, review sans validation tests\"\nfi\n","once":true}]}],"PostToolUse":[{"matcher":"Edit","hooks":[{"type":"command","command":"# Hook 2: Auto-commit après fixes\nif ! git diff --quiet; then\n echo \"\"\n echo \"📝 Corrections appliquées. Prêt pour :\"\n echo \" git add .\"\n echo \" /git:commit\"\n echo \"\"\n echo \"Message suggéré :\"\n echo \" 🚨 fix: corrections suite à review\"\nfi\n","once":false}]}]} |
Objectif
Phase 6 du workflow de développement : review qualité complète du code implémenté.
Prérequis
⚠️ Plugin feature-dev requis pour l'agent code-reviewer.
Si non installé :
/plugin install feature-dev@claude-code-plugins
Instructions à Exécuter
IMPORTANT : Exécute ce workflow étape par étape :
1. Vérifier le contexte
2. Créer les tâches de review
- Utilise TaskCreate pour chaque tâche de review :
TaskCreate #1: Code Review - Simplicité/bugs/conventions (feature-dev)
TaskCreate #2: PHPStan - Résoudre erreurs niveau 9
TaskCreate #3: Elegant Objects - Conformité principes
TaskCreate #4: Consolider - Agréger résultats et décider
TaskCreate #5: Examine - Adversarial review (challenge decisions, edge cases)
Important :
- Utiliser
activeForm (ex: "Reviewing code quality", "Résolvant erreurs PHPStan")
- Les 3 premières tâches peuvent se lancer en parallèle
- La tâche #4 dépend des 3 premières (utiliser
addBlockedBy)
3. Lancer les reviews en parallèle
⚠️ Avant de lancer les agents : Marquer les 3 tâches en in_progress :
TaskUpdate → tâche #1 en in_progress
TaskUpdate → tâche #2 en in_progress
TaskUpdate → tâche #3 en in_progress
Review 1 : Code Review (feature-dev)
Lancer l'agent code-reviewer avec le focus sur :
- Simplicité / DRY / Élégance
- Bugs / Correction fonctionnelle
- Conventions du projet
Quand terminé : TaskUpdate → tâche #1 en completed
Review 2 : PHPStan
Lancer l'agent phpstan-error-resolver (local)
Quand terminé : TaskUpdate → tâche #2 en completed
Review 3 : Elegant Objects
Lancer l'agent elegant-objects-reviewer (local)
Quand terminé : TaskUpdate → tâche #3 en completed
4. Consolider les résultats
🔄 Progression : TaskUpdate → tâche #4 en in_progress
Agréger les résultats des 3 reviews.
Quand terminé : TaskUpdate → tâche #4 en completed
4.5. Examine (Adversarial Review) ⭐ NOUVEAU
🔄 Progression : TaskUpdate → tâche #5 en in_progress
Challenge l'implémentation avec perspective adversariale :
Questions à poser :
- Edge cases : Qu'arrive-t-il si input null/vide/invalide ?
- Limites : Quelle est la taille maximale acceptable ? Le timeout ?
- Sécurité : Injection possible ? Exposition de données sensibles ?
- Performance : N+1 queries ? Boucles infinies possibles ?
- Concurrence : Race conditions ? Deadlocks ?
- Rollback : Comment annuler si ça échoue en prod ?
- Décisions d'architecture : Pourquoi ce pattern ? Alternative meilleure ?
Focus prioritaire :
- Chercher ce qui pourrait casser en production
- Identifier hypothèses non validées dans le code
- Tester mentalement scénarios extrêmes
- Challenger décisions d'implémentation (pourquoi X au lieu de Y ?)
Output :
🔍 Examine Results:
Edge cases trouvés:
- [cas] : [risque] → [suggestion]
Limites détectées:
- [limite] : [impact] → [mitigation]
Décisions challengées:
- [décision] : [alternative] → [trade-off]
Quand terminé : TaskUpdate → tâche #5 en completed
5. Demander l'action utilisateur
Que souhaites-tu faire ?
1. 🔧 Fix now - Corriger toutes les issues maintenant
2. 📋 Fix later - Noter pour plus tard et continuer
3. ✅ Proceed - Continuer sans corrections (non recommandé)
⚠️ Attendre la décision avant de continuer.
6. Si "Fix now" choisi
- Appliquer les corrections PHPStan en priorité (bloquent la CI)
- Appliquer les corrections Elegant Objects
- Relancer une review pour vérifier
7. Finaliser
Mettre à jour le workflow state
Prochaine étape
✅ Review complétée
Prochaine étape : /dev:summary pour le résumé final
Règles
- Task Management :
- Créer 5 tâches au démarrage (3 reviews + 1 consolidation + 1 examine)
- Marquer les 3 reviews en
in_progress avant lancement parallèle
- La tâche de consolidation est bloquée par les 3 reviews (
addBlockedBy)
- La tâche examine est bloquée par la consolidation (
addBlockedBy)
- Utiliser
TaskList pour afficher la progression
- PHPStan erreurs = BLOQUANT (font échouer la CI)
- Confiance minimum 80% pour les issues code review
- Respecter le choix utilisateur (ne pas forcer les corrections)