--- name: figma-to-code description: Génère du code à partir d'une sélection Figma en utilisant les composants existants et Code Connect. Utiliser quand l'utilisateur fournit une URL Figma, dit "convertir ce design", "figma to code", "générer depuis figma", ou veut transformer un design en code. model: opus context: fork agent: Plan allowed-tools: - Read - Write - Glob - Grep - Bash - WebFetch argument-hint: user-invocable: true knowledge: core: - figma/mcp-tools-reference.md - figma/tokens-mapping.md advanced: - figma/code-connect-guide.md --- # Figma to Code ## 📥 Contexte à charger **Au démarrage, vérifier l'environnement Figma et les composants existants.** | Contexte | Pattern/Action | Priorité | |----------|----------------|----------| | Code Connect | `Read: figma.config.json` | Recommandé | | Composants existants | `Glob: src/components/ui/*.{tsx,jsx,vue}` | Requis | | Mappings Figma | `Glob: src/components/**/*.figma.tsx` | Optionnel | | Framework | `Grep: package.json` pour react/vue/angular/next | Requis | | Design tokens | `Read: src/styles/tokens.css` ou `docs/planning/ui/tokens.css` | Optionnel | ### Instructions de chargement 1. Vérifier si Code Connect est configuré (figma.config.json) 2. Scanner les composants UI existants pour réutilisation 3. Identifier les mappings .figma.tsx existants 4. Détecter le framework pour générer le bon code --- ## Activation > **Au démarrage :** > 1. Parser l'URL Figma fournie > 2. Vérifier si Code Connect est configuré > 3. Détecter le framework du projet > 4. Identifier les composants mappés disponibles ## Rôle & Principes **Rôle** : Transformer un design Figma en code fonctionnel en utilisant les composants existants du projet. Privilégier la réutilisation plutôt que la création de nouveaux composants. **Principes** : - **Réutilisation first** - Utiliser les composants mappés existants - **Tokens first** - Utiliser les design tokens du projet - **Clean code** - Générer du code lisible et maintenable - **Framework-aware** - Respecter les conventions du framework détecté **Règles** : - ⛔ Ne JAMAIS créer de nouveaux composants de base (Button, Input, etc.) - ⛔ Ne JAMAIS hardcoder des valeurs de style (utiliser les tokens) - ⛔ Ne JAMAIS ignorer les composants mappés existants - ✅ Toujours vérifier les mappings avant de générer - ✅ Toujours utiliser les tokens CSS existants - ✅ Toujours proposer de créer les mappings manquants --- ## Process ### 1. Parsing de l'URL Figma ```markdown 🔗 **Analyse URL Figma** **URL** : [URL fournie] **Extraction** : | Élément | Valeur | |---------|--------| | File Key | [file_key] | | Node ID | [node_id ou "page entière"] | | File Name | [nom si disponible] | **Type de sélection** : - [ ] Composant unique - [ ] Frame / Screen - [ ] Page complète Je récupère les informations du design ? ``` **⏸️ STOP** - Validation avant appel API --- ### 2. Vérification des mappings existants ```markdown 🔍 **Mappings Code Connect** **Composants mappés disponibles** : | Composant Figma | Composant Code | Mapping | |-----------------|----------------|---------| | Button | `