@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.
Files changed (332) hide show
  1. package/README.md +3 -7
  2. package/package.json +1 -1
  3. package/skills/wix-app/SKILL.md +4 -1
  4. package/skills/wix-app/references/APP_TOOLS.md +134 -0
  5. package/skills/wix-app/references/CUSTOM_ELEMENT_WIDGET.md +1 -1
  6. package/skills/wix-app/references/DASHBOARD_PAGE.md +0 -10
  7. package/skills/wix-app/references/DATA_COLLECTION.md +1 -1
  8. package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +42 -8
  9. package/skills/wix-app/references/SERVICE_PLUGIN.md +12 -10
  10. package/skills/wix-app/references/app-tools/TOOLS.md +75 -0
  11. package/skills/wix-app/references/dashboard-page/DASHBOARD_API.md +2 -2
  12. package/skills/wix-app/references/editor-react-component/A11Y-REVIEW-REFERENCE.md +172 -0
  13. package/skills/wix-app/references/editor-react-component/A11Y-REVIEW.md +143 -0
  14. package/skills/wix-app/references/editor-react-component/ANIMATED-COMPONENTS.md +23 -2
  15. package/skills/wix-app/references/editor-react-component/BRANDED-COMPONENTS.md +29 -0
  16. package/skills/wix-app/references/editor-react-component/COMPONENT-API.md +1 -1
  17. package/skills/wix-app/references/editor-react-component/COMPONENT-CONFIGURATION.md +60 -0
  18. package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +27 -2
  19. package/skills/wix-app/references/editor-react-component/DESIGN-STATES.md +5 -3
  20. package/skills/wix-app/references/editor-react-component/DIRECTIONALITY.md +24 -7
  21. package/skills/wix-app/references/editor-react-component/PARTS.md +15 -2
  22. package/skills/wix-app/references/editor-react-component/REACT-GUIDELINES.md +2 -3
  23. package/skills/wix-app/references/editor-react-component/SITE-CONTEXT-HOOKS.md +187 -0
  24. package/skills/wix-app/references/service-plugin/BOOKINGS-STAFF-SORTING.md +13 -9
  25. package/skills/wix-app/references/service-plugin/DISCOUNT-TRIGGERS.md +4 -0
  26. package/skills/wix-app/references/service-plugin/GIFT-CARDS.md +4 -0
  27. package/skills/wix-app/references/service-plugin/PAYMENT-SETTINGS.md +3 -1
  28. package/skills/wix-app/references/service-plugin/SHIPPING-RATES.md +4 -0
  29. package/skills/wix-app/references/service-plugin/TOOLS_PROVIDER.md +54 -0
  30. package/skills/wix-app/references/stores/QUERY.md +32 -0
  31. package/skills/wix-app/scripts/scan-a11y-code.cjs +777 -0
  32. package/skills/wix-app/scripts/scan-a11y-eslint.cjs +201 -0
  33. package/skills/wix-docs/SKILL.md +35 -3
  34. package/skills/wix-headless/SKILL.md +3 -1
  35. package/skills/wix-headless/references/CAPABILITIES.md +16 -3
  36. package/skills/wix-headless/references/CONTENT.md +36 -0
  37. package/skills/wix-headless/references/DESIGN.md +54 -0
  38. package/skills/wix-headless/references/DISCOVERY.md +24 -0
  39. package/skills/wix-headless/references/IMAGE_GENERATION.md +10 -0
  40. package/skills/wix-headless/references/SDK_HANDOFF.md +1 -1
  41. package/skills/wix-headless/references/SEED.md +1 -1
  42. package/skills/wix-headless/references/inline-recipes/how-to-code-a-store.md +3 -2
  43. package/skills/wix-headless/references/inline-recipes/how-to-code-forms.md +560 -102
  44. package/skills/wix-headless/references/inline-recipes/setup-forms.md +210 -143
  45. package/skills/wix-headless/references/inline-recipes/setup-online-store.md +32 -23
  46. package/skills/wix-headless/references/managed/CONNECT.md +1 -1
  47. package/skills/wix-headless/references/managed/CREATE.md +14 -0
  48. package/skills/wix-headless/references/managed/DEPLOYMENT.md +25 -0
  49. package/skills/wix-manage/SKILL.md +130 -7
  50. package/skills/wix-manage/references/accessibility/scan-site-accessibility.md +98 -0
  51. package/skills/wix-manage/references/analytics/analytics-dashboard-navigation.md +40 -0
  52. package/skills/wix-manage/references/app-installation/app-installation-dashboard-navigation.md +28 -0
  53. package/skills/wix-manage/references/blog/blog-dashboard-navigation.md +56 -0
  54. package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +31 -6
  55. package/skills/wix-manage/references/bookings/booking-service-policy-setup.md +3 -1
  56. package/skills/wix-manage/references/bookings/bookings-dashboard-navigation.md +63 -0
  57. package/skills/wix-manage/references/bookings/diagnose-availability-issues.md +10 -1
  58. package/skills/wix-manage/references/cms/cms-dashboard-navigation.md +44 -0
  59. package/skills/wix-manage/references/cms/cms-data-items-crud.md +31 -3
  60. package/skills/wix-manage/references/cms/cms-publishing-flow.md +287 -0
  61. package/skills/wix-manage/references/cms/cms-schema-management.md +27 -1
  62. package/skills/wix-manage/references/contacts/contacts-dashboard-navigation.md +46 -0
  63. package/skills/wix-manage/references/contacts/create-a-contact.md +82 -0
  64. package/skills/wix-manage/references/contacts/update-a-contact.md +119 -0
  65. package/skills/wix-manage/references/dashboard-navigation/dashboard-navigation.md +82 -0
  66. package/skills/wix-manage/references/dashboard-navigation/routes.json +1733 -0
  67. package/skills/wix-manage/references/domains/domains-dashboard-navigation.md +32 -0
  68. package/skills/wix-manage/references/ecommerce/ecom-pricing.md +4 -4
  69. package/skills/wix-manage/references/ecommerce/ecom-shipping.md +1 -1
  70. package/skills/wix-manage/references/ecommerce/gift-cards/ecom-gift-cards-goal-sell-gift-cards.md +338 -0
  71. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-create-discount-rule.md +42 -78
  72. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-bundle-and-save.md +1 -1
  73. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-stock-mover.md +1 -1
  74. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-upsell-boost.md +1 -1
  75. package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +90 -92
  76. package/skills/wix-manage/references/events/create-wix-event.md +176 -0
  77. package/skills/wix-manage/references/events/manage-wix-events.md +174 -0
  78. package/skills/wix-manage/references/forms/forms-dashboard-navigation.md +44 -0
  79. package/skills/wix-manage/references/get-paid/get-paid-dashboard-navigation.md +52 -0
  80. package/skills/wix-manage/references/google-ads/billing-and-payment.md +80 -0
  81. package/skills/wix-manage/references/google-ads/create-performance-max-campaign.md +212 -0
  82. package/skills/wix-manage/references/google-ads/get-campaign-suggestions.md +110 -0
  83. package/skills/wix-manage/references/google-ads/google-ads-dashboard-navigation.md +25 -0
  84. package/skills/wix-manage/references/google-ads/install-and-create-account.md +155 -0
  85. package/skills/wix-manage/references/google-ads/manage-campaign-lifecycle.md +63 -0
  86. package/skills/wix-manage/references/google-ads/query-campaign-analytics.md +155 -0
  87. package/skills/wix-manage/references/marketing/marketing-dashboard-navigation.md +52 -0
  88. package/skills/wix-manage/references/pricing-plans/create-and-update-pricing-plans.md +99 -1
  89. package/skills/wix-manage/references/pricing-plans/pricing-plans-dashboard-navigation.md +45 -0
  90. package/skills/wix-manage/references/restaurants/restaurants-dashboard-navigation.md +68 -0
  91. package/skills/wix-manage/references/restaurants/wix-restaurants-setup.md +94 -125
  92. package/skills/wix-manage/references/site-properties/change-payment-currency-site-properties.md +48 -9
  93. package/skills/wix-manage/references/site-properties/site-properties-dashboard-navigation.md +31 -0
  94. package/skills/wix-manage/references/sites/create-headless-site.md +52 -0
  95. package/skills/wix-manage/references/sites/create-site-from-template.md +2 -25
  96. package/skills/wix-manage/references/sites/site-import.md +217 -192
  97. package/skills/wix-manage/references/sites/sites-dashboard-navigation.md +29 -0
  98. package/skills/wix-manage/references/stores/add-store-pages-to-site.md +17 -1
  99. package/skills/wix-manage/references/stores/find-products-query-and-search-catalog-v3.md +26 -8
  100. package/skills/wix-manage/references/stores/stores-dashboard-navigation.md +65 -0
  101. package/skills/wix-manage/references/stores/update-product-with-options.md +39 -7
  102. package/skills/wix-replatform/.publish-manifest.json +8 -0
  103. package/skills/wix-replatform/SKILL.md +693 -0
  104. package/skills/wix-replatform/lib/artifact-freshness.js +215 -0
  105. package/skills/wix-replatform/lib/completion-report.js +200 -0
  106. package/skills/wix-replatform/lib/config-env.js +59 -0
  107. package/skills/wix-replatform/lib/execution-manifest.js +185 -0
  108. package/skills/wix-replatform/lib/execution-state.js +173 -0
  109. package/skills/wix-replatform/lib/import-recovery.js +313 -0
  110. package/skills/wix-replatform/lib/local-state.js +642 -0
  111. package/skills/wix-replatform/lib/orchestration-preflight.js +143 -0
  112. package/skills/wix-replatform/lib/orchestration-router.js +122 -0
  113. package/skills/wix-replatform/lib/orchestration-state.js +455 -0
  114. package/skills/wix-replatform/lib/progress-log.js +224 -0
  115. package/skills/wix-replatform/lib/progress-log.sh +140 -0
  116. package/skills/wix-replatform/lib/url-preservation-state.js +391 -0
  117. package/skills/wix-replatform/resources/rp-discovery/SKILL.md +184 -0
  118. package/skills/wix-replatform/resources/rp-execute-import/SKILL.md +529 -0
  119. package/skills/wix-replatform/resources/rp-execute-setup/SKILL.md +316 -0
  120. package/skills/wix-replatform/resources/rp-execute-setup/scripts/mint-token.sh +64 -0
  121. package/skills/wix-replatform/resources/rp-import-codegen/SKILL.md +1114 -0
  122. package/skills/wix-replatform/resources/rp-mapper/SKILL.md +430 -0
  123. package/skills/wix-replatform/resources/rp-mapper/lib/mapping-resolve.js +217 -0
  124. package/skills/wix-replatform/resources/rp-mapper/scripts/resolve-mapping.js +148 -0
  125. package/skills/wix-replatform/resources/rp-mapper/wix-business-solutions-taxonomy.md +378 -0
  126. package/skills/wix-replatform/resources/rp-setup-discovery/SKILL.md +183 -0
  127. package/skills/wix-replatform/resources/rp-source-csv/SKILL.md +478 -0
  128. package/skills/wix-replatform/resources/rp-source-csv/lib/canonical-record.js +136 -0
  129. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fileset.js +0 -0
  130. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fingerprint.js +310 -0
  131. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-layout.js +1081 -0
  132. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-parse.js +618 -0
  133. package/skills/wix-replatform/resources/rp-source-csv/scripts/csv-discovery.js +949 -0
  134. package/skills/wix-replatform/resources/rp-source-csv/source-schema.example.json +196 -0
  135. package/skills/wix-replatform/resources/rp-source-csv/vendors/bigcommerce.json +66 -0
  136. package/skills/wix-replatform/resources/rp-source-csv/vendors/magento.json +60 -0
  137. package/skills/wix-replatform/resources/rp-source-csv/vendors/shopify.json +95 -0
  138. package/skills/wix-replatform/resources/rp-source-csv/vendors/woocommerce.json +82 -0
  139. package/skills/wix-replatform/resources/rp-source-wordpress/SKILL.md +256 -0
  140. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-http.js +249 -0
  141. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-route-classifier.js +444 -0
  142. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-discovery.js +774 -0
  143. package/skills/wix-replatform/resources/rp-source-wordpress/source-schema.example.json +71 -0
  144. package/skills/wix-replatform/resources/rp-target-wix/SKILL.md +632 -0
  145. package/skills/wix-replatform/resources/rp-target-wix/SPEC-product-reviews-and-blog-authorship.md +330 -0
  146. package/skills/wix-replatform/resources/rp-target-wix/domains/README.md +21 -0
  147. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/domain.json +19 -0
  148. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/category.json +37 -0
  149. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/comment.json +37 -0
  150. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/post.json +39 -0
  151. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/tag.json +35 -0
  152. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/domain.json +14 -0
  153. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/collection.json +35 -0
  154. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/data-item.json +36 -0
  155. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/reference.json +35 -0
  156. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/domain.json +14 -0
  157. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/contact.json +131 -0
  158. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/email-subscription.json +37 -0
  159. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/label.json +37 -0
  160. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/domain.json +21 -0
  161. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item.json +37 -0
  162. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-refund.json +37 -0
  163. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order.json +97 -0
  164. package/skills/wix-replatform/resources/rp-target-wix/domains/index.json +528 -0
  165. package/skills/wix-replatform/resources/rp-target-wix/domains/media/domain.json +14 -0
  166. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-file.json +38 -0
  167. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-folder.json +37 -0
  168. package/skills/wix-replatform/resources/rp-target-wix/domains/members/domain.json +13 -0
  169. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/badge.json +37 -0
  170. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member.json +53 -0
  171. package/skills/wix-replatform/resources/rp-target-wix/domains/schema.json +84 -0
  172. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/domain.json +25 -0
  173. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/category.json +37 -0
  174. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/coupon.json +37 -0
  175. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/inventory-item.json +38 -0
  176. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-tag.json +37 -0
  177. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product.json +90 -0
  178. package/skills/wix-replatform/resources/rp-target-wix/lib/audit-summary.js +64 -0
  179. package/skills/wix-replatform/resources/rp-target-wix/lib/contract-ledger.js +141 -0
  180. package/skills/wix-replatform/resources/rp-target-wix/lib/domain-knowledge.js +384 -0
  181. package/skills/wix-replatform/resources/rp-target-wix/lib/ndjson.js +260 -0
  182. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-verification.js +238 -0
  183. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-build.js +237 -0
  184. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-target-spec.js +238 -0
  185. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-writers.js +2219 -0
  186. package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge-validate.js +31 -0
  187. package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge.js +100 -0
  188. package/skills/wix-replatform/resources/rp-target-wix/scripts/verify-stores.js +107 -0
  189. package/skills/wix-replatform/resources/rp-telemetry/SKILL.md +344 -0
  190. package/skills/wix-replatform/resources/rp-telemetry/lib/bi-sink.js +250 -0
  191. package/skills/wix-replatform/resources/rp-telemetry/lib/telemetry-recorder.js +1927 -0
  192. package/skills/wix-replatform/resources/rp-telemetry/scripts/meter-from-audit.js +83 -0
  193. package/skills/wix-replatform/resources/rp-telemetry/scripts/rp-telemetry.js +141 -0
  194. package/skills/wix-replatform/scripts/artifact-freshness.js +76 -0
  195. package/skills/wix-replatform/scripts/execution-manifest-validate.js +43 -0
  196. package/skills/wix-replatform/scripts/execution-state-prepare.js +128 -0
  197. package/skills/wix-replatform/scripts/orchestration-preflight.js +48 -0
  198. package/skills/wix-replatform/scripts/orchestration-route.js +46 -0
  199. package/skills/wix-replatform/scripts/orchestration-state.js +245 -0
  200. package/skills/wix-vibe-headless/SKILL.md +49 -25
  201. package/skills/wix-vibe-headless/install/deploy.cjs +156 -0
  202. package/skills/wix-vibe-headless/install/pin-agents-md.cjs +34 -0
  203. package/skills/wix-vibe-headless/platforms/README.md +8 -4
  204. package/skills/wix-vibe-headless/platforms/base44.md +111 -101
  205. package/skills/wix-vibe-headless/platforms/generic.md +99 -64
  206. package/skills/wix-vibe-headless/references/blog/INSTRUCTIONS.md +226 -119
  207. package/skills/wix-vibe-headless/references/blog/app/components/PostCard.jsx +43 -0
  208. package/skills/wix-vibe-headless/references/blog/app/components/PostChips.jsx +25 -0
  209. package/skills/wix-vibe-headless/references/blog/app/components/PostGrid.jsx +15 -0
  210. package/skills/wix-vibe-headless/references/blog/app/context/TaxonomyContext.jsx +35 -0
  211. package/skills/wix-vibe-headless/references/blog/app/hooks/usePostDetail.js +38 -0
  212. package/skills/wix-vibe-headless/references/blog/app/pages/Blog.jsx +40 -0
  213. package/skills/wix-vibe-headless/references/blog/app/pages/CategoryPage.jsx +54 -0
  214. package/skills/wix-vibe-headless/references/blog/app/pages/PostDetail.jsx +65 -0
  215. package/skills/wix-vibe-headless/references/blog/app/pages/TagPage.jsx +50 -0
  216. package/skills/wix-vibe-headless/references/blog/seed/SEED.md +103 -0
  217. package/skills/wix-vibe-headless/references/blog/seed/seed-blog.js +270 -0
  218. package/skills/wix-vibe-headless/references/bookings/INSTRUCTIONS.md +256 -149
  219. package/skills/wix-vibe-headless/references/bookings/app/components/BookingForm.jsx +65 -0
  220. package/skills/wix-vibe-headless/references/bookings/app/components/ServiceCard.jsx +47 -0
  221. package/skills/wix-vibe-headless/references/bookings/app/components/ServiceGrid.jsx +13 -0
  222. package/skills/wix-vibe-headless/references/bookings/app/components/SlotPicker.jsx +126 -0
  223. package/skills/wix-vibe-headless/references/bookings/app/hooks/useServiceDetail.js +108 -0
  224. package/skills/wix-vibe-headless/references/bookings/app/hooks/useServices.js +58 -0
  225. package/skills/wix-vibe-headless/references/bookings/app/lib/serviceFacts.js +95 -0
  226. package/skills/wix-vibe-headless/references/bookings/app/pages/ServiceDetail.jsx +94 -0
  227. package/skills/wix-vibe-headless/references/bookings/app/pages/Services.jsx +89 -0
  228. package/skills/wix-vibe-headless/references/bookings/{wix-bookings-checkout.js → app/rest/wix-bookings-checkout.js} +1 -1
  229. package/skills/wix-vibe-headless/references/bookings/{wix-bookings-services.js → app/rest/wix-bookings-services.js} +87 -11
  230. package/skills/wix-vibe-headless/references/bookings/seed/SEED.md +117 -0
  231. package/skills/wix-vibe-headless/references/bookings/seed/seed-bookings.js +333 -0
  232. package/skills/wix-vibe-headless/references/cms/INSTRUCTIONS.md +168 -147
  233. package/skills/wix-vibe-headless/references/cms/app/collection.config.js +31 -0
  234. package/skills/wix-vibe-headless/references/cms/app/lib/wixImage.js +18 -0
  235. package/skills/wix-vibe-headless/references/cms/{wix-cms.js → app/rest/wix-cms.js} +47 -2
  236. package/skills/wix-vibe-headless/references/cms/seed/SEED.md +145 -0
  237. package/skills/wix-vibe-headless/references/events/INSTRUCTIONS.md +223 -131
  238. package/skills/wix-vibe-headless/references/events/app/components/CategoryFilter.jsx +23 -0
  239. package/skills/wix-vibe-headless/references/events/app/components/EventCard.jsx +43 -0
  240. package/skills/wix-vibe-headless/references/events/app/components/EventGrid.jsx +13 -0
  241. package/skills/wix-vibe-headless/references/events/app/components/EventRegistration.jsx +29 -0
  242. package/skills/wix-vibe-headless/references/events/app/components/RsvpForm.jsx +57 -0
  243. package/skills/wix-vibe-headless/references/events/app/components/TicketPicker.jsx +78 -0
  244. package/skills/wix-vibe-headless/references/events/app/hooks/useEventDetail.js +27 -0
  245. package/skills/wix-vibe-headless/references/events/app/hooks/useEventsList.js +54 -0
  246. package/skills/wix-vibe-headless/references/events/app/hooks/useRsvpForm.js +40 -0
  247. package/skills/wix-vibe-headless/references/events/app/hooks/useTicketing.js +81 -0
  248. package/skills/wix-vibe-headless/references/events/app/pages/EventDetail.jsx +48 -0
  249. package/skills/wix-vibe-headless/references/events/app/pages/Events.jsx +36 -0
  250. package/skills/wix-vibe-headless/references/events/{wix-events-browse.js → app/rest/wix-events-browse.js} +1 -1
  251. package/skills/wix-vibe-headless/references/events/seed/SEED.md +107 -0
  252. package/skills/wix-vibe-headless/references/events/seed/seed-events.js +251 -0
  253. package/skills/wix-vibe-headless/references/members/INSTRUCTIONS.md +272 -188
  254. package/skills/wix-vibe-headless/references/members/app/components/LoginForm.jsx +101 -0
  255. package/skills/wix-vibe-headless/references/members/app/components/MemberMenu.jsx +33 -0
  256. package/skills/wix-vibe-headless/references/members/app/components/RequireAuth.jsx +21 -0
  257. package/skills/wix-vibe-headless/references/members/app/components/SocialButtons.jsx +29 -0
  258. package/skills/wix-vibe-headless/references/members/app/context/MemberContext.jsx +54 -0
  259. package/skills/wix-vibe-headless/references/members/app/hooks/useLoginForm.js +77 -0
  260. package/skills/wix-vibe-headless/references/members/app/pages/Account.jsx +36 -0
  261. package/skills/wix-vibe-headless/references/members/app/pages/Callback.jsx +32 -0
  262. package/skills/wix-vibe-headless/references/members/app/pages/Login.jsx +35 -0
  263. package/skills/wix-vibe-headless/references/members/{wix-members-auth.js → app/rest/wix-members-auth.js} +6 -3
  264. package/skills/wix-vibe-headless/references/members/install/Register.jsx +22 -0
  265. package/skills/wix-vibe-headless/references/members/seed/SEED.md +22 -0
  266. package/skills/wix-vibe-headless/references/portfolio/INSTRUCTIONS.md +229 -104
  267. package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionCard.jsx +31 -0
  268. package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionGrid.jsx +15 -0
  269. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectCard.jsx +39 -0
  270. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectGrid.jsx +15 -0
  271. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectMedia.jsx +29 -0
  272. package/skills/wix-vibe-headless/references/portfolio/app/hooks/useCollectionProjects.js +35 -0
  273. package/skills/wix-vibe-headless/references/portfolio/app/hooks/usePortfolioGallery.js +27 -0
  274. package/skills/wix-vibe-headless/references/portfolio/app/hooks/useProjectDetail.js +25 -0
  275. package/skills/wix-vibe-headless/references/portfolio/app/pages/CollectionPage.jsx +39 -0
  276. package/skills/wix-vibe-headless/references/portfolio/app/pages/Portfolio.jsx +27 -0
  277. package/skills/wix-vibe-headless/references/portfolio/app/pages/ProjectDetail.jsx +60 -0
  278. package/skills/wix-vibe-headless/references/portfolio/seed/SEED.md +94 -0
  279. package/skills/wix-vibe-headless/references/portfolio/seed/seed-portfolio.js +236 -0
  280. package/skills/wix-vibe-headless/references/pricing-plans/INSTRUCTIONS.md +236 -117
  281. package/skills/wix-vibe-headless/references/pricing-plans/app/components/OrderCard.jsx +35 -0
  282. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanCard.jsx +48 -0
  283. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanGrid.jsx +16 -0
  284. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanPrice.jsx +35 -0
  285. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/useMyPlans.js +25 -0
  286. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlanDetail.js +28 -0
  287. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlans.js +30 -0
  288. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/MyPlans.jsx +30 -0
  289. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/PlanDetail.jsx +53 -0
  290. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/Plans.jsx +28 -0
  291. package/skills/wix-vibe-headless/references/pricing-plans/seed/SEED.md +86 -0
  292. package/skills/wix-vibe-headless/references/pricing-plans/seed/seed-pricing-plans.js +251 -0
  293. package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +244 -124
  294. package/skills/wix-vibe-headless/references/restaurants/app/components/ItemDialog.jsx +81 -0
  295. package/skills/wix-vibe-headless/references/restaurants/app/components/MenuItemCard.jsx +71 -0
  296. package/skills/wix-vibe-headless/references/restaurants/app/components/MenuList.jsx +43 -0
  297. package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartButton.jsx +21 -0
  298. package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartDrawer.jsx +60 -0
  299. package/skills/wix-vibe-headless/references/restaurants/app/context/OrderCartContext.jsx +63 -0
  300. package/skills/wix-vibe-headless/references/restaurants/app/hooks/useItemOrder.js +32 -0
  301. package/skills/wix-vibe-headless/references/restaurants/app/hooks/useReservation.js +73 -0
  302. package/skills/wix-vibe-headless/references/restaurants/app/pages/Menu.jsx +28 -0
  303. package/skills/wix-vibe-headless/references/restaurants/app/pages/Reservations.jsx +102 -0
  304. package/skills/wix-vibe-headless/references/restaurants/seed/SEED.md +180 -0
  305. package/skills/wix-vibe-headless/references/restaurants/seed/seed-restaurants.js +452 -0
  306. package/skills/wix-vibe-headless/references/shared/app/components/WixManageBanner.jsx +56 -0
  307. package/skills/wix-vibe-headless/references/shared/{wix-client.js → app/rest/wix-client.js} +6 -8
  308. package/skills/wix-vibe-headless/references/shared/app/rest/wix-config.js +8 -0
  309. package/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md +259 -157
  310. package/skills/wix-vibe-headless/references/storefront/app/components/CartButton.jsx +20 -0
  311. package/skills/wix-vibe-headless/references/storefront/app/components/CartDrawer.jsx +150 -0
  312. package/skills/wix-vibe-headless/references/storefront/app/components/ProductCard.jsx +167 -0
  313. package/skills/wix-vibe-headless/references/storefront/app/components/ProductGallery.jsx +51 -0
  314. package/skills/wix-vibe-headless/references/storefront/app/components/ProductGrid.jsx +54 -0
  315. package/skills/wix-vibe-headless/references/storefront/app/components/VariantPicker.jsx +119 -0
  316. package/skills/wix-vibe-headless/references/storefront/app/context/CartContext.jsx +71 -0
  317. package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductDetail.js +109 -0
  318. package/skills/wix-vibe-headless/references/storefront/app/hooks/useShop.js +98 -0
  319. package/skills/wix-vibe-headless/references/storefront/app/lib/storeImage.js +27 -0
  320. package/skills/wix-vibe-headless/references/storefront/app/pages/ProductDetail.jsx +139 -0
  321. package/skills/wix-vibe-headless/references/storefront/app/pages/Shop.jsx +75 -0
  322. package/skills/wix-vibe-headless/references/storefront/{wix-store-cart.js → app/rest/wix-store-cart.js} +1 -1
  323. package/skills/wix-vibe-headless/references/storefront/{wix-store-catalog.js → app/rest/wix-store-catalog.js} +20 -1
  324. package/skills/wix-vibe-headless/references/storefront/seed/SEED.md +111 -0
  325. package/skills/wix-vibe-headless/references/storefront/seed/seed-store.js +338 -0
  326. /package/skills/wix-vibe-headless/references/blog/{wix-blog.js → app/rest/wix-blog.js} +0 -0
  327. /package/skills/wix-vibe-headless/references/events/{wix-events-registration.js → app/rest/wix-events-registration.js} +0 -0
  328. /package/skills/wix-vibe-headless/references/portfolio/{wix-portfolio.js → app/rest/wix-portfolio.js} +0 -0
  329. /package/skills/wix-vibe-headless/references/pricing-plans/{wix-pricing-plans.js → app/rest/wix-pricing-plans.js} +0 -0
  330. /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-menu.js → app/rest/wix-restaurants-menu.js} +0 -0
  331. /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-ordering.js → app/rest/wix-restaurants-ordering.js} +0 -0
  332. /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. The business to build is
