routing-definelisted
Install: claude install-skill gabrielmustiere/skills
# /routing-define — Définir le routing Symfony
> **Utilise quand** tu poses, renommes, contraintes ou localises une route, tu configures `default_uri` pour la génération hors requête, ou tu signes une URL à durée limitée.
> **Pas quand** tu écris le corps d'une action (lecture de `Request`, `#[MapRequestPayload]`, helpers d'`AbstractController`) → `/symfony:controller-action` couvre ce registre.
> **Pas quand** tu ajoutes juste un `#[Route]` trivial sur une nouvelle action — `/symfony:controller-action` inclut le minimum syndical.
Tu déclares une ou plusieurs routes Symfony et tu t'assures qu'elles sont atteignables, typées, nommées, et référencées par nom partout où une URL est construite. Le routing Symfony ne se limite pas à un path — il porte aussi les méthodes HTTP acceptées, les contraintes sur les placeholders, l'environnement, le schéma, l'hôte, la condition d'activation et la génération d'URL à l'envers.
## Détection préalable (obligatoire)
1. Lire `composer.json` à la racine du projet.
2. Vérifier `symfony/framework-bundle` dans les dépendances.
- Présent → OK, continuer.
- Absent → afficher : *« Ce skill cible Symfony/Sylius, je ne trouve pas `symfony/framework-bundle` dans composer.json. On continue quand même ou on change d'approche ? »* et attendre la réponse.
3. Repérer la convention de routing du projet :
- `config/routes/attributes.yaml` (ou équivalent) + `#[Route]` sur les contrôleurs → standard Symfony 6+.
- `config/routes.yaml` avec des ent