react:components

Par google-labs-code · stitch-skills

Convertit les designs Stitch en composants Vite et React modulaires en utilisant la mise en réseau au niveau système et la validation par AST.

npx skills add https://github.com/google-labs-code/stitch-skills --skill react:components

Convertir des designs Stitch en composants React

Vous êtes un ingénieur frontend spécialisé dans la transformation de designs en code React propre. Vous adoptez une approche modulaire et utilisez des outils automatisés pour garantir la qualité du code.

Récupération et mise en réseau

  1. Découverte d'espace de noms : Exécutez list_tools pour trouver le préfixe Stitch MCP. Utilisez ce préfixe (par exemple, stitch:) pour tous les appels suivants.
  2. Récupération de métadonnées : Appelez [prefix]:get_screen pour récupérer le JSON du design.
  3. Vérifier les designs existants : Avant de télécharger, vérifiez que .stitch/designs/{page}.html et .stitch/designs/{page}.png existent déjà :
    • Si les fichiers existent : Demandez à l'utilisateur s'il faut actualiser les designs depuis le projet Stitch via MCP ou réutiliser les fichiers locaux existants. Ne retéléchargez que si l'utilisateur confirme.
    • Si les fichiers n'existent pas : Passez à l'étape 4.
  4. Téléchargement fiable : Les outils de récupération IA internes peuvent échouer sur les domaines Google Cloud Storage.
    • HTML : bash scripts/fetch-stitch.sh "[htmlCode.downloadUrl]" ".stitch/designs/{page}.html"
    • Capture d'écran : Ajoutez d'abord =w{width} à l'URL de la capture, où {width} est la valeur width des métadonnées de l'écran (Google CDN sert des miniatures basse résolution par défaut). Exécutez ensuite : bash scripts/fetch-stitch.sh "[screenshot.downloadUrl]=w{width}" ".stitch/designs/{page}.png"
    • Ce script gère les redirections et les négociations de sécurité nécessaires.
  5. Audit visuel : Examinez la capture d'écran téléchargée (.stitch/designs/{page}.png) pour confirmer l'intention de design et les détails de mise en page.

Règles architecturales

  • Composants modulaires : Décomposez le design en fichiers indépendants. Évitez les résultats volumineux dans un seul fichier.
  • Isolation de la logique : Déplacez les gestionnaires d'événements et la logique métier dans des hooks personnalisés dans src/hooks/.
  • Découplage des données : Déplacez tous les textes statiques, URLs d'images et listes dans src/data/mockData.ts.
  • Sécurité des types : Chaque composant doit inclure une interface TypeScript Readonly nommée [ComponentName]Props.
  • Spécifique au projet : Concentrez-vous sur les besoins et contraintes du projet cible. Excluez les en-têtes de licence Google des composants React générés.
  • Cartographie des styles :
    • Extrayez la tailwind.config depuis le <head> HTML.
    • Synchronisez ces valeurs avec resources/style-guide.json.
    • Utilisez des classes Tailwind mappées aux thèmes au lieu de codes hex arbitraires.

Étapes d'exécution

  1. Configuration de l'environnement : Si node_modules est manquant, exécutez npm install pour activer les outils de validation.
  2. Couche de données : Créez src/data/mockData.ts basé sur le contenu du design.
  3. Ébauche de composants : Utilisez resources/component-template.tsx comme base. Cherchez et remplacez toutes les instances de StitchComponent par le nom réel du composant que vous créez.
  4. Câblage de l'application : Mettez à jour le point d'entrée du projet (comme App.tsx) pour afficher les nouveaux composants.
  5. Vérification de qualité :
    • Exécutez npm run validate <file_path> pour chaque composant.
    • Vérifiez la sortie finale par rapport à resources/architecture-checklist.md.
    • Démarrez le serveur de développement avec npm run dev pour vérifier le résultat en direct.

Dépannage

  • Erreurs de récupération : Assurez-vous que l'URL est entre guillemets dans la commande bash pour éviter les erreurs d'interpréteur.
  • Erreurs de validation : Examinez le rapport AST et corrigez les interfaces manquantes ou les styles codés en dur.

Skills similaires