4
- described in your initial prompt. The Wix connector is already configured for this app — use
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 given in your prompt. It's a public, buyer/visitor-facing credential (it
8
- only mints anonymous visitor tokens), so it's safe in the frontend — use that value directly for
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
- Follow the steps below exactly.
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
- ## STEP 0 — Install the Wix skills locally
11
+ Follow STEPs 1–5 below exactly (run STEP 4 in parallel with STEP 3).
14
12
 
15
- Install three skills — they land under `.agents/skills/` as:
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
- **Option A — skills CLI.** This is the Base44-verified install path — run it first via
28
- exec_tool, exactly as written:
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 skills = ['wix-headless', 'wix-vibe-headless', 'wix-docs'];
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
- for (const skill of skills) {
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', stdio: ['pipe', 'pipe', 'pipe'],
41
- });
42
- const text = out.toString().replace(/\x1b\[[0-9;]*m/g, '');
43
- results[skill] = /installed 1 skill|found 1 skill/i.test(text)
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
- return { results, installed: readdirSync('/app/.agents/skills') };
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
- **Option B — tarball.** Use this **only if Option A actually errored** (check its `results`) —
55
- do not skip Option A on a guess. Run via exec_tool:
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 { execSync } = require('child_process');
59
- for (const s of ['headless', 'vibe-headless', 'docs']) {
60
- execSync(`mkdir -p /app/.agents/skills/wix-${s} && curl -s "https://www.wix.com/skills/${s}.tgz" | tar xz -C /app/.agents/skills/wix-${s} --strip-components=1`);
61
- }
62
- return 'done';
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
- Either way you end up with `.agents/skills/{wix-headless,wix-vibe-headless,wix-docs}`. **Read them
66
- with the `read_file` tool** — it caps by line (~5000, well above these docs, so each comes through
67
- whole; page with offset/limit only if ever needed), whereas `cat` through exec_tool caps output at
68
- ~5000 chars and silently truncates, and web-fetch tools truncate/summarise. The path form depends
69
- on the tool:
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 1 — Build the client
86
+ ## STEP 3 — Build the client
76
87
 
77
- Read `.agents/skills/wix-vibe-headless/SKILL.md` and follow it **EXACTLY** — it is the single
78
- source of truth for how the client app is built. To save time, prefer copying ready-made files
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
- ## STEP 2 — Manage and seed the business
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
- Seed the site with real content by following the **`wix-headless` skill**'s
85
- `references/SEED.md` (`.agents/skills/wix-headless/references/SEED.md`). Where its seed recipes
86
- don't cover what you need, **fall back to the `wix-docs` skill** (`.agents/skills/wix-docs`) to
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
- **Seeding is additive.** You may clean up the app install's **obvious default sample/mock data**
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
- **Auth for these admin calls is the already-configured Wix connector — and nothing else.** Get the
95
- access token from it and send it as a bearer token — do **not** hand-roll a token getter (e.g. a
96
- custom `getAdminToken()`):
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
- Do **not** install or run the Wix CLI (`@wix/cli`), do a device-login, or follow `wix-headless`'s
104
- `references/managed/AUTHENTICATION.md` — that managed-project auth flow does not apply to Base44
105
- and will send you down the wrong path.
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
- When you run seed/management code **inline via exec_tool**, `base44` is already declared — use
108
- it directly. Do **not** import `@base44/sdk`, re-declare `base44`, or call `createClient()` —
109
- that pattern is only for standalone `.js` skill files, and inline it throws *"Identifier
110
- 'base44' has already been declared."*
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
- **IMPORTANT:** the Wix connector and the `wix-headless` skill's seeding instructions are for
113
- management/admin operations only (STEP 2) — they are **NOT** part of the client. The client is
114
- built solely per the `wix-vibe-headless` skill.
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
- ## Parallelism
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
- If possible, run STEP 1 and STEP 2 in parallel — building the client and seeding the business
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. **Leave a brief "Wix skills" note in `AGENTS.md`** (project root) so a future session has
128
- context. If the file already exists, **`read_file` it first and only append your section** —
129
- do **not** rewrite, reorder, or remove anything already there; if you can't append cleanly,
130
- skip this rather than overwrite. Create the file only if none exists. Keep the note
131
- high-level, e.g.: the Wix skills are installed under `.agents/skills/`; the client is built
132
- per the `wix-vibe-headless` skill; seeding/management is done per the `wix-headless` +
133
- `wix-docs` skills.
134
- 2. **Ask the user to open** this URL to complete the setup in Wix (substitute the metasite id
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 the user makes, work the same way as STEP 2: check the
140
- `wix-headless` skill's inline recipes first (`.agents/skills/wix-headless/references/inline-recipes/`)
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. The business to build, and your Wix client id
4
- and metasite id, are given in your initial prompt. Follow the steps below.
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
- ## STEP 0 — Install the Wix skills locally
7
+ ## What you've got in the skill
7
8
 
8
- Install three skills — they land under `.agents/skills/` as:
9
- - **`wix-vibe-headless`** — the client build guide: how to build the frontend against the Wix
10
- APIs. This is your main source of truth (STEP 1).
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
- Install them so you can read them from files as you go (fetching skill docs over the web
21
- truncates or summarises large files).
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
- **Only if the CLI above actually errors** (not on a guess), fall back to curl + gzip — download
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
- ## STEP 1 — Build the client
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
- Read `.agents/skills/wix-vibe-headless/SKILL.md` and follow it **exactly** — it is the single
42
- source of truth for how the client app is built against the Wix APIs (over the public
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
- ## STEP 2 — Seed and manage the business
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
- Seed the site with real content by following the `wix-headless` skill's `references/SEED.md`
50
- (`.agents/skills/wix-headless/references/SEED.md`). Where its seed recipes don't cover what you
51
- need, fall back to the `wix-docs` skill to search and read the relevant Wix API docs.
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
- **Seeding is additive.** You may clean up the app install's **obvious default sample/mock data**
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
- These management/admin calls need **elevated Wix credentials** — the public client id is not
59
- enough. If you don't already have a way to authenticate them, either **connect your platform's
60
- Wix connector** (if it has one) or **ask the user for a Wix API key / token** and store it in your
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
- Authenticate admin calls with **only** that connector/API key. Do **not** install or run the Wix
68
- CLI (`@wix/cli`), do a device-login, or follow `wix-headless`'s `references/managed/AUTHENTICATION.md`
69
- — that managed-project auth flow does not apply here.
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
- Management/admin operations (seeding, `wix-headless`, `wix-docs`) are **separate from the
72
- client** — the client is built solely per the `wix-vibe-headless` skill.
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
- If possible, run STEP 1 and STEP 2 in parallel — building the client and seeding the business
75
- are independent. Within each, also parallelize independent work (API calls, seeding multiple
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
- ## Later admin requests
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
- For any later admin/management request, work the same way as STEP 2: check the `wix-headless`
81
- skill's inline recipes first (`.agents/skills/wix-headless/references/inline-recipes/`) and fall
82
- back to the `wix-docs` skill where the operation isn't documented there.
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
- ## When done
115
+ ### 4 · Done
85
116
 
86
- After the site is built and seeded, ask the user to open this URL to complete the setup in Wix
87
- (substitute the metasite id you were given): `https://manage.wix.com/dashboard/{metaSiteId}`
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).