@wix/agent-skills 1.15.1 → 1.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -7
- package/package.json +1 -1
- package/skills/wix-app/SKILL.md +4 -1
- package/skills/wix-app/references/APP_TOOLS.md +134 -0
- package/skills/wix-app/references/CUSTOM_ELEMENT_WIDGET.md +1 -1
- package/skills/wix-app/references/DASHBOARD_PAGE.md +0 -10
- package/skills/wix-app/references/DATA_COLLECTION.md +1 -1
- package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +42 -8
- package/skills/wix-app/references/SERVICE_PLUGIN.md +12 -10
- package/skills/wix-app/references/app-tools/TOOLS.md +75 -0
- package/skills/wix-app/references/dashboard-page/DASHBOARD_API.md +2 -2
- package/skills/wix-app/references/editor-react-component/A11Y-REVIEW-REFERENCE.md +172 -0
- package/skills/wix-app/references/editor-react-component/A11Y-REVIEW.md +143 -0
- package/skills/wix-app/references/editor-react-component/ANIMATED-COMPONENTS.md +23 -2
- package/skills/wix-app/references/editor-react-component/BRANDED-COMPONENTS.md +29 -0
- package/skills/wix-app/references/editor-react-component/COMPONENT-API.md +1 -1
- package/skills/wix-app/references/editor-react-component/COMPONENT-CONFIGURATION.md +60 -0
- package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +27 -2
- package/skills/wix-app/references/editor-react-component/DESIGN-STATES.md +5 -3
- package/skills/wix-app/references/editor-react-component/DIRECTIONALITY.md +24 -7
- package/skills/wix-app/references/editor-react-component/PARTS.md +15 -2
- package/skills/wix-app/references/editor-react-component/REACT-GUIDELINES.md +2 -3
- package/skills/wix-app/references/editor-react-component/SITE-CONTEXT-HOOKS.md +187 -0
- package/skills/wix-app/references/service-plugin/BOOKINGS-STAFF-SORTING.md +13 -9
- package/skills/wix-app/references/service-plugin/DISCOUNT-TRIGGERS.md +4 -0
- package/skills/wix-app/references/service-plugin/GIFT-CARDS.md +4 -0
- package/skills/wix-app/references/service-plugin/PAYMENT-SETTINGS.md +3 -1
- package/skills/wix-app/references/service-plugin/SHIPPING-RATES.md +4 -0
- package/skills/wix-app/references/service-plugin/TOOLS_PROVIDER.md +54 -0
- package/skills/wix-app/references/stores/QUERY.md +32 -0
- package/skills/wix-app/scripts/scan-a11y-code.cjs +777 -0
- package/skills/wix-app/scripts/scan-a11y-eslint.cjs +201 -0
- package/skills/wix-docs/SKILL.md +35 -3
- package/skills/wix-headless/SKILL.md +3 -1
- package/skills/wix-headless/references/CAPABILITIES.md +16 -3
- package/skills/wix-headless/references/CONTENT.md +36 -0
- package/skills/wix-headless/references/DESIGN.md +54 -0
- package/skills/wix-headless/references/DISCOVERY.md +24 -0
- package/skills/wix-headless/references/IMAGE_GENERATION.md +10 -0
- package/skills/wix-headless/references/SDK_HANDOFF.md +1 -1
- package/skills/wix-headless/references/SEED.md +1 -1
- package/skills/wix-headless/references/inline-recipes/how-to-code-a-store.md +3 -2
- package/skills/wix-headless/references/inline-recipes/how-to-code-forms.md +560 -102
- package/skills/wix-headless/references/inline-recipes/setup-forms.md +210 -143
- package/skills/wix-headless/references/inline-recipes/setup-online-store.md +32 -23
- package/skills/wix-headless/references/managed/CONNECT.md +1 -1
- package/skills/wix-headless/references/managed/CREATE.md +14 -0
- package/skills/wix-headless/references/managed/DEPLOYMENT.md +25 -0
- package/skills/wix-manage/SKILL.md +130 -7
- package/skills/wix-manage/references/accessibility/scan-site-accessibility.md +98 -0
- package/skills/wix-manage/references/analytics/analytics-dashboard-navigation.md +40 -0
- package/skills/wix-manage/references/app-installation/app-installation-dashboard-navigation.md +28 -0
- package/skills/wix-manage/references/blog/blog-dashboard-navigation.md +56 -0
- package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +31 -6
- package/skills/wix-manage/references/bookings/booking-service-policy-setup.md +3 -1
- package/skills/wix-manage/references/bookings/bookings-dashboard-navigation.md +63 -0
- package/skills/wix-manage/references/bookings/diagnose-availability-issues.md +10 -1
- package/skills/wix-manage/references/cms/cms-dashboard-navigation.md +44 -0
- package/skills/wix-manage/references/cms/cms-data-items-crud.md +31 -3
- package/skills/wix-manage/references/cms/cms-publishing-flow.md +287 -0
- package/skills/wix-manage/references/cms/cms-schema-management.md +27 -1
- package/skills/wix-manage/references/contacts/contacts-dashboard-navigation.md +46 -0
- package/skills/wix-manage/references/contacts/create-a-contact.md +82 -0
- package/skills/wix-manage/references/contacts/update-a-contact.md +119 -0
- package/skills/wix-manage/references/dashboard-navigation/dashboard-navigation.md +82 -0
- package/skills/wix-manage/references/dashboard-navigation/routes.json +1733 -0
- package/skills/wix-manage/references/domains/domains-dashboard-navigation.md +32 -0
- package/skills/wix-manage/references/ecommerce/ecom-pricing.md +4 -4
- package/skills/wix-manage/references/ecommerce/ecom-shipping.md +1 -1
- package/skills/wix-manage/references/ecommerce/gift-cards/ecom-gift-cards-goal-sell-gift-cards.md +338 -0
- package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-create-discount-rule.md +42 -78
- package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-bundle-and-save.md +1 -1
- package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-stock-mover.md +1 -1
- package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-upsell-boost.md +1 -1
- package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +90 -92
- package/skills/wix-manage/references/events/create-wix-event.md +176 -0
- package/skills/wix-manage/references/events/manage-wix-events.md +174 -0
- package/skills/wix-manage/references/forms/forms-dashboard-navigation.md +44 -0
- package/skills/wix-manage/references/get-paid/get-paid-dashboard-navigation.md +52 -0
- package/skills/wix-manage/references/google-ads/billing-and-payment.md +80 -0
- package/skills/wix-manage/references/google-ads/create-performance-max-campaign.md +212 -0
- package/skills/wix-manage/references/google-ads/get-campaign-suggestions.md +110 -0
- package/skills/wix-manage/references/google-ads/google-ads-dashboard-navigation.md +25 -0
- package/skills/wix-manage/references/google-ads/install-and-create-account.md +155 -0
- package/skills/wix-manage/references/google-ads/manage-campaign-lifecycle.md +63 -0
- package/skills/wix-manage/references/google-ads/query-campaign-analytics.md +155 -0
- package/skills/wix-manage/references/marketing/marketing-dashboard-navigation.md +52 -0
- package/skills/wix-manage/references/pricing-plans/create-and-update-pricing-plans.md +99 -1
- package/skills/wix-manage/references/pricing-plans/pricing-plans-dashboard-navigation.md +45 -0
- package/skills/wix-manage/references/restaurants/restaurants-dashboard-navigation.md +68 -0
- package/skills/wix-manage/references/restaurants/wix-restaurants-setup.md +94 -125
- package/skills/wix-manage/references/site-properties/change-payment-currency-site-properties.md +48 -9
- package/skills/wix-manage/references/site-properties/site-properties-dashboard-navigation.md +31 -0
- package/skills/wix-manage/references/sites/create-headless-site.md +52 -0
- package/skills/wix-manage/references/sites/create-site-from-template.md +2 -25
- package/skills/wix-manage/references/sites/site-import.md +217 -192
- package/skills/wix-manage/references/sites/sites-dashboard-navigation.md +29 -0
- package/skills/wix-manage/references/stores/add-store-pages-to-site.md +17 -1
- package/skills/wix-manage/references/stores/find-products-query-and-search-catalog-v3.md +26 -8
- package/skills/wix-manage/references/stores/stores-dashboard-navigation.md +65 -0
- package/skills/wix-manage/references/stores/update-product-with-options.md +39 -7
- package/skills/wix-replatform/.publish-manifest.json +8 -0
- package/skills/wix-replatform/SKILL.md +693 -0
- package/skills/wix-replatform/lib/artifact-freshness.js +215 -0
- package/skills/wix-replatform/lib/completion-report.js +200 -0
- package/skills/wix-replatform/lib/config-env.js +59 -0
- package/skills/wix-replatform/lib/execution-manifest.js +185 -0
- package/skills/wix-replatform/lib/execution-state.js +173 -0
- package/skills/wix-replatform/lib/import-recovery.js +313 -0
- package/skills/wix-replatform/lib/local-state.js +642 -0
- package/skills/wix-replatform/lib/orchestration-preflight.js +143 -0
- package/skills/wix-replatform/lib/orchestration-router.js +122 -0
- package/skills/wix-replatform/lib/orchestration-state.js +455 -0
- package/skills/wix-replatform/lib/progress-log.js +224 -0
- package/skills/wix-replatform/lib/progress-log.sh +140 -0
- package/skills/wix-replatform/lib/url-preservation-state.js +391 -0
- package/skills/wix-replatform/resources/rp-discovery/SKILL.md +184 -0
- package/skills/wix-replatform/resources/rp-execute-import/SKILL.md +529 -0
- package/skills/wix-replatform/resources/rp-execute-setup/SKILL.md +316 -0
- package/skills/wix-replatform/resources/rp-execute-setup/scripts/mint-token.sh +64 -0
- package/skills/wix-replatform/resources/rp-import-codegen/SKILL.md +1114 -0
- package/skills/wix-replatform/resources/rp-mapper/SKILL.md +430 -0
- package/skills/wix-replatform/resources/rp-mapper/lib/mapping-resolve.js +217 -0
- package/skills/wix-replatform/resources/rp-mapper/scripts/resolve-mapping.js +148 -0
- package/skills/wix-replatform/resources/rp-mapper/wix-business-solutions-taxonomy.md +378 -0
- package/skills/wix-replatform/resources/rp-setup-discovery/SKILL.md +183 -0
- package/skills/wix-replatform/resources/rp-source-csv/SKILL.md +478 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/canonical-record.js +136 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fileset.js +0 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fingerprint.js +310 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-layout.js +1081 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-parse.js +618 -0
- package/skills/wix-replatform/resources/rp-source-csv/scripts/csv-discovery.js +949 -0
- package/skills/wix-replatform/resources/rp-source-csv/source-schema.example.json +196 -0
- package/skills/wix-replatform/resources/rp-source-csv/vendors/bigcommerce.json +66 -0
- package/skills/wix-replatform/resources/rp-source-csv/vendors/magento.json +60 -0
- package/skills/wix-replatform/resources/rp-source-csv/vendors/shopify.json +95 -0
- package/skills/wix-replatform/resources/rp-source-csv/vendors/woocommerce.json +82 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/SKILL.md +256 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-http.js +249 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-route-classifier.js +444 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-discovery.js +774 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/source-schema.example.json +71 -0
- package/skills/wix-replatform/resources/rp-target-wix/SKILL.md +632 -0
- package/skills/wix-replatform/resources/rp-target-wix/SPEC-product-reviews-and-blog-authorship.md +330 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/README.md +21 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/domain.json +19 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/category.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/comment.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/post.json +39 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/tag.json +35 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/domain.json +14 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/collection.json +35 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/data-item.json +36 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/reference.json +35 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/domain.json +14 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/contact.json +131 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/email-subscription.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/label.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/domain.json +21 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-refund.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order.json +97 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/index.json +528 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/domain.json +14 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-file.json +38 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-folder.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/domain.json +13 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/badge.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member.json +53 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/schema.json +84 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/domain.json +25 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/category.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/coupon.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/inventory-item.json +38 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-tag.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product.json +90 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/audit-summary.js +64 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/contract-ledger.js +141 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/domain-knowledge.js +384 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/ndjson.js +260 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/stores-verification.js +238 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-build.js +237 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-target-spec.js +238 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-writers.js +2219 -0
- package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge-validate.js +31 -0
- package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge.js +100 -0
- package/skills/wix-replatform/resources/rp-target-wix/scripts/verify-stores.js +107 -0
- package/skills/wix-replatform/resources/rp-telemetry/SKILL.md +344 -0
- package/skills/wix-replatform/resources/rp-telemetry/lib/bi-sink.js +250 -0
- package/skills/wix-replatform/resources/rp-telemetry/lib/telemetry-recorder.js +1927 -0
- package/skills/wix-replatform/resources/rp-telemetry/scripts/meter-from-audit.js +83 -0
- package/skills/wix-replatform/resources/rp-telemetry/scripts/rp-telemetry.js +141 -0
- package/skills/wix-replatform/scripts/artifact-freshness.js +76 -0
- package/skills/wix-replatform/scripts/execution-manifest-validate.js +43 -0
- package/skills/wix-replatform/scripts/execution-state-prepare.js +128 -0
- package/skills/wix-replatform/scripts/orchestration-preflight.js +48 -0
- package/skills/wix-replatform/scripts/orchestration-route.js +46 -0
- package/skills/wix-replatform/scripts/orchestration-state.js +245 -0
- package/skills/wix-vibe-headless/SKILL.md +49 -25
- package/skills/wix-vibe-headless/install/deploy.cjs +156 -0
- package/skills/wix-vibe-headless/install/pin-agents-md.cjs +34 -0
- package/skills/wix-vibe-headless/platforms/README.md +8 -4
- package/skills/wix-vibe-headless/platforms/base44.md +111 -101
- package/skills/wix-vibe-headless/platforms/generic.md +99 -64
- package/skills/wix-vibe-headless/references/blog/INSTRUCTIONS.md +226 -119
- package/skills/wix-vibe-headless/references/blog/app/components/PostCard.jsx +43 -0
- package/skills/wix-vibe-headless/references/blog/app/components/PostChips.jsx +25 -0
- package/skills/wix-vibe-headless/references/blog/app/components/PostGrid.jsx +15 -0
- package/skills/wix-vibe-headless/references/blog/app/context/TaxonomyContext.jsx +35 -0
- package/skills/wix-vibe-headless/references/blog/app/hooks/usePostDetail.js +38 -0
- package/skills/wix-vibe-headless/references/blog/app/pages/Blog.jsx +40 -0
- package/skills/wix-vibe-headless/references/blog/app/pages/CategoryPage.jsx +54 -0
- package/skills/wix-vibe-headless/references/blog/app/pages/PostDetail.jsx +65 -0
- package/skills/wix-vibe-headless/references/blog/app/pages/TagPage.jsx +50 -0
- package/skills/wix-vibe-headless/references/blog/seed/SEED.md +103 -0
- package/skills/wix-vibe-headless/references/blog/seed/seed-blog.js +270 -0
- package/skills/wix-vibe-headless/references/bookings/INSTRUCTIONS.md +256 -149
- package/skills/wix-vibe-headless/references/bookings/app/components/BookingForm.jsx +65 -0
- package/skills/wix-vibe-headless/references/bookings/app/components/ServiceCard.jsx +47 -0
- package/skills/wix-vibe-headless/references/bookings/app/components/ServiceGrid.jsx +13 -0
- package/skills/wix-vibe-headless/references/bookings/app/components/SlotPicker.jsx +126 -0
- package/skills/wix-vibe-headless/references/bookings/app/hooks/useServiceDetail.js +108 -0
- package/skills/wix-vibe-headless/references/bookings/app/hooks/useServices.js +58 -0
- package/skills/wix-vibe-headless/references/bookings/app/lib/serviceFacts.js +95 -0
- package/skills/wix-vibe-headless/references/bookings/app/pages/ServiceDetail.jsx +94 -0
- package/skills/wix-vibe-headless/references/bookings/app/pages/Services.jsx +89 -0
- package/skills/wix-vibe-headless/references/bookings/{wix-bookings-checkout.js → app/rest/wix-bookings-checkout.js} +1 -1
- package/skills/wix-vibe-headless/references/bookings/{wix-bookings-services.js → app/rest/wix-bookings-services.js} +87 -11
- package/skills/wix-vibe-headless/references/bookings/seed/SEED.md +117 -0
- package/skills/wix-vibe-headless/references/bookings/seed/seed-bookings.js +333 -0
- package/skills/wix-vibe-headless/references/cms/INSTRUCTIONS.md +168 -147
- package/skills/wix-vibe-headless/references/cms/app/collection.config.js +31 -0
- package/skills/wix-vibe-headless/references/cms/app/lib/wixImage.js +18 -0
- package/skills/wix-vibe-headless/references/cms/{wix-cms.js → app/rest/wix-cms.js} +47 -2
- package/skills/wix-vibe-headless/references/cms/seed/SEED.md +145 -0
- package/skills/wix-vibe-headless/references/events/INSTRUCTIONS.md +223 -131
- package/skills/wix-vibe-headless/references/events/app/components/CategoryFilter.jsx +23 -0
- package/skills/wix-vibe-headless/references/events/app/components/EventCard.jsx +43 -0
- package/skills/wix-vibe-headless/references/events/app/components/EventGrid.jsx +13 -0
- package/skills/wix-vibe-headless/references/events/app/components/EventRegistration.jsx +29 -0
- package/skills/wix-vibe-headless/references/events/app/components/RsvpForm.jsx +57 -0
- package/skills/wix-vibe-headless/references/events/app/components/TicketPicker.jsx +78 -0
- package/skills/wix-vibe-headless/references/events/app/hooks/useEventDetail.js +27 -0
- package/skills/wix-vibe-headless/references/events/app/hooks/useEventsList.js +54 -0
- package/skills/wix-vibe-headless/references/events/app/hooks/useRsvpForm.js +40 -0
- package/skills/wix-vibe-headless/references/events/app/hooks/useTicketing.js +81 -0
- package/skills/wix-vibe-headless/references/events/app/pages/EventDetail.jsx +48 -0
- package/skills/wix-vibe-headless/references/events/app/pages/Events.jsx +36 -0
- package/skills/wix-vibe-headless/references/events/{wix-events-browse.js → app/rest/wix-events-browse.js} +1 -1
- package/skills/wix-vibe-headless/references/events/seed/SEED.md +107 -0
- package/skills/wix-vibe-headless/references/events/seed/seed-events.js +251 -0
- package/skills/wix-vibe-headless/references/members/INSTRUCTIONS.md +272 -188
- package/skills/wix-vibe-headless/references/members/app/components/LoginForm.jsx +101 -0
- package/skills/wix-vibe-headless/references/members/app/components/MemberMenu.jsx +33 -0
- package/skills/wix-vibe-headless/references/members/app/components/RequireAuth.jsx +21 -0
- package/skills/wix-vibe-headless/references/members/app/components/SocialButtons.jsx +29 -0
- package/skills/wix-vibe-headless/references/members/app/context/MemberContext.jsx +54 -0
- package/skills/wix-vibe-headless/references/members/app/hooks/useLoginForm.js +77 -0
- package/skills/wix-vibe-headless/references/members/app/pages/Account.jsx +36 -0
- package/skills/wix-vibe-headless/references/members/app/pages/Callback.jsx +32 -0
- package/skills/wix-vibe-headless/references/members/app/pages/Login.jsx +35 -0
- package/skills/wix-vibe-headless/references/members/{wix-members-auth.js → app/rest/wix-members-auth.js} +6 -3
- package/skills/wix-vibe-headless/references/members/install/Register.jsx +22 -0
- package/skills/wix-vibe-headless/references/members/seed/SEED.md +22 -0
- package/skills/wix-vibe-headless/references/portfolio/INSTRUCTIONS.md +229 -104
- package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionCard.jsx +31 -0
- package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionGrid.jsx +15 -0
- package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectCard.jsx +39 -0
- package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectGrid.jsx +15 -0
- package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectMedia.jsx +29 -0
- package/skills/wix-vibe-headless/references/portfolio/app/hooks/useCollectionProjects.js +35 -0
- package/skills/wix-vibe-headless/references/portfolio/app/hooks/usePortfolioGallery.js +27 -0
- package/skills/wix-vibe-headless/references/portfolio/app/hooks/useProjectDetail.js +25 -0
- package/skills/wix-vibe-headless/references/portfolio/app/pages/CollectionPage.jsx +39 -0
- package/skills/wix-vibe-headless/references/portfolio/app/pages/Portfolio.jsx +27 -0
- package/skills/wix-vibe-headless/references/portfolio/app/pages/ProjectDetail.jsx +60 -0
- package/skills/wix-vibe-headless/references/portfolio/seed/SEED.md +94 -0
- package/skills/wix-vibe-headless/references/portfolio/seed/seed-portfolio.js +236 -0
- package/skills/wix-vibe-headless/references/pricing-plans/INSTRUCTIONS.md +236 -117
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/OrderCard.jsx +35 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanCard.jsx +48 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanGrid.jsx +16 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanPrice.jsx +35 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/useMyPlans.js +25 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlanDetail.js +28 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlans.js +30 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/pages/MyPlans.jsx +30 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/pages/PlanDetail.jsx +53 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/pages/Plans.jsx +28 -0
- package/skills/wix-vibe-headless/references/pricing-plans/seed/SEED.md +86 -0
- package/skills/wix-vibe-headless/references/pricing-plans/seed/seed-pricing-plans.js +251 -0
- package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +244 -124
- package/skills/wix-vibe-headless/references/restaurants/app/components/ItemDialog.jsx +81 -0
- package/skills/wix-vibe-headless/references/restaurants/app/components/MenuItemCard.jsx +71 -0
- package/skills/wix-vibe-headless/references/restaurants/app/components/MenuList.jsx +43 -0
- package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartButton.jsx +21 -0
- package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartDrawer.jsx +60 -0
- package/skills/wix-vibe-headless/references/restaurants/app/context/OrderCartContext.jsx +63 -0
- package/skills/wix-vibe-headless/references/restaurants/app/hooks/useItemOrder.js +32 -0
- package/skills/wix-vibe-headless/references/restaurants/app/hooks/useReservation.js +73 -0
- package/skills/wix-vibe-headless/references/restaurants/app/pages/Menu.jsx +28 -0
- package/skills/wix-vibe-headless/references/restaurants/app/pages/Reservations.jsx +102 -0
- package/skills/wix-vibe-headless/references/restaurants/seed/SEED.md +180 -0
- package/skills/wix-vibe-headless/references/restaurants/seed/seed-restaurants.js +452 -0
- package/skills/wix-vibe-headless/references/shared/app/components/WixManageBanner.jsx +56 -0
- package/skills/wix-vibe-headless/references/shared/{wix-client.js → app/rest/wix-client.js} +6 -8
- package/skills/wix-vibe-headless/references/shared/app/rest/wix-config.js +8 -0
- package/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md +259 -157
- package/skills/wix-vibe-headless/references/storefront/app/components/CartButton.jsx +20 -0
- package/skills/wix-vibe-headless/references/storefront/app/components/CartDrawer.jsx +150 -0
- package/skills/wix-vibe-headless/references/storefront/app/components/ProductCard.jsx +167 -0
- package/skills/wix-vibe-headless/references/storefront/app/components/ProductGallery.jsx +51 -0
- package/skills/wix-vibe-headless/references/storefront/app/components/ProductGrid.jsx +54 -0
- package/skills/wix-vibe-headless/references/storefront/app/components/VariantPicker.jsx +119 -0
- package/skills/wix-vibe-headless/references/storefront/app/context/CartContext.jsx +71 -0
- package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductDetail.js +109 -0
- package/skills/wix-vibe-headless/references/storefront/app/hooks/useShop.js +98 -0
- package/skills/wix-vibe-headless/references/storefront/app/lib/storeImage.js +27 -0
- package/skills/wix-vibe-headless/references/storefront/app/pages/ProductDetail.jsx +139 -0
- package/skills/wix-vibe-headless/references/storefront/app/pages/Shop.jsx +75 -0
- package/skills/wix-vibe-headless/references/storefront/{wix-store-cart.js → app/rest/wix-store-cart.js} +1 -1
- package/skills/wix-vibe-headless/references/storefront/{wix-store-catalog.js → app/rest/wix-store-catalog.js} +20 -1
- package/skills/wix-vibe-headless/references/storefront/seed/SEED.md +111 -0
- package/skills/wix-vibe-headless/references/storefront/seed/seed-store.js +338 -0
- /package/skills/wix-vibe-headless/references/blog/{wix-blog.js → app/rest/wix-blog.js} +0 -0
- /package/skills/wix-vibe-headless/references/events/{wix-events-registration.js → app/rest/wix-events-registration.js} +0 -0
- /package/skills/wix-vibe-headless/references/portfolio/{wix-portfolio.js → app/rest/wix-portfolio.js} +0 -0
- /package/skills/wix-vibe-headless/references/pricing-plans/{wix-pricing-plans.js → app/rest/wix-pricing-plans.js} +0 -0
- /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-menu.js → app/rest/wix-restaurants-menu.js} +0 -0
- /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-ordering.js → app/rest/wix-restaurants-ordering.js} +0 -0
- /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-reservations.js → app/rest/wix-restaurants-reservations.js} +0 -0
|
@@ -1,142 +1,152 @@
|
|
|
1
1
|
# Wix Managed Headless — Base44 build instructions
|
|
2
2
|
|
|
3
|
-
You are building a **Wix Managed** headless site inside Base44
|
|
4
|
-
|
|
5
|
-
it for all Wix API calls.
|
|
3
|
+
You are building a **Wix Managed** headless site inside Base44 — the business is described in your
|
|
4
|
+
initial prompt, and the Wix connector is already configured; use it for all admin API calls.
|
|
6
5
|
|
|
7
|
-
Your Wix client id is
|
|
8
|
-
only
|
|
9
|
-
the Wix client setup.
|
|
6
|
+
Your Wix client id is in your prompt — a public, buyer-facing credential (anonymous visitor tokens
|
|
7
|
+
only), safe in the frontend; use it directly for the Wix client setup.
|
|
10
8
|
|
|
11
|
-
|
|
9
|
+
> **`wix-vibe-headless` and `wix-docs` are the complete build and seed path for this app — the Wix connector supplies the token for admin API calls.** **Do NOT use the Base44 commerce kit (or any Base44 solution kit).**
|
|
12
10
|
|
|
13
|
-
|
|
11
|
+
Follow STEPs 1–5 below exactly (run STEP 4 in parallel with STEP 3).
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
- **`wix-vibe-headless`** — the client build guide: how to build the frontend against the Wix
|
|
17
|
-
APIs. This is your main source of truth (STEP 1).
|
|
18
|
-
- **`wix-headless`** — a broad skill for building full Wix apps with the Wix SDK packages, **most
|
|
19
|
-
of which does not apply to how you build here**. Use it **only** as a seeding/admin recipe
|
|
20
|
-
reference — its `references/SEED.md` and `references/inline-recipes/`, for STEP 2. **Ignore
|
|
21
|
-
everything else in it** — in particular do **not** follow its authentication / `@wix/cli` /
|
|
22
|
-
"managed project" setup (e.g. anything under `references/managed/`, such as `AUTHENTICATION.md`).
|
|
23
|
-
That is **not** how auth works here — auth is handled per STEP 2 below.
|
|
24
|
-
- **`wix-docs`** — a **fallback**: how to search and read the Wix API reference docs, for anything
|
|
25
|
-
the seeding recipes above don't cover.
|
|
13
|
+
## STEP 1 — Install the Wix skills locally
|
|
26
14
|
|
|
27
|
-
|
|
28
|
-
|
|
15
|
+
Install two skills — they land under `.agents/skills/`:
|
|
16
|
+
- **`wix-vibe-headless`** — the client build **and** seed guide (STEPs 3–4): your main source of
|
|
17
|
+
truth. Seeding lives here too, per-vertical under `references/<vertical>/seed/`.
|
|
18
|
+
- **`wix-docs`** — a **fallback**: search + read the Wix API docs for anything `wix-vibe-headless`
|
|
19
|
+
doesn't cover.
|
|
20
|
+
|
|
21
|
+
Run this through exec_tool, exactly as written — installs both skills, deploys REST scaffolds + UI into `src/`, writes `wix-config.js`, and pins the AGENTS.md note.
|
|
22
|
+
|
|
23
|
+
**Set `VERTICALS`** to what the prompt asks for (too vague to tell? do STEP 2 first, then set it):
|
|
24
|
+
|
|
25
|
+
| vertical | pick it when the app needs to |
|
|
26
|
+
|---|---|
|
|
27
|
+
| `storefront` | sell products |
|
|
28
|
+
| `bookings` | take appointments or service bookings |
|
|
29
|
+
| `blog` | publish articles |
|
|
30
|
+
| `events` | publish events with RSVPs or ticket sales |
|
|
31
|
+
| `portfolio` | showcase creative work |
|
|
32
|
+
| `pricing-plans` | sell memberships or subscriptions |
|
|
33
|
+
| `restaurants` | show a menu, take orders, book tables |
|
|
34
|
+
| `members` | let visitors sign in — this is **auth** |
|
|
35
|
+
| `cms` | keep its own structured content — user submissions, galleries, listings, anything the rows above don't already cover |
|
|
36
|
+
|
|
37
|
+
**List every vertical the app uses.** `cms` for app-stored content, `members` for visitor sign-in — these often join the main vertical. Adding one later: re-run with the extra name.
|
|
29
38
|
|
|
30
39
|
```js
|
|
31
40
|
const { execSync } = require('child_process');
|
|
32
|
-
const { readdirSync } = require('fs');
|
|
33
|
-
|
|
34
|
-
const
|
|
41
|
+
const { existsSync, readdirSync } = require('fs');
|
|
42
|
+
const VERTICALS = ['storefront']; // ← set from the prompt; list every vertical the app uses
|
|
43
|
+
// const VERTICALS = ['members', 'cms']; // ← e.g. visitors sign in AND the app stores what they submit
|
|
44
|
+
// COPY these two straight from the prompt — deploy writes them into src/rest/wix-config.js, so never
|
|
45
|
+
// retype either one into a file by hand afterwards.
|
|
46
|
+
const WIX_CLIENT_ID = '<client id from the prompt>';
|
|
47
|
+
const WIX_METASITE_ID = '<site id from the prompt>';
|
|
35
48
|
const results = {};
|
|
36
|
-
|
|
37
|
-
|
|
49
|
+
for (const skill of ['wix-vibe-headless', 'wix-docs']) {
|
|
50
|
+
if (existsSync(`/app/.agents/skills/${skill}/SKILL.md`)) { results[skill] = 'already_installed'; continue; }
|
|
38
51
|
try {
|
|
39
|
-
const out = execSync(`CI=1 npx -y skills add wix/skills/skills/${skill} --yes 2>&1`,
|
|
40
|
-
cwd: '/app', timeout: 60000, shell: '/bin/bash'
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
? 'success'
|
|
45
|
-
: text.includes('No valid skills') ? 'not_found' : 'unknown';
|
|
46
|
-
} catch (e) {
|
|
47
|
-
results[skill] = 'error: ' + e.message;
|
|
48
|
-
}
|
|
52
|
+
const out = execSync(`CI=1 npx -y skills add wix/skills/skills/${skill} --yes 2>&1`,
|
|
53
|
+
{ cwd: '/app', timeout: 60000, shell: '/bin/bash' }).toString().replace(/\x1b\[[0-9;]*m/g, '');
|
|
54
|
+
results[skill] = /installed 1 skill|found 1 skill/i.test(out) ? 'success'
|
|
55
|
+
: out.includes('No valid skills') ? 'not_found' : 'unknown';
|
|
56
|
+
} catch (e) { results[skill] = 'error: ' + e.message; }
|
|
49
57
|
}
|
|
50
|
-
|
|
51
|
-
|
|
58
|
+
const deploy = execSync(`node /app/.agents/skills/wix-vibe-headless/install/deploy.cjs ${VERTICALS.join(' ')} --client-id ${WIX_CLIENT_ID} --metasite-id ${WIX_METASITE_ID}`, { cwd: '/app' }).toString();
|
|
59
|
+
const agentsMd = execSync(`node /app/.agents/skills/wix-vibe-headless/install/pin-agents-md.cjs`, { cwd: '/app' }).toString();
|
|
60
|
+
return { results, installed: readdirSync('/app/.agents/skills'), deploy: JSON.parse(deploy), agentsMd: JSON.parse(agentsMd) };
|
|
52
61
|
```
|
|
53
62
|
|
|
54
|
-
|
|
55
|
-
|
|
63
|
+
Read skills with **`read_file`** using workspace-relative paths (e.g. `.agents/skills/wix-vibe-headless/SKILL.md`) — absolute `/app/...` fails. Always read from `.agents/skills/` exactly on every turn; ignore stray copies like `agent/skills/`.
|
|
64
|
+
|
|
65
|
+
## STEP 2 (optional) — Brief doesn't say what to build? Read the site
|
|
66
|
+
|
|
67
|
+
Only when the business description is vague or missing (else skip to STEP 3). Don't guess the Wix
|
|
68
|
+
Business Solution — **read the site in one call** via the connector (exec_tool):
|
|
56
69
|
|
|
57
70
|
```js
|
|
58
|
-
const {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
|
|
71
|
+
const { accessToken } = await base44.asServiceRole.connectors.getConnection("wix");
|
|
72
|
+
const res = await fetch("https://www.wixapis.com/_api/dynamic-context/v1/dynamic-context/markdown", {
|
|
73
|
+
method: "POST",
|
|
74
|
+
headers: { Authorization: `Bearer ${accessToken}`, "Content-Type": "application/json" },
|
|
75
|
+
body: JSON.stringify({ siteId: "<metasite id from your prompt>" }),
|
|
76
|
+
});
|
|
77
|
+
return (await res.json()).markdown;
|
|
63
78
|
```
|
|
64
79
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
- **`read_file` (preferred):** rooted at `/app`, so use the workspace-relative path
|
|
71
|
-
`.agents/skills/wix-vibe-headless/SKILL.md` — an absolute `/app/...` double-prefixes and fails.
|
|
72
|
-
- **exec_tool / shell** (only if you must): use the absolute path
|
|
73
|
-
`/app/.agents/skills/wix-vibe-headless/SKILL.md`.
|
|
80
|
+
It returns a markdown report — installed apps (by name), status, URL, locale, CMS collections
|
|
81
|
+
([docs](https://dev.wix.com/docs/api-reference/tools/dynamic-site-context/get-dynamic-context-markdown.md)).
|
|
82
|
+
Build for the installed apps' solutions (several → prioritize by the user's words and which holds
|
|
83
|
+
real, non-sample content); the same output drives STEP 4's seeding — never seed guessed ones. If it
|
|
84
|
+
fails or shows nothing relevant, ask the user what they offer.
|
|
74
85
|
|
|
75
|
-
## STEP
|
|
86
|
+
## STEP 3 — Build the client
|
|
76
87
|
|
|
77
|
-
Read `.agents/skills/wix-vibe-headless/SKILL.md` and follow it **EXACTLY** —
|
|
78
|
-
|
|
79
|
-
the `wix-vibe-headless` skill provides (e.g. the Wix client setup) and adapting them over
|
|
80
|
-
re-generating them from scratch.
|
|
88
|
+
Read `.agents/skills/wix-vibe-headless/SKILL.md` and follow it **EXACTLY** — the single source of
|
|
89
|
+
truth for how the client is built.
|
|
81
90
|
|
|
82
|
-
|
|
91
|
+
**REST scaffolds + `wix-config.js` are already in `src/rest/`** (STEP 1 wrote them). Some verticals also ship a ready UI client in `src/` — theme + wire it per `INSTRUCTIONS.md`, don't rebuild. **Don't `read_file` deployed files** — every field shape is in `INSTRUCTIONS.md`; read one only on a real error or gap.
|
|
83
92
|
|
|
84
|
-
|
|
85
|
-
`
|
|
86
|
-
|
|
87
|
-
search and read the relevant Wix API docs.
|
|
93
|
+
**`src/App.jsx`: edit surgically, never rewrite.** It carries required platform auth scaffolding
|
|
94
|
+
(`AuthProvider`/`useAuth` from `@/lib/AuthContext`); a full rewrite drops them → the validator
|
|
95
|
+
rejects the write. Wire routes/imports in with `find_replace`, leave the rest as-is.
|
|
88
96
|
|
|
89
|
-
|
|
90
|
-
right after a fresh install, but the site may already hold **real content** (a prior run, or
|
|
91
|
-
owner-added) — if what's there isn't obviously install sample data, or you're unsure, **do not
|
|
92
|
-
delete or overwrite it without the user's explicit ask or approval** (ask first).
|
|
97
|
+
## STEP 4 — Manage and seed the business
|
|
93
98
|
|
|
94
|
-
**
|
|
95
|
-
|
|
96
|
-
|
|
99
|
+
**Never delete or clean up anything on the user's site — seeding is additive only.** It's a live
|
|
100
|
+
user-owned business, so never delete or overwrite existing content, even apparent sample data. If a
|
|
101
|
+
cleanup truly seems needed, ask the user first.
|
|
102
|
+
|
|
103
|
+
Seed by calling your vertical's ready-made seed module — read
|
|
104
|
+
`.agents/skills/wix-vibe-headless/references/<vertical>/seed/SEED.md` and load its `seed-*.js` via
|
|
105
|
+
its loader snippet (build-time exec_tool); call its functions with your data. Gaps or an unexpected
|
|
106
|
+
shape → the **`wix-docs`** skill.
|
|
107
|
+
|
|
108
|
+
**Auth for these admin calls is the already-configured Wix connector — nothing else.** Get its
|
|
109
|
+
access token and send it as a bearer token; do **not** hand-roll a token getter (e.g.
|
|
110
|
+
`getAdminToken()`), install/run the Wix CLI (`@wix/cli`), or device-login (no managed-project auth
|
|
111
|
+
flow applies to Base44):
|
|
97
112
|
|
|
98
113
|
```js
|
|
99
114
|
const { accessToken } = await base44.asServiceRole.connectors.getConnection("wix");
|
|
100
115
|
// then: fetch(url, { headers: { Authorization: `Bearer ${accessToken}`, "Content-Type": "application/json" }, ... })
|
|
101
116
|
```
|
|
102
117
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
118
|
+
Inline via exec_tool, `base44` is already declared — use it directly; do **not** import
|
|
119
|
+
`@base44/sdk`, re-declare it, or call `createClient()` (that's for standalone `.js` files only;
|
|
120
|
+
inline it throws *"Identifier 'base44' has already been declared."*).
|
|
106
121
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
'
|
|
122
|
+
**Entity images.** For image-bearing entities (store products, blog covers, bookings services,
|
|
123
|
+
restaurant items, portfolio projects, event heroes, CMS items), generate with **Base44's built-in
|
|
124
|
+
image generation**, then attach via the vertical seed module's image-attach step — `wix-docs` if the
|
|
125
|
+
module doesn't cover that entity.
|
|
111
126
|
|
|
112
|
-
**
|
|
113
|
-
|
|
114
|
-
|
|
127
|
+
**Seed images with the FINAL url, in one call.** Seeding writes to Wix, so use the real
|
|
128
|
+
`https://media.base44.com/...` url from the **completed** `generate_image` result and pass it straight
|
|
129
|
+
into your single `setupStore`/seed call (images included). A still-generating `/__generating__/<id>.png`
|
|
130
|
+
placeholder is not a real url — Wix can't fetch it. `generate_image` runs in the background while you
|
|
131
|
+
build the client, so the urls are ready by the time you seed.
|
|
115
132
|
|
|
116
|
-
|
|
133
|
+
The connector + seeding are **admin-only** (STEP 4) — **not** part of the client, which is built
|
|
134
|
+
solely per the `wix-vibe-headless` skill.
|
|
117
135
|
|
|
118
|
-
|
|
119
|
-
are independent, so don't wait for one to start the other. Within each step, also work in
|
|
120
|
-
parallel where possible (e.g. independent API calls, seeding multiple entities) instead of
|
|
121
|
-
one-by-one, to finish faster.
|
|
122
|
-
|
|
123
|
-
## STEP 3 — Wrap up
|
|
136
|
+
## STEP 5 — Wrap up
|
|
124
137
|
|
|
125
138
|
Once the site is built and seeded:
|
|
126
139
|
|
|
127
|
-
1. **
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
you were given): `https://manage.wix.com/dashboard/{metaSiteId}`
|
|
140
|
+
1. **Mount the preview-only manage banner** (required; links the app to its Wix back office; shipped,
|
|
141
|
+
self-gates to the preview, never on the published site): render the `<WixManageBanner/>` component
|
|
142
|
+
in your Layout's fixed top region, above the header, per your vertical's INSTRUCTIONS STEP 4.
|
|
143
|
+
2. **Ask the user to open** `https://manage.wix.com/dashboard/{metaSiteId}` (substitute your
|
|
144
|
+
metasite id) to complete setup in Wix (required), and mention that the preview shows a dismissible
|
|
145
|
+
top banner linking to this same dashboard.
|
|
146
|
+
|
|
147
|
+
**Preview briefly, don't chase images.** Broken images are expected — `generate_image` returns a `/__generating__/…` placeholder that the platform swaps for the final url automatically at turn end (failures get a stock fallback). **Do NOT edit, re-seed, or debug image urls.** Leave them and finish.
|
|
136
148
|
|
|
137
149
|
## Later admin requests
|
|
138
150
|
|
|
139
|
-
For any later admin/management request
|
|
140
|
-
`wix-
|
|
141
|
-
and, where the operation isn't documented there, fall back to the `wix-docs` skill to search the
|
|
142
|
-
Wix API docs — all over the Wix connector.
|
|
151
|
+
For any later admin/management request, work as in STEP 4: your vertical's seed module first, else
|
|
152
|
+
`wix-docs` — all over the connector.
|
|
@@ -1,87 +1,122 @@
|
|
|
1
|
-
# Wix Managed Headless — build instructions
|
|
1
|
+
# Wix Managed Headless — build instructions (any stack)
|
|
2
2
|
|
|
3
|
-
You are building a **Wix Managed** headless site
|
|
4
|
-
|
|
3
|
+
You are building a **Wix Managed** headless site — the business, your `WIX_CLIENT_ID`, and metasite
|
|
4
|
+
id are in your prompt. This skill is **client-only REST** over the public `WIX_CLIENT_ID`
|
|
5
|
+
(visitor-facing, safe in the browser) — no `@wix/sdk`, no backend, no build step.
|
|
5
6
|
|
|
6
|
-
##
|
|
7
|
+
## What you've got in the skill
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
- **`wix-headless`** — a broad skill for building full Wix apps with the Wix SDK packages, **most
|
|
12
|
-
of which does not apply to how you build here**. Use it **only** as a seeding/admin recipe
|
|
13
|
-
reference — its `references/SEED.md` and `references/inline-recipes/`, for STEP 2. **Ignore
|
|
14
|
-
everything else in it** — in particular do **not** follow its authentication / `@wix/cli` /
|
|
15
|
-
"managed project" setup (e.g. anything under `references/managed/`, such as `AUTHENTICATION.md`).
|
|
16
|
-
That is **not** how auth works here — auth is handled per STEP 2 below.
|
|
17
|
-
- **`wix-docs`** — a **fallback**: how to search and read the Wix API reference docs, for anything
|
|
18
|
-
the seeding recipes above don't cover.
|
|
9
|
+
The docs were authored for **one host stack** (Vite + react-router, `.jsx`, files pre-copied into
|
|
10
|
+
`src/`) — you may be on another, so **adapt these assets to your stack; don't copy the host's setup.**
|
|
11
|
+
Everything is under `.agents/skills/wix-vibe-headless/references/`.
|
|
19
12
|
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
**Shared transport — both files, used by every vertical (`shared/app/rest/`):**
|
|
14
|
+
|
|
15
|
+
| file | what's in it |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `wix-client.js` | The transport: exchanges `WIX_CLIENT_ID` for an anonymous **visitor token**, persists + refreshes it (that token *is* the cart/session identity), and exposes `wixApiRequest(path, {method, body, query})` — plus the member-session swap (`setSessionTokens` / `clearSession` / `isMember`). Plain `fetch`; SSR-guards `window`/`localStorage`; maps 402 + error bodies. |
|
|
18
|
+
| `wix-config.js` | Holds `WIX_CLIENT_ID` + `WIX_METASITE_ID` — the only values to fill in. |
|
|
19
|
+
|
|
20
|
+
**Every `references/<vertical>/` holds the same four things:**
|
|
21
|
+
|
|
22
|
+
- `app/rest/wix-*.js` — the vertical's **data layer**: named calls carrying the exact request/response
|
|
23
|
+
**shapes**, fieldsets, and paging.
|
|
24
|
+
- `app/{components,pages,hooks,context}/…` — a **reference UI** (+ hooks/providers) built on that data
|
|
25
|
+
layer; the field shapes and route patterns it uses (e.g. `/product/:slug`) are the data contract.
|
|
26
|
+
- `seed/seed-*.js` — build-time **seeding functions** that create content.
|
|
27
|
+
- `INSTRUCTIONS.md` — the vertical's build guide + field-shape snippets; `seed/SEED.md` — how the seed
|
|
28
|
+
module is run.
|
|
29
|
+
|
|
30
|
+
**The nine verticals — data layer (`app/rest/`) + seed module (`seed/`):**
|
|
31
|
+
|
|
32
|
+
| vertical | `app/rest/` data layer | seed module |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| storefront | `wix-store-catalog.js`, `wix-store-cart.js` — products & variants; server cart + checkout redirect | `seed-store.js` |
|
|
35
|
+
| bookings | `wix-bookings-services.js`, `wix-bookings-checkout.js` — services/categories/slots; booking + checkout | `seed-bookings.js` |
|
|
36
|
+
| blog | `wix-blog.js` — posts (list + by-slug), categories, tags | `seed-blog.js` |
|
|
37
|
+
| events | `wix-events-browse.js`, `wix-events-registration.js` — events & categories; RSVP / ticketing + checkout | `seed-events.js` |
|
|
38
|
+
| portfolio | `wix-portfolio.js` — collections, projects, galleries | `seed-portfolio.js` |
|
|
39
|
+
| restaurants | `wix-restaurants-menu.js`, `-ordering.js`, `-reservations.js` — menu; online ordering; table reservations | `seed-restaurants.js` |
|
|
40
|
+
| cms | `wix-cms.js` — Wix Data collections: list / detail / filter + form CRUD | `seed-cms.js` |
|
|
41
|
+
| pricing-plans | `wix-pricing-plans.js` — plans list + subscribe/checkout | `seed-pricing-plans.js` |
|
|
42
|
+
| members | `wix-members-auth.js` — custom login/signup (email+password, social, SSO), session, account | *(none — members sign up at runtime; nothing to seed)* |
|
|
43
|
+
|
|
44
|
+
Anything in the docs about the **host's own setup** — copying files into `src/`, its `@/` alias, its
|
|
45
|
+
`import.meta.env` flags, a theming file, its build/exec/connector tooling — is that host's, not a
|
|
46
|
+
rule: **adapt it to your stack or ignore it.** The `SKILL.md` **"shared model"** (public-client-id
|
|
47
|
+
auth, money = objects → render `formattedValue`, visitor token = cart identity, member login swaps
|
|
48
|
+
the token set) is **universal — follow it as-is**.
|
|
49
|
+
|
|
50
|
+
## The flow — install → build client → seed → done
|
|
51
|
+
|
|
52
|
+
Run **build the client** (step 2) and **seed** (step 3) in parallel; parallelize independent work within each.
|
|
53
|
+
|
|
54
|
+
### 1 · Install the skills
|
|
55
|
+
|
|
56
|
+
Two skills, into `.agents/skills/`: **`wix-vibe-headless`** (this build guide + the seed modules —
|
|
57
|
+
self-contained) and **`wix-docs`** (fallback to search/read the Wix API reference).
|
|
22
58
|
|
|
23
|
-
**Run the Skills CLI** — this is the install path to use:
|
|
24
59
|
```bash
|
|
25
|
-
CI=1 npx skills@latest add wix/skills/skills/wix-headless --yes
|
|
26
60
|
CI=1 npx skills@latest add wix/skills/skills/wix-vibe-headless --yes
|
|
27
61
|
CI=1 npx skills@latest add wix/skills/skills/wix-docs --yes
|
|
28
62
|
```
|
|
29
63
|
|
|
30
|
-
|
|
31
|
-
each bundle and extract it into `.agents/skills/wix-<name>/`:
|
|
32
|
-
```bash
|
|
33
|
-
for s in headless vibe-headless docs; do
|
|
34
|
-
mkdir -p ".agents/skills/wix-$s"
|
|
35
|
-
curl -s "https://www.wix.com/skills/$s.tgz" | tar xz -C ".agents/skills/wix-$s" --strip-components=1
|
|
36
|
-
done
|
|
37
|
-
```
|
|
64
|
+
### 2 · Build the client
|
|
38
65
|
|
|
39
|
-
|
|
66
|
+
Pull the whole client reference into context in two reads — **this is basically your prompt: it's all
|
|
67
|
+
the client code you need.** Build the client from it in your own stack's idiom (your router, file
|
|
68
|
+
extensions, design tokens), and set `WIX_CLIENT_ID` + `WIX_METASITE_ID` in `wix-config`.
|
|
40
69
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
`WIX_CLIENT_ID`, which is a buyer/visitor-facing credential, safe in the frontend). To save time,
|
|
44
|
-
prefer copying the ready-made files the `wix-vibe-headless` skill provides (e.g. the Wix client
|
|
45
|
-
setup) and adapting them over re-generating them from scratch.
|
|
70
|
+
```bash
|
|
71
|
+
V=<vertical> # the vertical you're building
|
|
46
72
|
|
|
47
|
-
|
|
73
|
+
# utils — transport + data layer (plain fetch, already SSR-guarded; use ~as-is)
|
|
74
|
+
find .agents/skills/wix-vibe-headless/references/shared/app/rest \
|
|
75
|
+
.agents/skills/wix-vibe-headless/references/$V/app/rest \
|
|
76
|
+
-type f -name '*.js' -exec tail -n +1 {} +
|
|
48
77
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
78
|
+
# components/pages — a reference UI (rebuild for your framework; keep the field shapes + route patterns)
|
|
79
|
+
find .agents/skills/wix-vibe-headless/references/$V/app \
|
|
80
|
+
-type f \( -name '*.jsx' -o -name '*.js' \) -not -path '*/rest/*' -exec tail -n +1 {} +
|
|
81
|
+
```
|
|
52
82
|
|
|
53
|
-
|
|
54
|
-
right after a fresh install, but the site may already hold **real content** (a prior run, or
|
|
55
|
-
owner-added) — if what's there isn't obviously install sample data, or you're unsure, **do not
|
|
56
|
-
delete or overwrite it without the user's explicit ask or approval** (ask first).
|
|
83
|
+
### 3 · Seed the content
|
|
57
84
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
platform's built-in **connector / secrets (env) manager** — never hardcode or commit it. **Once
|
|
62
|
-
the connector is connected (or the API key is in place), you can make Wix REST admin calls
|
|
63
|
-
directly** — authenticate each call with that credential (the `wix-docs` skill covers Wix API-key
|
|
64
|
-
auth). Or, if the user prefers, tell them they can add this content themselves in the Wix
|
|
65
|
-
dashboard instead.
|
|
85
|
+
**⛔ NO CLEANUP — EVER.** Strictly **additive**: never delete, reset, or overwrite anything on the
|
|
86
|
+
user's live site — not even apparent sample/demo content. If something looks wrong, leave it and tell
|
|
87
|
+
the user.
|
|
66
88
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
—
|
|
89
|
+
**Auth** (the public client id won't do): if your platform has a **built-in Wix connector**, use it
|
|
90
|
+
(it holds the credential). Otherwise take a **Wix API key** into your secrets manager (never hardcode
|
|
91
|
+
or commit) — create one at **[account API keys → Add key](https://manage.wix.com/account/api-keys/addkey)**
|
|
92
|
+
([how-to](https://dev.wix.com/docs/api-reference/articles/authentication/api-keys/generate-an-api-key)) —
|
|
93
|
+
and send it **raw as `Authorization` (no `Bearer`)** with a **`wix-site-id`** header (`wix-account-id`
|
|
94
|
+
only for account-level APIs — one, not both):
|
|
70
95
|
|
|
71
|
-
|
|
72
|
-
|
|
96
|
+
```bash
|
|
97
|
+
curl -X POST 'https://www.wixapis.com/stores/v3/products/query' \
|
|
98
|
+
-H 'Authorization: <API_KEY>' -H 'wix-site-id: <METASITE_ID>' \
|
|
99
|
+
-H 'Content-Type: application/json' -d '{"query":{"cursorPaging":{"limit":10}}}'
|
|
100
|
+
```
|
|
73
101
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
entities) to finish faster.
|
|
102
|
+
Pull the seed code into context — **this is your seeding prompt: it's all the code you need.** Run
|
|
103
|
+
these functions (adapting the exec + auth to your platform) to create the content:
|
|
77
104
|
|
|
78
|
-
|
|
105
|
+
```bash
|
|
106
|
+
V=<vertical>
|
|
107
|
+
find .agents/skills/wix-vibe-headless/references/$V/seed -name '*.js' -exec tail -n +1 {} +
|
|
108
|
+
```
|
|
79
109
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
110
|
+
They encode the Wix API sequences (incl. app-install + provisioning-race handling); use `wix-docs`
|
|
111
|
+
for anything they don't cover. Content queries return `REQUIRED_APP_NOT_INSTALLED` until the app is
|
|
112
|
+
installed + seeded (expected; the seed modules install it first). Image seeding = two Wix Media calls
|
|
113
|
+
(`generate-upload-url` → `PUT` the bytes) before attaching.
|
|
83
114
|
|
|
84
|
-
|
|
115
|
+
### 4 · Done
|
|
85
116
|
|
|
86
|
-
|
|
87
|
-
|
|
117
|
+
Mount the preview-only manage banner (regenerate `WixManageBanner` for your stack — it reads
|
|
118
|
+
`WIX_METASITE_ID` from `wix-config`, already set in step 2, and self-hides while it's still the
|
|
119
|
+
placeholder; mount above the header, SSR-safe, portable preview-gate, **never on the published
|
|
120
|
+
site**), then tell
|
|
121
|
+
the user to open `https://manage.wix.com/dashboard/{metaSiteId}` to finish setup in Wix (payments,
|
|
122
|
+
content).
|