wix-app

Par wix · skills

Créer des extensions d'application Wix CLI — pages dashboard, modales, plugins, plugins de menu, widgets custom element, composants Editor React, plugins de site, scripts embarqués, APIs backend, événements backend, plugins de service, collections de données. À utiliser lors de la création de N'IMPORTE QUELLE fonctionnalité ou extension pour une application Wix CLI. Se déclenche sur : add, build, create, implement, help me, dashboard, widget, plugin, backend, API, event, collection, embedded script, service plugin, Editor React component, checkout, shipping, tax, discount, SPI, CMS, schema, tracking, popup, admin panel, menu item, modal, validate, test, verify, register extension.

npx skills add https://github.com/wix/skills --skill wix-app

Wix App Builder

Aide à créer des extensions pour les applications Wix CLI. Couvre tous les types d'extension : pages de tableau de bord, modales, plugins, plugins de menu, widgets d'élément personnalisé, composants React d'éditeur, plugins de site, scripts intégrés, API backend, événements, plugins de service et collections de données.

⚠️ LISTE DE CONTRÔLE DU FLUX DE TRAVAIL OBLIGATOIRE ⚠️

Avant de signaler l'achèvement à l'utilisateur, TOUTES les cases DOIVENT être cochées :

  • [ ] Étape 1 : Type(s) d'extension déterminé(s)
    • [ ] Questions de clarification posées si les exigences n'étaient pas claires
    • [ ] Besoin implicite de collection de données vérifié — sauf si l'utilisateur a fourni directement un ID de collection (voir Data Collection Inference)
    • [ ] Espace de noms de l'application obtenu si une extension de collection de données est créée
    • [ ] ID de collection délimités complets déterminés si une extension de collection de données est créée (voir Collection ID Coordination)
    • [ ] Recommandation expliquée avec raisonnement
  • [ ] Étape 2 : Fichier(s) de référence d'extension lu(s) pour le(s) type(s) choisi(s)
  • [ ] Étape 3 : Références API vérifiées ; MCP discovery utilisé uniquement pour les lacunes
  • [ ] Étape 4 : Toutes les extensions implémentées
    • [ ] Tous les fichiers créés
    • [ ] Extension(s) enregistrée(s) dans extensions.ts
    • [ ] Compétence wix-design-system invoquée EN PREMIER lors de l'utilisation de @wix/design-system (pour les imports corrects, notamment les icônes)
  • [ ] Étape 5 : Validation exécutée (voir Validation)
    • [ ] Dépendances installées
    • [ ] TypeScript compilé
    • [ ] Build réussi
    • [ ] Preview déployé
  • [ ] Étape 6 : Tous les éléments d'action manuel collectés et présentés à l'utilisateur

🛑 ARRÊT : Si une case est décochée, ne PASSEZ PAS à l'étape suivante.


❌ ANTI-MODÈLES (À NE PAS FAIRE)

❌ INCORRECT ✅ CORRECT
Implémentation sans lire la référence d'extension Toujours lire le fichier de référence pertinent en premier
Utilisation de MCP discovery sans vérifier les références Vérifier d'abord les fichiers de référence
Signaler l'achèvement sans validation Toujours exécuter la validation à la fin
Laisser les éléments d'action manuel disparaître Regrouper toutes les étapes manuelles à la fin

Assistant de Décision Rapide

  1. Qu'essayez-vous de construire ?

    • Interface administrateur → Extensions de tableau de bord
    • Logique backend → Extensions backend
    • Stockage de données / collections CMS → Collection de données
    • Composant React d'éditeur → Extensions de site (projets d'application uniquement)
  2. Qui le verra ?

    • Administrateurs uniquement → Extensions de tableau de bord
    • Visiteurs du site → Extensions de site
    • Côté serveur uniquement → Extensions backend
  3. Où apparaîtra-t-il ?

    • Barre latérale/page du tableau de bord → Page de tableau de bord ou Modale
    • Tableau de bord d'application Wix existant (widget) → Plugin de tableau de bord
    • Tableau de bord d'application Wix existant (élément de menu) → Plugin de menu de tableau de bord
    • N'importe où sur le site → widget d'élément personnalisé
    • N'importe où sur le site (avec manifeste d'éditeur) → Composant React d'éditeur
    • Page de solution commerciale Wix → Plugin de site
    • Durant un flux commercial → Plugin de service
    • Après un événement → Extension d'événement

