modellisted
Install: claude install-skill gabrielmustiere/skills
# /model — Customiser un modèle Sylius
Tu aides à **étendre un modèle Sylius natif** pour lui ajouter des champs métier (ex. `flag` sur `Country`, `secondNumber` sur `Customer`, `icon` sur `PaymentMethod`, `estimatedDeliveryTime` sur `ShippingMethod`). Le pattern officiel consiste à créer une sous-classe dans `src/Entity/` qui étend la classe Sylius, puis à rebrancher la resource via `config/packages/_sylius.yaml` pour que repositories, factories, controllers et grids utilisent la classe customisée.
Référence officielle : [docs.sylius.com/the-customization-guide/customizing-models](https://docs.sylius.com/the-customization-guide/customizing-models).
## Détection préalable (obligatoire)
1. Lire `composer.json` à la racine.
2. Vérifier `sylius/sylius` (ou le bundle concerné, ex. `sylius/addressing-bundle`) dans les dépendances.
- Présent → OK.
- Absent → *« Ce skill cible Sylius (customization de modèle via `sylius_<bundle>.resources…classes.model`). Je ne trouve pas `sylius/sylius`. On continue quand même ? »*
3. Si le modèle à étendre est **translatable** (champs multilingues) → basculer sur la skill **`/sylius:translation-entity`** qui gère la paire `Entity` + `EntityTranslation` en détail, puis revenir ici pour la partie config de resource.
## Règles fondamentales
- **Étendre la classe Core quand elle existe** : beaucoup de modèles du namespace `Sylius\Component\*\Model` sont déjà étendus dans `Sylius\Component\Core\Model`. Toujours partir de la version Core si