Figma → Kiro : recommandations & proposition de core library

Issu du passage de notre maquette Page Carrefour dans l'intégration Figma + shadcn MCP. La Partie 1 décrit ce dont nous avons besoin dans les fichiers. La Partie 2 est une structure à discuter — elle peut être écartée.

Partie 1 — Recommandations

Ce qui aide Kiro à lire les fichiers

1 · Séparer les composants des compositions

Gardez les composants (Button, Card, …) isolés sur une page Composants, avec leurs variantes. Gardez les maquettes sur leur propre page. Kiro lit la maquette pour comprendre l'usage, et le composant pour comprendre sa structure — mélangés, il ne peut pas les distinguer.

2 · Les maquettes ne contiennent que les composants réellement utilisés

Ne laissez pas de composants en trop ou en double dans une frame de composition. Les restes créent du bruit et rendent flou quelle version fait foi.

3 · Aucune instance détachée

Chaque élément qui correspond à un composant doit rester une instance vivante liée à celui-ci — pas détachée, pas redessinée en formes brutes. Une instance détachée est invisible pour le mapping : Kiro la reconstruit comme un one-off au lieu de reconnaître le composant.

Sur Page Carrefour, le fil d'ariane, la carte d'avis, la notation et les cartes « atouts » étaient tous des frames détachées — chacune a dû être reconstruite à la main plutôt que mappée.

4 · Nommer les frames par leur rôle, pas par leur mise en page

Le nom d'une frame doit dire ce qu'elle est, pour qu'elle se mappe à un élément et un composant qui ont du sens.

À privilégier : Header Hero Card Testimonial Section : Pourquoi l'UCPA
À éviter : Frame 222 Group 11 Container Flex

Sur Page Carrefour, les sections arrivaient nommées Frame 222, container… — savoir laquelle était le hero, le footer, les avis a dû se déduire du contenu, pas des noms.

5 · Une seule source de vérité pour les tokens

Toutes les couleurs, espacements, tailles et typographies viennent des variables globales — jamais d'une valeur en dur ni d'un style ponctuel. Une page Style Guide peut refléter les variables, mais elle n'est jamais un second endroit où les valeurs sont modifiées.

C'est la règle la plus impactante. Nous avons déjà rencontré de vrais bugs dus à des écarts : un token d'espacement dont les deux paliers étaient inversés ; un h1 réglé sur la valeur mobile, si bien que tous les titres desktop s'affichaient ~16 px trop petits ; et du contenu de page encore lié à des valeurs kit/wireframe résiduelles (--sds-*, une couleur wireframe #100D08) au lieu des tokens UCPA.

Checklist pour toute nouvelle maquette

  • Composants isolés sur leur propre page, pas dans les maquettes
  • La maquette ne contient que les composants réellement utilisés — pas de restes ni de doublons
  • Chaque usage d'un composant est une instance liée, pas détachée
  • Frames nommées par rôle (Header, Hero, Card, Section…) — pas Frame 222 / Container
  • Couleurs, espacements, typographies issus des variables globales — rien en dur

Partie 2 — Structure proposée (à discuter)

Une core library UCPA, partagée par tous les projets

KITS SOURCESshadcn/uiVuetify…autres kitslien direct · sens uniqueCore library UCPAidentité + theming — la couche que nous maîtrisonsComposantsucpaspeedboatalphalabalaguèrecommon — partagéChaque projet a ses propres composants ;common regroupe ce qui est partagé par tous.Tokens de thèmeucpaspeedboatalphalabalaguèrecommon — partagéMême structure que les composants. Ex. : les tokensde speedboat portent les thèmes accent (Horizon, Nature…).PAGES / FEATURES · chacune liée à la core libraryTunnel d'achatPage CarrefourNouvelle featureLes mises à jour vont dans un seul sens : kit → core → chaque projet
Un projet ne modifie jamais le kit ni la core — il ne fait que consommer.

L'idée : l'identité de marque et le theming vivent dans une seule core library. UCPA est à la fois l'identité et son propre projet. Les projets réels, en production — speedboat, alpha, labalaguère — se placent en dessous, chacun avec ses propres composants et tokens de thème ; common regroupe ce qui est partagé. Les pages/features (Page Carrefour, Tunnel d'achat, toute nouveauté) se lient à la core plutôt que de redessiner les éléments localement.

Rester synchronisé

Kiro a les composants de la core reliés via Code Connect, ce qui lui permet de mapper chaque élément de design au bon composant de code. Quand un designer modifie un composant, son lien Code Connect passe en « obsolète » ; un dev lance une commande de re-liaison ciblée sur cette page et ce composant. La configuration du projet embarque un manifeste des IDs de pages et des mappings, versionné dans le repo, pour qu'un simple checkout sache déjà où se trouve chaque élément.

Animation, via Make

Le MCP de Figma peut récupérer le contexte d'un projet Make directement dans l'agent. On partage un lien de prototype Make et l'agent récupère le comportement et les styles de ce composant — par ex. le mouvement d'une popup — et l'implémente sur notre vrai composant, portant l'animation du prototype jusqu'à la production. (Nécessite un client MCP compatible « resources ».) Doc Figma →