Flux de Décision (Vous n'êtes pas sûr ?)

  • Admin : Besoin d'une UI pleine page ? → Page de tableau de bord. Besoin d'une popup/formulaire ? → Modale de tableau de bord. Extension du tableau de bord d'application Wix avec un widget visuel ? → Plugin de tableau de bord. Ajout d'un élément de menu au menu « plus d'actions » ou « actions en masse » d'un tableau de bord d'application Wix ? → Plugin de menu de tableau de bord. Contrainte modale : Les pages de tableau de bord ne peuvent pas utiliser <Modal /> ; utilisez une extension modale de tableau de bord séparée et dashboard.openModal().
  • Backend : Lors d'un flux commercial (paiement/expédition/taxe) ? → Plugin de service. Après un événement (webhooks/sync) ? → Extension d'événement. Points de terminaison HTTP personnalisés ? → Points de terminaison backend. Besoin de collections CMS pour les données de l'application ? → Collection de données.
  • Site : L'utilisateur place n'importe où (autonome) ? → widget d'élément personnalisé. Composant React d'éditeur avec manifeste d'éditeur (styling, contenu, éléments) ? → Composant React d'éditeur. Emplacement fixe sur la page d'application Wix ? → Plugin de site. Scripts/analytics uniquement ? → Script intégré.

Tableau de Référence des Types d'Extension

Type d'Extension Catégorie Visibilité Utiliser quand Fichier de Référence
Page de tableau de bord Dashboard Admin uniquement Pages d'administration complètes DASHBOARD_PAGE.md
Modale de tableau de bord Dashboard Admin uniquement Dialogues contextuels DASHBOARD_MODAL.md
Plugin de tableau de bord Dashboard Admin uniquement Extension des tableaux de bord d'applications Wix DASHBOARD_PLUGIN.md
Plugin de menu de tableau de bord Dashboard Admin uniquement Ajout d'éléments de menu aux tableaux de bord d'applications Wix DASHBOARD_MENU_PLUGIN.md
Plugin de service Backend Côté serveur Personnalisation des flux commerciaux SERVICE_PLUGIN.md
Extension d'événement Backend Côté serveur Réaction aux événements BACKEND_EVENT.md
Points de terminaison backend Backend API Gestionnaires HTTP personnalisés BACKEND_API.md
Collection de données Backend Données Collections CMS pour les données de l'application DATA_COLLECTION.md
Composant React d'éditeur Site Public Composants React d'éditeur avec manifestes d'éditeur EDITOR_REACT_COMPONENT.md
Widget d'élément personnalisé Site Public Widgets autonomes CUSTOM_ELEMENT_WIDGET.md
Plugin de site Site Public Extension des solutions commerciales Wix SITE_PLUGIN.md
Script intégré Site Public Injection de scripts/analytics EMBEDDED_SCRIPT.md

Contraintes clés :

  • La page de tableau de bord ne peut pas utiliser <Modal /> ; utilisez une modale de tableau de bord séparée et dashboard.openModal().

Comparaison d'Extensions

Widget d'élément personnalisé vs Composant React d'éditeur vs Plugin de site Page de tableau de bord vs Modale Plugin de service vs Événement
Widget d'élément personnalisé : composant interactif autonome. Composant React d'éditeur : React avec manifeste d'éditeur (CSS/données/éléments). Plugin : emplacement fixe dans la page d'application Wix. Page : page complète. Modale : superposition ; utilisez pour les popups. Service : durant le flux. Événement : après l'événement.

Références Transversales

Sujet Référence
Enregistrement d'extension EXTENSION_REGISTRATION.md
Validation d'application APP_VALIDATION.md
Identifiants d'application (Espace de noms, ID de code) APP_IDENTIFIERS.md
Versioning Wix Stores (V1/V3) STORES_VERSIONING.md
Liens de Documentation Officielle DOCUMENTATION.md

Data Collection Inference

CRITIQUE : Les collections de données sont souvent nécessaires implicitement — n'attendez pas que l'utilisateur dise explicitement « créer une collection CMS ». Déduisez le besoin automatiquement.

Ignorez cette section si l'utilisateur fournit directement un ID de collection (par exemple, une collection existante au niveau du site). Dans ce cas, utilisez l'ID fourni tel quel — aucune extension de collection de données ou scoping d'espace de noms nécessaire.

Incluez toujours une extension de collection de données quand L'UN DES éléments suivants est vrai :

Indicateur Exemple
L'utilisateur mentionne l'enregistrement/stockage/persistance de données spécifiques à l'application « enregistrer le montant des frais », « stocker les recommandations de produits »
Une page de tableau de bord va gérer (CRUD) des entités de domaine « tableau de bord pour gérer les frais », « page d'administration pour modifier les règles »
Un plugin de service lit les données configurées de l'application au moment de l'exécution « récupérer les règles de frais lors du paiement », « rechercher les taux d'expédition »
L'utilisateur mentionne « base de données/collection dédiée » « enregistrer dans une collection de base de données dédiée »
Plusieurs extensions référencent les mêmes données personnalisées Dashboard gère les frais + plugin de service lit les frais

Pourquoi cela importe : Sans l'extension de collection de données, la collection ne sera pas créée lors de l'installation de l'application, les API Wix Data peuvent ne pas fonctionner (l'éditeur de code n'est pas activé), et les ID de collection ne seront pas correctement délimités par l'espace de noms de l'application.

Si une collection de données est déduite, suivez App Namespace Requirement pour obtenir l'espace de noms avant de procéder.

App Namespace Requirement

Lors de la création d'une collection de données, vous DEVEZ demander à l'utilisateur son espace de noms d'application depuis le Wix Dev Center. C'est un paramètre obligatoire qui doit être obtenu depuis le tableau de bord Dev Center de l'utilisateur et ne peut pas être recommandé ou deviné.

Si l'utilisateur n'a pas fourni son espace de noms d'application, lisez APP_IDENTIFIERS.md et donnez à l'utilisateur les instructions pour l'obtenir.

Collection ID Coordination

S'applique UNIQUEMENT lorsqu'une extension de collection de données est créée. Si l'utilisateur fournit un ID de collection directement, utilisez-le tel quel — aucun scoping d'espace de noms, aucune extension de collection de données nécessaire.

Lorsqu'une collection de données est créée aux côtés d'autres extensions qui référencent les mêmes collections :

  1. Obtenez l'espace de noms de l'application (voir App Namespace Requirement ci-dessus)
  2. Déterminez le idSuffix pour chaque collection (le document de référence de la collection de données documente le format d'ID complet)
  3. Utilisez l'ID de collection délimité complet (<app-namespace>/<idSuffix>) dans toutes les extensions qui référencent la collection via les appels API Wix Data

Exigence de Versioning Wix Stores

S'applique quand L'UN DES API Wix Stores est utilisé (produits, inventaire, commandes, etc.) :

  1. Lisez la référence de versioning Stores — voir STORES_VERSIONING.md. Elle contient la carte des modules, une aide-mémoire des permissions, des recettes de catalogue double prêtes à copier-coller (lister/obtenir/créer/mettre à jour/supprimer des produits, inventaire, catégories), la carte des champs V1→V3, le mappage webhook et les pièges majeurs de V3. Utilisez-la avant de chercher dans les docs SDK — elle couvre les 80% courants.
  2. Toutes les opérations Stores doivent d'abord vérifier la version du catalogue en utilisant getCatalogVersion()
  3. Utilisez le module correct selon la version : productsV3 (V3) vs products (V1)
  4. Les applications DOIVENT supporter V1 et V3 — les applications à version unique ne peuvent pas être listées sur l'App Market et se brisent sur les nouveaux sites
  5. Demandez les deux étendues de permission V1 et V3 pour chaque opération Stores

C'est non négociable — V1 et V3 ne sont PAS rétro-compatibles.


Flux de Travail d'Implémentation

Étape 1 : Poser des Questions de Clarification (si nécessaire)

Ne posez des questions sur les valeurs de configuration que quand absolument nécessaire pour que l'implémentation progresse. Si une valeur peut être configurée plus tard ou ajoutée comme étape manuelle, ne bloquez pas là-dessus.

Exigence d'Identifiant de Code : Lors de la création d'un composant React d'éditeur, vous avez besoin de l'identifiant de code de l'utilisateur. S'il n'est pas fourni, lisez APP_IDENTIFIERS.md et donnez à l'utilisateur les instructions pour l'obtenir.

Si vous ne savez pas avec certitude sur l'approche (placement, visibilité, configuration, intégration), posez des questions de clarification. Si la réponse pourrait changer le type d'extension, attendez la réponse avant de procéder. Sinon, procédez avec le type d'extension qui convient le mieux.

Étape 2 : Faire Votre Recommandation

Utilisez le tableau de référence des types d'extension et le contenu de décision ci-dessus. Énoncez le type d'extension et le raisonnement bref (placement, fonctionnalité, intégration).

Étape 3 : Lire la Référence d'Extension, Vérifier les Références API, Puis Découvrir (si nécessaire)

Flux de travail : Lire la référence d'extension → Vérifier les références API → Utiliser MCP uniquement pour les lacunes.

  1. Lisez le fichier de référence d'extension pour le type d'extension choisi du tableau ci-dessus
  2. Identifiez les API requises à partir des exigences de l'utilisateur
  3. Vérifiez les fichiers de référence API pertinents :
    • Événements backend → references/backend-event/COMMON-EVENTS.md
    • Wix Data → references/data-collection/WIX_DATA.md
    • SDK de tableau de bord → references/dashboard-page/DASHBOARD_API.md
    • SPI de plugin de service → references/service-plugin/*.md
  4. Vérifiez que la méthode/événement spécifique existe dans les références
  5. UTILISEZ UNIQUEMENT MCP discovery SI NON TROUVÉ dans les fichiers de référence

API de plateforme (ne jamais découvrir - dans les références) :

  • Wix Data, SDK de tableau de bord, SDK d'événement (événements courants), SPI de plugin de service

API verticales (découvrir si nécessaire) :

  • Wix Stores (⚠️ DOIT utiliser la référence de versioning Stores — vérification du catalogue V1/V3 requise), Wix Bookings, Wix Members, Wix Pricing Plans, intégrations tierces

Tableau de décision :

Exigence Utilisateur Vérifier Références / Découverte Nécessaire ? Raison / Fichier de Référence
« Afficher les produits du magasin » ✅ OUI (MCP discovery) API Wix Stores — inclure la référence de versioning Stores
« Afficher le calendrier de réservation » ✅ OUI (MCP discovery) API Wix Bookings pas dans les fichiers de référence
« Envoyer des e-mails aux utilisateurs » ✅ OUI (MCP discovery) Wix Triggered Emails pas dans les fichiers de référence
« Obtenir les informations des membres » ✅ OUI (MCP discovery) API Wix Members pas dans les fichiers de référence
« Écouter les événements du panier » Vérifier COMMON-EVENTS.md MCP discovery uniquement si l'événement manque dans la référence
« Stocker les données dans une collection » WIX_DATA.md ✅ Trouvé ❌ Ignorer la découverte (couvert par la référence)
« Créer des collections CMS pour mon application » Référence de collection de données ❌ Ignorer la découverte (couvert par une référence dédiée)
« Afficher un toast du tableau de bord » DASHBOARD_API.md ✅ Trouvé ❌ Ignorer la découverte
« Afficher un toast / naviguer » DASHBOARD_API.md ✅ Trouvé ❌ Ignorer la découverte
« UI uniquement (formulaires, entrées) » S/O (pas d'API externe) ❌ Ignorer la découverte
« Page de paramètres avec entrées de formulaire » S/O (UI uniquement, pas d'API externe) ❌ Ignorer la découverte
« Page de tableau de bord avec état local » S/O (pas d'API externe) ❌ Ignorer la découverte

Outils MCP pour la découverte (si nécessaire) :

  • SearchWixSDKDocumentation - Méthodes et API SDK (Toujours utiliser maxResults: 5)
  • ReadFullDocsArticle - Documentation complète si nécessaire (uniquement si les résultats de recherche ont besoin de plus de détails)

Étape 4 : Implémentation des Extensions

Suivez le fichier de référence d'extension pour implémenter chaque extension. Règles clés :

  • ⚠️ OBLIGATOIRE lors de l'utilisation de WDS : Invoquez la compétence wix-design-system EN PREMIER pour obtenir les imports corrects (les icônes proviennent de @wix/wix-ui-icons-common, PAS de @wix/design-system/icons).
  • ⚠️ OBLIGATOIRE lors de l'utilisation de collections de données : Utilisez l'ID de collection EXACT à partir de idSuffix (sensible à la casse). Exemple : Si idSuffix est « product-recommendations », utilisez <app-namespace>/product-recommendations ET NON productRecommendations.
  • Enregistrez toutes les extensions dans src/extensions.ts (voir Extension Registration).

Étape 5 : Exécuter la Validation

Après que toute l'implémentation soit complète, vous DEVEZ exécuter la validation. Voir APP_VALIDATION.md pour le flux de travail de validation complet :

  1. Installation de paquets (détecter le gestionnaire de paquets, exécuter l'installation)
  2. Vérification de compilation TypeScript (npx tsc --noEmit)
  3. Validation de build (npx wix build)
  4. Déploiement de preview (npx wix preview)

Ne SIGNALEZ PAS l'achèvement à l'utilisateur tant que la validation ne réussit pas.

Si la validation échoue, corrigez les erreurs et ré-validez jusqu'à ce qu'elle réussisse.

Étape 6 : Signaler l'Achèvement

Uniquement après que la validation réussisse, fournissez une section de résumé concise en haut de votre réponse :

## ✅ Implémentation Complète

[Description en 1-2 phrases de ce qui a été construit]

**Extensions Créées :**
- [Nom Extension 1] - [Brève description]
- [Nom Extension 2] - [Brève description]

**État de Build :**
- ✅ Dépendances : [Installées / message de statut]
- ✅ TypeScript : [Aucune erreur de compilation / statut]
- ✅ Build : [Achevé avec succès / statut]
- ✅/⚠️ Preview : [En cours d'exécution à l'URL / Échoué - raison]

**⚠️ IMPORTANT : [X] étape(s) manuelle(s) requise(s) pour finaliser la configuration** (voir la section « Manual Steps Required » ci-dessous)
  • S'il n'y a AUCUNE étape manuelle, énoncez : « ✅ Aucune étape manuelle requise — vous êtes prêt à partir ! »

Étape 7 : Exposer les Éléments d'Action Manuel

Présentez toute étape manuelle que l'utilisateur doit effectuer (par exemple, configurer les paramètres dans le tableau de bord Wix, activer les permissions, configurer les services externes).

Format :

## 🔧 Étapes Manuelles Requises

Les actions suivantes doivent être effectuées manuellement par vous :

### 1. [Catégorie d'Action/Titre]
[Description détaillée avec instructions spécifiques]

### 2. [Catégorie d'Action/Titre]
[Description détaillée]

Extension Registration

Après la création d'un fichier d'extension, vous devez mettre à jour le fichier principal src/extensions.ts pour enregistrer l'extension auprès de l'application. Voir EXTENSION_REGISTRATION.md pour le guide complet.

Modèle rapide :

import { app } from "@wix/astro/builders";
import { dashboardpageMyPage } from "./extensions/dashboard/pages/my-page/extensions.ts";
import { embeddedscriptMyScript } from "./extensions/site/embedded-scripts/my-script/extensions.ts";

export default app()
  .use(dashboardpageMyPage)
  .use(embeddedscriptMyScript);

Sans enregistrement, les extensions n'apparaîtront pas ou ne fonctionneront pas dans le tableau de bord/éditeur/site Wix.


Validation

Exécutez ces étapes séquentiellement après que toute l'implémentation soit complète. Voir APP_VALIDATION.md pour le guide complet.

  1. Installation de Paquets — Détecter le gestionnaire de paquets, exécuter l'installation
  2. Compilation TypeScriptnpx tsc --noEmit
  3. Buildnpx wix build
  4. Previewnpx wix preview

Arrêtez et signalez les erreurs si une étape échoue. Vérifiez .wix/debug.log en cas d'échecs.


Optimisation des Coûts

  • Lire d'abord la référence d'extension — toujours lire le fichier de référence d'extension pertinent avant d'implémenter
  • Vérifier d'abord les références API — lire les fichiers de référence API pertinents avant d'utiliser MCP discovery
  • Ignorer la découverte quand toutes les API requises se trouvent dans les fichiers de référence
  • maxResults: 5 pour toutes les recherches SDK MCP
  • ReadFullDocsArticle uniquement quand les résultats de recherche ont besoin de plus de contexte
  • Invoquer wix-design-system en premier lors de l'utilisation de WDS (prévient les erreurs d'import)

Documentation

Pour les liens vers la documentation officielle Wix CLI pour tous les types d'extension, voir DOCUMENTATION.md.

Skills similaires