Catégorie 04SKILLS
R

Rector

Automatisation des upgrades PHP et Drupal par analyse statique

Installation
Skill Claude — Globalmkdir -p ~/.claude/skills/rector
Composer (dev)composer require --dev rector/rector palantirnet/drupal-rector
Outil complémentairecomposer require --dev mglaman/drupal-check
SKL
À propos

Skill Claude pour utiliser Rector dans les migrations Drupal (D9/D10/D11) et les upgrades PHP (7.4→8.3). Couvre la configuration du rector.php, les sets de règles (PHP, Drupal), le mode dry-run, et l'intégration avec drupal-check pour une couverture maximale des deprecated.

Commandes
CommandeDescription
vendor/bin/rector process --dry-runSimuler les changements sans modifier les fichiers
vendor/bin/rector process web/modules/customAppliquer les règles sur les modules custom
vendor/bin/rector process web/themes/customAppliquer les règles sur les thèmes custom
vendor/bin/rector list-rulesLister toutes les règles disponibles
vendor/bin/drupal-check web/modules/customVérifier les deprecated Drupal non couverts par Rector
Exemples
Migration Drupal 10 vers 11 avec RectorCODE
"Lance une migration Drupal 10 vers 11 avec Rector sur web/modules/custom :
1. Configurer rector.php avec Drupal11SetList::DRUPAL_11 et SetList::PHP_83
2. Lancer en dry-run et montrer le rapport (nombre de changements par fichier)
3. Identifier les patterns de deprecated les plus fréquents
4. Appliquer les changements et lancer phpstan pour valider
5. Lister les deprecated restants non couverts par Rector"
Règles custom pour renommage de classeCODE
"Crée une règle Rector custom dans rector.php pour :
- Renommer Drupal\mon_module\Service\OldService → Drupal\mon_module\Service\NewService
- Mettre à jour tous les use statements dans web/modules/custom
- Utiliser RenameClassRector avec withConfiguredRule
Vérifier avec --dry-run avant d'appliquer"
Audit de deprecated sans modifier le codeCODE
"Audit complet des deprecated Drupal dans web/modules/custom :
1. vendor/bin/rector process --dry-run --output-format=json > rector-audit.json
2. Résumer les changements nécessaires par module
3. vendor/bin/drupal-check web/modules/custom pour les cas non couverts
4. Prioriser par criticité (Breaking changes D11 vs deprecations mineures)"