@wix/agent-skills 1.15.0 → 1.16.0

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 (355) hide show
  1. package/README.md +5 -1
  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 +6 -4
  8. package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +28 -7
  9. package/skills/wix-app/references/SERVICE_PLUGIN.md +12 -10
  10. package/skills/wix-app/references/STORES_VERSIONING.md +9 -211
  11. package/skills/wix-app/references/app-tools/TOOLS.md +75 -0
  12. package/skills/wix-app/references/backend-event/COMMON-EVENTS.md +5 -0
  13. package/skills/wix-app/references/dashboard-page/DASHBOARD_API.md +2 -2
  14. package/skills/wix-app/references/editor-react-component/A11Y-REVIEW-REFERENCE.md +172 -0
  15. package/skills/wix-app/references/editor-react-component/A11Y-REVIEW.md +138 -0
  16. package/skills/wix-app/references/editor-react-component/ANIMATED-COMPONENTS.md +172 -0
  17. package/skills/wix-app/references/editor-react-component/BRANDED-COMPONENTS.md +29 -0
  18. package/skills/wix-app/references/editor-react-component/COMPONENT-API.md +1 -1
  19. package/skills/wix-app/references/editor-react-component/COMPONENT-PREVIEW.md +57 -0
  20. package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +33 -2
  21. package/skills/wix-app/references/editor-react-component/DESIGN-STATES.md +5 -3
  22. package/skills/wix-app/references/editor-react-component/DIRECTIONALITY.md +18 -1
  23. package/skills/wix-app/references/editor-react-component/PARTS.md +15 -2
  24. package/skills/wix-app/references/editor-react-component/REACT-GUIDELINES.md +4 -3
  25. package/skills/wix-app/references/service-plugin/BOOKINGS-STAFF-SORTING.md +13 -9
  26. package/skills/wix-app/references/service-plugin/DISCOUNT-TRIGGERS.md +4 -0
  27. package/skills/wix-app/references/service-plugin/GIFT-CARDS.md +4 -0
  28. package/skills/wix-app/references/service-plugin/PAYMENT-SETTINGS.md +3 -1
  29. package/skills/wix-app/references/service-plugin/SHIPPING-RATES.md +4 -0
  30. package/skills/wix-app/references/service-plugin/TOOLS_PROVIDER.md +54 -0
  31. package/skills/wix-app/references/stores/CATEGORIES.md +22 -0
  32. package/skills/wix-app/references/stores/GET_PRODUCT.md +99 -0
  33. package/skills/wix-app/references/stores/INVENTORY.md +37 -0
  34. package/skills/wix-app/references/stores/QUERY.md +119 -0
  35. package/skills/wix-app/references/stores/WRITE.md +55 -0
  36. package/skills/wix-docs/SKILL.md +35 -3
  37. package/skills/wix-headless/SKILL.md +9 -2
  38. package/skills/wix-headless/entry/bootstrap.mjs +2 -2
  39. package/skills/wix-headless/entry/skill.md +0 -2
  40. package/skills/wix-headless/references/CAPABILITIES.md +6 -4
  41. package/skills/wix-headless/references/CONTENT.md +36 -0
  42. package/skills/wix-headless/references/DESIGN.md +54 -0
  43. package/skills/wix-headless/references/DISCOVERY.md +25 -1
  44. package/skills/wix-headless/references/FEEDBACK.md +16 -5
  45. package/skills/wix-headless/references/IMAGE_GENERATION.md +10 -0
  46. package/skills/wix-headless/references/SDK_HANDOFF.md +2 -0
  47. package/skills/wix-headless/references/SEED.md +3 -1
  48. package/skills/wix-headless/references/SETUP.md +1 -1
  49. package/skills/wix-headless/references/inline-recipes/how-to-code-a-store.md +3 -2
  50. package/skills/wix-headless/references/inline-recipes/how-to-code-restaurant-reservations.md +42 -2
  51. package/skills/wix-headless/references/inline-recipes/setup-bookings.md +5 -1
  52. package/skills/wix-headless/references/inline-recipes/setup-forms.md +1 -1
  53. package/skills/wix-headless/references/inline-recipes/setup-online-store.md +33 -8
  54. package/skills/wix-headless/references/inline-recipes/setup-portfolio.md +3 -1
  55. package/skills/wix-headless/references/inline-recipes/setup-restaurant-experiences.md +73 -0
  56. package/skills/wix-headless/references/inline-recipes/setup-restaurant-orders.md +38 -2
  57. package/skills/wix-headless/references/inline-recipes/setup-restaurant-reservations.md +20 -1
  58. package/skills/wix-headless/references/inline-recipes/setup-restaurants.md +1 -1
  59. package/skills/wix-headless/references/managed/CONNECT.md +2 -2
  60. package/skills/wix-headless/references/managed/CREATE.md +15 -1
  61. package/skills/wix-headless/references/managed/DEPLOYMENT.md +47 -0
  62. package/skills/wix-headless/references/self-managed/DEPLOYMENT.md +8 -0
  63. package/skills/wix-headless/references/stripe/DEPLOYMENT.md +8 -0
  64. package/skills/wix-manage/SKILL.md +131 -12
  65. package/skills/wix-manage/references/analytics/analytics-dashboard-navigation.md +41 -0
  66. package/skills/wix-manage/references/analytics/query-site-analytics.md +66 -9
  67. package/skills/wix-manage/references/app-installation/app-installation-dashboard-navigation.md +28 -0
  68. package/skills/wix-manage/references/app-installation/install-wix-apps.md +3 -0
  69. package/skills/wix-manage/references/blog/blog-dashboard-navigation.md +56 -0
  70. package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +31 -6
  71. package/skills/wix-manage/references/bookings/booking-service-policy-setup.md +3 -1
  72. package/skills/wix-manage/references/bookings/bookings-dashboard-navigation.md +63 -0
  73. package/skills/wix-manage/references/bookings/create-booking-service-from-prompt.md +6 -5
  74. package/skills/wix-manage/references/bookings/create-course-service.md +30 -5
  75. package/skills/wix-manage/references/bookings/diagnose-availability-issues.md +85 -42
  76. package/skills/wix-manage/references/cms/cms-dashboard-navigation.md +44 -0
  77. package/skills/wix-manage/references/cms/cms-data-items-crud.md +31 -3
  78. package/skills/wix-manage/references/cms/cms-publishing-flow.md +287 -0
  79. package/skills/wix-manage/references/cms/cms-schema-management.md +33 -1
  80. package/skills/wix-manage/references/contacts/contacts-dashboard-navigation.md +46 -0
  81. package/skills/wix-manage/references/contacts/create-a-contact.md +82 -0
  82. package/skills/wix-manage/references/contacts/update-a-contact.md +119 -0
  83. package/skills/wix-manage/references/dashboard-navigation/dashboard-navigation.md +82 -0
  84. package/skills/wix-manage/references/dashboard-navigation/routes.json +1733 -0
  85. package/skills/wix-manage/references/domains/domains-dashboard-navigation.md +32 -0
  86. package/skills/wix-manage/references/ecommerce/ecom-pricing.md +4 -4
  87. package/skills/wix-manage/references/ecommerce/ecom-shipping.md +1 -1
  88. package/skills/wix-manage/references/ecommerce/gift-cards/ecom-gift-cards-goal-sell-gift-cards.md +338 -0
  89. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-create-discount-rule.md +42 -78
  90. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-bundle-and-save.md +1 -1
  91. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-stock-mover.md +1 -1
  92. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-upsell-boost.md +1 -1
  93. package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +90 -92
  94. package/skills/wix-manage/references/events/create-wix-event.md +176 -0
  95. package/skills/wix-manage/references/events/manage-wix-events.md +174 -0
  96. package/skills/wix-manage/references/forms/forms-dashboard-navigation.md +44 -0
  97. package/skills/wix-manage/references/get-paid/get-paid-dashboard-navigation.md +52 -0
  98. package/skills/wix-manage/references/get-paid/how-to-setup-wix-payments.md +30 -7
  99. package/skills/wix-manage/references/google-ads/billing-and-payment.md +80 -0
  100. package/skills/wix-manage/references/google-ads/create-performance-max-campaign.md +212 -0
  101. package/skills/wix-manage/references/google-ads/get-campaign-suggestions.md +110 -0
  102. package/skills/wix-manage/references/google-ads/google-ads-dashboard-navigation.md +25 -0
  103. package/skills/wix-manage/references/google-ads/install-and-create-account.md +155 -0
  104. package/skills/wix-manage/references/google-ads/manage-campaign-lifecycle.md +63 -0
  105. package/skills/wix-manage/references/google-ads/query-campaign-analytics.md +155 -0
  106. package/skills/wix-manage/references/marketing/create-and-publish-social-post.md +225 -144
  107. package/skills/wix-manage/references/marketing/generate-and-publish-marketing-plan.md +19 -10
  108. package/skills/wix-manage/references/marketing/marketing-dashboard-navigation.md +52 -0
  109. package/skills/wix-manage/references/pricing-plans/create-and-update-pricing-plans.md +99 -1
  110. package/skills/wix-manage/references/pricing-plans/pricing-plans-dashboard-navigation.md +45 -0
  111. package/skills/wix-manage/references/restaurants/restaurants-dashboard-navigation.md +68 -0
  112. package/skills/wix-manage/references/restaurants/wix-restaurants-setup.md +94 -125
  113. package/skills/wix-manage/references/site-properties/change-payment-currency-site-properties.md +48 -9
  114. package/skills/wix-manage/references/site-properties/site-properties-dashboard-navigation.md +31 -0
  115. package/skills/wix-manage/references/sites/create-headless-site.md +52 -0
  116. package/skills/wix-manage/references/sites/create-site-from-template.md +2 -25
  117. package/skills/wix-manage/references/sites/site-import.md +243 -0
  118. package/skills/wix-manage/references/sites/sites-dashboard-navigation.md +29 -0
  119. package/skills/wix-manage/references/stores/add-store-pages-to-site.md +17 -1
  120. package/skills/wix-manage/references/stores/create-product-from-image.md +8 -6
  121. package/skills/wix-manage/references/stores/create-product-with-options-catalog-v3.md +16 -10
  122. package/skills/wix-manage/references/stores/find-products-query-and-search-catalog-v3.md +26 -8
  123. package/skills/wix-manage/references/stores/stores-dashboard-navigation.md +65 -0
  124. package/skills/wix-manage/references/stores/update-product-with-options.md +39 -7
  125. package/skills/wix-replatform/.publish-manifest.json +8 -0
  126. package/skills/wix-replatform/SKILL.md +693 -0
  127. package/skills/wix-replatform/lib/artifact-freshness.js +215 -0
  128. package/skills/wix-replatform/lib/completion-report.js +200 -0
  129. package/skills/wix-replatform/lib/config-env.js +59 -0
  130. package/skills/wix-replatform/lib/execution-manifest.js +185 -0
  131. package/skills/wix-replatform/lib/execution-state.js +173 -0
  132. package/skills/wix-replatform/lib/import-recovery.js +313 -0
  133. package/skills/wix-replatform/lib/local-state.js +642 -0
  134. package/skills/wix-replatform/lib/orchestration-preflight.js +143 -0
  135. package/skills/wix-replatform/lib/orchestration-router.js +122 -0
  136. package/skills/wix-replatform/lib/orchestration-state.js +455 -0
  137. package/skills/wix-replatform/lib/progress-log.js +224 -0
  138. package/skills/wix-replatform/lib/progress-log.sh +140 -0
  139. package/skills/wix-replatform/lib/url-preservation-state.js +391 -0
  140. package/skills/wix-replatform/resources/rp-discovery/SKILL.md +184 -0
  141. package/skills/wix-replatform/resources/rp-execute-import/SKILL.md +529 -0
  142. package/skills/wix-replatform/resources/rp-execute-setup/SKILL.md +316 -0
  143. package/skills/wix-replatform/resources/rp-execute-setup/scripts/mint-token.sh +64 -0
  144. package/skills/wix-replatform/resources/rp-import-codegen/SKILL.md +1114 -0
  145. package/skills/wix-replatform/resources/rp-mapper/SKILL.md +430 -0
  146. package/skills/wix-replatform/resources/rp-mapper/lib/mapping-resolve.js +217 -0
  147. package/skills/wix-replatform/resources/rp-mapper/scripts/resolve-mapping.js +148 -0
  148. package/skills/wix-replatform/resources/rp-mapper/wix-business-solutions-taxonomy.md +378 -0
  149. package/skills/wix-replatform/resources/rp-setup-discovery/SKILL.md +183 -0
  150. package/skills/wix-replatform/resources/rp-source-csv/SKILL.md +478 -0
  151. package/skills/wix-replatform/resources/rp-source-csv/lib/canonical-record.js +136 -0
  152. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fileset.js +0 -0
  153. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fingerprint.js +310 -0
  154. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-layout.js +1081 -0
  155. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-parse.js +618 -0
  156. package/skills/wix-replatform/resources/rp-source-csv/scripts/csv-discovery.js +949 -0
  157. package/skills/wix-replatform/resources/rp-source-csv/source-schema.example.json +196 -0
  158. package/skills/wix-replatform/resources/rp-source-csv/vendors/bigcommerce.json +66 -0
  159. package/skills/wix-replatform/resources/rp-source-csv/vendors/magento.json +60 -0
  160. package/skills/wix-replatform/resources/rp-source-csv/vendors/shopify.json +95 -0
  161. package/skills/wix-replatform/resources/rp-source-csv/vendors/woocommerce.json +82 -0
  162. package/skills/wix-replatform/resources/rp-source-wordpress/SKILL.md +256 -0
  163. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-http.js +249 -0
  164. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-route-classifier.js +444 -0
  165. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-discovery.js +774 -0
  166. package/skills/wix-replatform/resources/rp-source-wordpress/source-schema.example.json +71 -0
  167. package/skills/wix-replatform/resources/rp-target-wix/SKILL.md +632 -0
  168. package/skills/wix-replatform/resources/rp-target-wix/SPEC-product-reviews-and-blog-authorship.md +330 -0
  169. package/skills/wix-replatform/resources/rp-target-wix/domains/README.md +21 -0
  170. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/domain.json +19 -0
  171. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/category.json +37 -0
  172. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/comment.json +37 -0
  173. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/post.json +39 -0
  174. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/tag.json +35 -0
  175. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/domain.json +14 -0
  176. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/collection.json +35 -0
  177. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/data-item.json +36 -0
  178. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/reference.json +35 -0
  179. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/domain.json +14 -0
  180. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/contact.json +131 -0
  181. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/email-subscription.json +37 -0
  182. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/label.json +37 -0
  183. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/domain.json +21 -0
  184. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item.json +37 -0
  185. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-refund.json +37 -0
  186. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order.json +97 -0
  187. package/skills/wix-replatform/resources/rp-target-wix/domains/index.json +528 -0
  188. package/skills/wix-replatform/resources/rp-target-wix/domains/media/domain.json +14 -0
  189. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-file.json +38 -0
  190. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-folder.json +37 -0
  191. package/skills/wix-replatform/resources/rp-target-wix/domains/members/domain.json +13 -0
  192. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/badge.json +37 -0
  193. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member.json +53 -0
  194. package/skills/wix-replatform/resources/rp-target-wix/domains/schema.json +84 -0
  195. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/domain.json +25 -0
  196. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/category.json +37 -0
  197. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/coupon.json +37 -0
  198. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/inventory-item.json +38 -0
  199. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-tag.json +37 -0
  200. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product.json +90 -0
  201. package/skills/wix-replatform/resources/rp-target-wix/lib/audit-summary.js +64 -0
  202. package/skills/wix-replatform/resources/rp-target-wix/lib/contract-ledger.js +141 -0
  203. package/skills/wix-replatform/resources/rp-target-wix/lib/domain-knowledge.js +384 -0
  204. package/skills/wix-replatform/resources/rp-target-wix/lib/ndjson.js +260 -0
  205. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-verification.js +238 -0
  206. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-build.js +237 -0
  207. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-target-spec.js +238 -0
  208. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-writers.js +2219 -0
  209. package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge-validate.js +31 -0
  210. package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge.js +100 -0
  211. package/skills/wix-replatform/resources/rp-target-wix/scripts/verify-stores.js +107 -0
  212. package/skills/wix-replatform/resources/rp-telemetry/SKILL.md +344 -0
  213. package/skills/wix-replatform/resources/rp-telemetry/lib/bi-sink.js +250 -0
  214. package/skills/wix-replatform/resources/rp-telemetry/lib/telemetry-recorder.js +1927 -0
  215. package/skills/wix-replatform/resources/rp-telemetry/scripts/meter-from-audit.js +83 -0
  216. package/skills/wix-replatform/resources/rp-telemetry/scripts/rp-telemetry.js +141 -0
  217. package/skills/wix-replatform/scripts/artifact-freshness.js +76 -0
  218. package/skills/wix-replatform/scripts/execution-manifest-validate.js +43 -0
  219. package/skills/wix-replatform/scripts/execution-state-prepare.js +128 -0
  220. package/skills/wix-replatform/scripts/orchestration-preflight.js +48 -0
  221. package/skills/wix-replatform/scripts/orchestration-route.js +46 -0
  222. package/skills/wix-replatform/scripts/orchestration-state.js +245 -0
  223. package/skills/wix-vibe-headless/SKILL.md +54 -25
  224. package/skills/wix-vibe-headless/install/deploy.cjs +95 -0
  225. package/skills/wix-vibe-headless/install/pin-agents-md.cjs +34 -0
  226. package/skills/wix-vibe-headless/platforms/README.md +26 -0
  227. package/skills/wix-vibe-headless/platforms/base44.md +177 -0
  228. package/skills/wix-vibe-headless/platforms/generic.md +122 -0
  229. package/skills/wix-vibe-headless/references/blog/INSTRUCTIONS.md +230 -119
  230. package/skills/wix-vibe-headless/references/blog/app/components/PostCard.jsx +43 -0
  231. package/skills/wix-vibe-headless/references/blog/app/components/PostChips.jsx +25 -0
  232. package/skills/wix-vibe-headless/references/blog/app/components/PostGrid.jsx +15 -0
  233. package/skills/wix-vibe-headless/references/blog/app/context/TaxonomyContext.jsx +35 -0
  234. package/skills/wix-vibe-headless/references/blog/app/hooks/usePostDetail.js +38 -0
  235. package/skills/wix-vibe-headless/references/blog/app/pages/Blog.jsx +40 -0
  236. package/skills/wix-vibe-headless/references/blog/app/pages/CategoryPage.jsx +54 -0
  237. package/skills/wix-vibe-headless/references/blog/app/pages/PostDetail.jsx +65 -0
  238. package/skills/wix-vibe-headless/references/blog/app/pages/TagPage.jsx +50 -0
  239. package/skills/wix-vibe-headless/references/blog/seed/SEED.md +103 -0
  240. package/skills/wix-vibe-headless/references/blog/seed/seed-blog.js +270 -0
  241. package/skills/wix-vibe-headless/references/bookings/INSTRUCTIONS.md +260 -145
  242. package/skills/wix-vibe-headless/references/bookings/app/components/BookingForm.jsx +65 -0
  243. package/skills/wix-vibe-headless/references/bookings/app/components/ServiceCard.jsx +47 -0
  244. package/skills/wix-vibe-headless/references/bookings/app/components/ServiceGrid.jsx +13 -0
  245. package/skills/wix-vibe-headless/references/bookings/app/components/SlotPicker.jsx +126 -0
  246. package/skills/wix-vibe-headless/references/bookings/app/hooks/useServiceDetail.js +108 -0
  247. package/skills/wix-vibe-headless/references/bookings/app/hooks/useServices.js +58 -0
  248. package/skills/wix-vibe-headless/references/bookings/app/lib/serviceFacts.js +95 -0
  249. package/skills/wix-vibe-headless/references/bookings/app/pages/ServiceDetail.jsx +94 -0
  250. package/skills/wix-vibe-headless/references/bookings/app/pages/Services.jsx +89 -0
  251. package/skills/wix-vibe-headless/references/bookings/{wix-bookings-checkout.js → app/rest/wix-bookings-checkout.js} +1 -1
  252. package/skills/wix-vibe-headless/references/bookings/{wix-bookings-services.js → app/rest/wix-bookings-services.js} +90 -12
  253. package/skills/wix-vibe-headless/references/bookings/seed/SEED.md +117 -0
  254. package/skills/wix-vibe-headless/references/bookings/seed/seed-bookings.js +333 -0
  255. package/skills/wix-vibe-headless/references/cms/INSTRUCTIONS.md +169 -147
  256. package/skills/wix-vibe-headless/references/cms/app/collection.config.js +31 -0
  257. package/skills/wix-vibe-headless/references/cms/app/lib/wixImage.js +18 -0
  258. package/skills/wix-vibe-headless/references/cms/{wix-cms.js → app/rest/wix-cms.js} +47 -2
  259. package/skills/wix-vibe-headless/references/cms/seed/SEED.md +145 -0
  260. package/skills/wix-vibe-headless/references/events/INSTRUCTIONS.md +228 -131
  261. package/skills/wix-vibe-headless/references/events/app/components/CategoryFilter.jsx +23 -0
  262. package/skills/wix-vibe-headless/references/events/app/components/EventCard.jsx +43 -0
  263. package/skills/wix-vibe-headless/references/events/app/components/EventGrid.jsx +13 -0
  264. package/skills/wix-vibe-headless/references/events/app/components/EventRegistration.jsx +29 -0
  265. package/skills/wix-vibe-headless/references/events/app/components/RsvpForm.jsx +57 -0
  266. package/skills/wix-vibe-headless/references/events/app/components/TicketPicker.jsx +78 -0
  267. package/skills/wix-vibe-headless/references/events/app/hooks/useEventDetail.js +27 -0
  268. package/skills/wix-vibe-headless/references/events/app/hooks/useEventsList.js +54 -0
  269. package/skills/wix-vibe-headless/references/events/app/hooks/useRsvpForm.js +40 -0
  270. package/skills/wix-vibe-headless/references/events/app/hooks/useTicketing.js +81 -0
  271. package/skills/wix-vibe-headless/references/events/app/pages/EventDetail.jsx +48 -0
  272. package/skills/wix-vibe-headless/references/events/app/pages/Events.jsx +36 -0
  273. package/skills/wix-vibe-headless/references/events/{wix-events-browse.js → app/rest/wix-events-browse.js} +3 -2
  274. package/skills/wix-vibe-headless/references/events/seed/SEED.md +107 -0
  275. package/skills/wix-vibe-headless/references/events/seed/seed-events.js +251 -0
  276. package/skills/wix-vibe-headless/references/members/INSTRUCTIONS.md +276 -188
  277. package/skills/wix-vibe-headless/references/members/app/components/LoginForm.jsx +101 -0
  278. package/skills/wix-vibe-headless/references/members/app/components/MemberMenu.jsx +33 -0
  279. package/skills/wix-vibe-headless/references/members/app/components/RequireAuth.jsx +21 -0
  280. package/skills/wix-vibe-headless/references/members/app/components/SocialButtons.jsx +29 -0
  281. package/skills/wix-vibe-headless/references/members/app/context/MemberContext.jsx +54 -0
  282. package/skills/wix-vibe-headless/references/members/app/hooks/useLoginForm.js +77 -0
  283. package/skills/wix-vibe-headless/references/members/app/pages/Account.jsx +36 -0
  284. package/skills/wix-vibe-headless/references/members/app/pages/Callback.jsx +32 -0
  285. package/skills/wix-vibe-headless/references/members/app/pages/Login.jsx +35 -0
  286. package/skills/wix-vibe-headless/references/members/{wix-members-auth.js → app/rest/wix-members-auth.js} +6 -3
  287. package/skills/wix-vibe-headless/references/members/install/Register.jsx +22 -0
  288. package/skills/wix-vibe-headless/references/members/seed/SEED.md +22 -0
  289. package/skills/wix-vibe-headless/references/portfolio/INSTRUCTIONS.md +233 -104
  290. package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionCard.jsx +31 -0
  291. package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionGrid.jsx +15 -0
  292. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectCard.jsx +39 -0
  293. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectGrid.jsx +15 -0
  294. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectMedia.jsx +29 -0
  295. package/skills/wix-vibe-headless/references/portfolio/app/hooks/useCollectionProjects.js +35 -0
  296. package/skills/wix-vibe-headless/references/portfolio/app/hooks/usePortfolioGallery.js +27 -0
  297. package/skills/wix-vibe-headless/references/portfolio/app/hooks/useProjectDetail.js +25 -0
  298. package/skills/wix-vibe-headless/references/portfolio/app/pages/CollectionPage.jsx +39 -0
  299. package/skills/wix-vibe-headless/references/portfolio/app/pages/Portfolio.jsx +27 -0
  300. package/skills/wix-vibe-headless/references/portfolio/app/pages/ProjectDetail.jsx +60 -0
  301. package/skills/wix-vibe-headless/references/portfolio/{wix-portfolio.js → app/rest/wix-portfolio.js} +84 -55
  302. package/skills/wix-vibe-headless/references/portfolio/seed/SEED.md +94 -0
  303. package/skills/wix-vibe-headless/references/portfolio/seed/seed-portfolio.js +236 -0
  304. package/skills/wix-vibe-headless/references/pricing-plans/INSTRUCTIONS.md +240 -117
  305. package/skills/wix-vibe-headless/references/pricing-plans/app/components/OrderCard.jsx +35 -0
  306. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanCard.jsx +48 -0
  307. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanGrid.jsx +16 -0
  308. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanPrice.jsx +35 -0
  309. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/useMyPlans.js +25 -0
  310. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlanDetail.js +28 -0
  311. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlans.js +30 -0
  312. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/MyPlans.jsx +30 -0
  313. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/PlanDetail.jsx +53 -0
  314. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/Plans.jsx +28 -0
  315. package/skills/wix-vibe-headless/references/pricing-plans/seed/SEED.md +86 -0
  316. package/skills/wix-vibe-headless/references/pricing-plans/seed/seed-pricing-plans.js +251 -0
  317. package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +248 -124
  318. package/skills/wix-vibe-headless/references/restaurants/app/components/ItemDialog.jsx +81 -0
  319. package/skills/wix-vibe-headless/references/restaurants/app/components/MenuItemCard.jsx +71 -0
  320. package/skills/wix-vibe-headless/references/restaurants/app/components/MenuList.jsx +43 -0
  321. package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartButton.jsx +21 -0
  322. package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartDrawer.jsx +60 -0
  323. package/skills/wix-vibe-headless/references/restaurants/app/context/OrderCartContext.jsx +63 -0
  324. package/skills/wix-vibe-headless/references/restaurants/app/hooks/useItemOrder.js +32 -0
  325. package/skills/wix-vibe-headless/references/restaurants/app/hooks/useReservation.js +73 -0
  326. package/skills/wix-vibe-headless/references/restaurants/app/pages/Menu.jsx +28 -0
  327. package/skills/wix-vibe-headless/references/restaurants/app/pages/Reservations.jsx +102 -0
  328. package/skills/wix-vibe-headless/references/restaurants/seed/SEED.md +180 -0
  329. package/skills/wix-vibe-headless/references/restaurants/seed/seed-restaurants.js +452 -0
  330. package/skills/wix-vibe-headless/references/shared/app/components/WixManageBanner.jsx +56 -0
  331. package/skills/wix-vibe-headless/references/shared/{wix-client.js → app/rest/wix-client.js} +6 -8
  332. package/skills/wix-vibe-headless/references/shared/app/rest/wix-config.js +6 -0
  333. package/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md +263 -148
  334. package/skills/wix-vibe-headless/references/storefront/app/components/CartButton.jsx +20 -0
  335. package/skills/wix-vibe-headless/references/storefront/app/components/CartDrawer.jsx +150 -0
  336. package/skills/wix-vibe-headless/references/storefront/app/components/ProductCard.jsx +167 -0
  337. package/skills/wix-vibe-headless/references/storefront/app/components/ProductGallery.jsx +51 -0
  338. package/skills/wix-vibe-headless/references/storefront/app/components/ProductGrid.jsx +54 -0
  339. package/skills/wix-vibe-headless/references/storefront/app/components/VariantPicker.jsx +119 -0
  340. package/skills/wix-vibe-headless/references/storefront/app/context/CartContext.jsx +71 -0
  341. package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductDetail.js +109 -0
  342. package/skills/wix-vibe-headless/references/storefront/app/hooks/useShop.js +98 -0
  343. package/skills/wix-vibe-headless/references/storefront/app/lib/storeImage.js +27 -0
  344. package/skills/wix-vibe-headless/references/storefront/app/pages/ProductDetail.jsx +139 -0
  345. package/skills/wix-vibe-headless/references/storefront/app/pages/Shop.jsx +75 -0
  346. package/skills/wix-vibe-headless/references/storefront/{wix-store-cart.js → app/rest/wix-store-cart.js} +1 -1
  347. package/skills/wix-vibe-headless/references/storefront/{wix-store-catalog.js → app/rest/wix-store-catalog.js} +25 -2
  348. package/skills/wix-vibe-headless/references/storefront/seed/SEED.md +111 -0
  349. package/skills/wix-vibe-headless/references/storefront/seed/seed-store.js +299 -0
  350. /package/skills/wix-vibe-headless/references/blog/{wix-blog.js → app/rest/wix-blog.js} +0 -0
  351. /package/skills/wix-vibe-headless/references/events/{wix-events-registration.js → app/rest/wix-events-registration.js} +0 -0
  352. /package/skills/wix-vibe-headless/references/pricing-plans/{wix-pricing-plans.js → app/rest/wix-pricing-plans.js} +0 -0
  353. /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-menu.js → app/rest/wix-restaurants-menu.js} +0 -0
  354. /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-ordering.js → app/rest/wix-restaurants-ordering.js} +0 -0
  355. /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-reservations.js → app/rest/wix-restaurants-reservations.js} +0 -0
@@ -0,0 +1,316 @@
1
+ ---
2
+ name: rp-execute-setup
3
+ description: >-
4
+ Verifies and provisions Wix-side setup required before import. Use after codegen when
5
+ machine-readable setup artifacts must be validated or executed against the target site.
6
+ ---
7
+
8
+ # rp-execute-setup
9
+
10
+ Verify that required Wix-side setup exists and is ready for import.
11
+
12
+ ## Purpose
13
+
14
+ This skill validates the prerequisites discovered by `rp-setup-discovery`. It can also drive the setup work when the environment and permissions allow it.
15
+
16
+ ## Required inputs
17
+
18
+ - `migrations/<project>/setup/setup-plan.json`
19
+ - `migrations/<project>/setup/setup-requirements.json`
20
+ - `migrations/<project>/execution/execution-manifest.json`
21
+ - `migrations/<project>/config/wix.env` or equivalent environment values
22
+ - access to the target Wix environment or to exported evidence from that environment
23
+
24
+ Prefer the machine-readable setup artifacts above. Markdown setup summaries are secondary
25
+ renderings for humans, not the primary execution contract.
26
+
27
+ ## Config
28
+
29
+ Prefer project-local config over ad hoc shell state. `config/wix.env` should exist before
30
+ setup verification/provisioning and contain:
31
+
32
+ ```bash
33
+ WIX_SITE_STRATEGY=
34
+ WIX_SITE_ID=
35
+ WIX_AUTH_TOKEN=
36
+ ```
37
+
38
+ `WIX_SITE_STRATEGY` is always required. `WIX_SITE_ID` is required before setup
39
+ verification/provisioning begins. If the strategy is `new` and no site has been created
40
+ yet, halt to needs-user and route back to the site-creation step rather than asking for an
41
+ existing site ID. `WIX_AUTH_TOKEN` is the canonical Wix credential key for this project
42
+ flow; for CLI-scaffolded headless sites it holds the site write credential (a CLI token
43
+ sent as a Bearer token). **Never print secret values.** Mint the token without printing it
44
+ to the transcript by running `scripts/mint-token.sh` from the migration project root:
45
+
46
+ ```bash
47
+ bash migrations/<project>/scripts/mint-token.sh
48
+ ```
49
+
50
+ The canonical copy lives at
51
+ `skills/replatform/resources/rp-execute-setup/scripts/mint-token.sh`.
52
+ `rp-import-codegen` copies it into `migrations/<project>/scripts/` at scaffolding time —
53
+ do not write it from scratch. The script reads `WIX_SITE_ID` from `config/wix.env`, calls
54
+ `npx @wix/cli@latest token --site "$WIX_SITE_ID"`, captures stdout (token shape:
55
+ `OauthNG.JWS.<base64>.<base64>.<sig>`), writes it directly into `config/wix.env` as
56
+ `WIX_AUTH_TOKEN`, and prints only a char-count confirmation. Do NOT run the token command
57
+ raw in a Bash tool call — it prints the credential to transcript.
58
+
59
+ If `WIX_SITE_ID` is missing for a RePlatform `new site` + `headless` flow, the recovery
60
+ path is the **Wix CLI headless scaffold** step defined in `replatform` → "Headless site
61
+ creation" (`npm create @wix/new@latest headless`). The account-level Projects API is
62
+ deprecated for this workflow. **Note:** the scaffold does not install Wix Stores — this
63
+ skill (setup) is where Wix Stores and other required apps get installed (via the
64
+ `wix-manage` skill / app-install path), then verified, before import.
65
+
66
+ Treat `migrations/<project>/config/*.env` as secret-bearing once they may contain real
67
+ values. Do not verify them with whole-file reads that echo contents into tool output.
68
+ Only check existence plus `present` / `blank` / `missing` status for required keys.
69
+
70
+ ## Workflow
71
+
72
+ 1. Resolve the active project.
73
+ 2. Read the machine-readable setup artifacts.
74
+ 3. Verify each required app, collection, schema, field, and permission through the shared
75
+ setup runtime contract.
76
+ If setup requirements came from domain knowledge, preserve the originating `targetRef`
77
+ in verification output so later execution warnings can be traced back to the selected
78
+ entity guidance.
79
+ 4. Record pass, fail, or blocked status for each item.
80
+ 5. If execution is allowed, perform missing setup steps through the shared setup runtime
81
+ and re-verify.
82
+ 6. Save the verification results and setup execution artifacts.
83
+
84
+ ## Execute the setup artifacts — do not re-derive setup from prose
85
+
86
+ Setup execution should follow the approved machine artifacts and the shared setup runtime.
87
+ It should not rebuild setup decisions from markdown or ad hoc reasoning when
88
+ `setup/setup-plan.json`, `setup/setup-requirements.json`, and `execution/execution-manifest.json`
89
+ already exist.
90
+
91
+ This skill owns execution of those artifacts. It does not own redefining the setup plan
92
+ or creating a separate setup approval checkpoint.
93
+
94
+ Dry-run setup uses the same setup plan and setup executor as live setup. When `DRY_RUN`
95
+ is enabled by config or `--dry-run`, every setup step must first be reduced to a
96
+ structured intent describing the REST request, SDK operation, MCP tool call, or CLI
97
+ command that live setup would use. The shared setup runtime then captures that intent,
98
+ marks the step `planned_dry_run`, and must not invoke Wix MCP tools, Wix CLI commands,
99
+ SDK calls, or fetch calls that access or mutate Wix account/site state.
100
+
101
+ Do not override `DRY_RUN=true` with `--no-dry-run` for setup verification or provisioning
102
+ unless the user has explicitly approved leaving dry-run for setup. Prefer to avoid that
103
+ override entirely when a dry-run or plan/report can answer the question. The one allowed
104
+ live action while a project otherwise remains in dry-run mode is the separate new-site
105
+ creation step handled upstream by `replatform`; this skill must not treat that exception
106
+ as permission to run live setup writes or live setup verification probes.
107
+
108
+ Dry-run setup must not update `setup/setup-verification.json` in a way that claims a Wix
109
+ capability, app installation, collection, or site exists. Write a separate dry-run setup
110
+ report or clearly dry-run-scoped observations instead.
111
+
112
+ ## Provisioning — exhaust programmatic options before declaring anything "manual"
113
+
114
+ Default to provisioning via API. Do **not** label a requirement "manual" or "owner
115
+ action" until you have confirmed no API can do it.
116
+
117
+ The preferred contract is a **shared setup runtime** owned by `rp-target-wix`, executed
118
+ against the machine setup artifacts produced upstream. This skill may use available Wix
119
+ API/MCP surfaces as the transport beneath that runtime, but the contract at the
120
+ RePlatform level is:
121
+
122
+ - setup execution consumes machine setup artifacts
123
+ - setup execution follows shared runtime behavior
124
+ - setup provisioning is not re-planned live by the agent
125
+
126
+ The approval gate is unchanged: no setup write before the user accepts the execution
127
+ plan.
128
+
129
+ If a helpful Wix tool surface is available in the runtime, it may be used beneath the
130
+ shared setup runtime for verification or transport. If no such surface is available, do
131
+ not treat that alone as a blocker; continue with the shared setup/runtime contract and
132
+ verified `rp-target-wix` behavior, marking unverified items where needed.
133
+
134
+ Only proceed in a docs-only/read-only posture when the MCP is genuinely unavailable and
135
+ the step can still produce useful non-destructive output.
136
+
137
+ Concrete mechanisms:
138
+
139
+ - **Mute site notifications FIRST (spec 0012).** When the setup artifacts carry the
140
+ `mute-site-notifications` requirement (always for `WIX_SITE_STRATEGY=new`; opt-in for
141
+ existing sites), execute it **before every other setup write** — immediately after the
142
+ target site is available and `WIX_AUTH_TOKEN` is minted, and before app installs,
143
+ collection creation, or any other provisioning — so setup writes themselves cannot
144
+ fire notifications. Use the `muteSiteNotifications` primitive from
145
+ `rp-target-wix/lib/wix-writers.js` (VERIFIED 2026-08-04) with a project-identifying
146
+ reason (`RePlatform migration — <project>`); verify via `getSiteMuteState` →
147
+ `muted: true` (verification method `status-read`; an idempotent re-mute is only a
148
+ documented fallback, method `idempotent-recall`). Record the result in
149
+ `setup/setup-verification.json` on the requirement at call time — status
150
+ (`pass`/`fail`/`blocked`), timestamp, and verification method — like any other
151
+ verified item; downstream reports read this recorded state, never infer it. **AUTH
152
+ TRAP:** the endpoints accept user tokens only — the CLI-minted `OauthNG` site token
153
+ works; an account API key gets an empty-body 403. **A failed mute is a blocker, not a
154
+ warning:** the run halts to needs-user and never proceeds to import writes — no
155
+ degraded mode, no continue-anyway. Never call `unmuteSiteNotifications` from this
156
+ skill — unmute is an explicit owner request handled at the orchestrator level.
157
+ Record the provision outcome through the standard `rp-telemetry` recorder like any
158
+ other notable boundary (an `error` event with `error_code` on failure; the
159
+ existing-site opt-in surfaces via the approval gate's `user_decision` event) — no new
160
+ telemetry surface.
161
+ - **Installing / enabling Wix apps (Blog, Members, etc.) IS automatable.** Use the
162
+ App Installation API:
163
+ 1. Pre-check with `POST /apps-installer-service/v1/app-instance/is-permitted-to-install`
164
+ (read-only) to see whether the identity may install the app.
165
+ 2. If permitted, install with `POST /apps-installer-service/v1/app-instance/install`.
166
+ Body (all fields required — confirmed by live 400s): `{ appInstance: { appDefId,
167
+ enabled: true }, tenant: { tenantType: "SITE", id: <siteId> }, installType:
168
+ "INSTALL_TYPE_SITE", appsInstallOptions: {} }`. (The `is-permitted-to-install`
169
+ pre-check uses a *different*, oneof-based body and is informational only — if its
170
+ validation fights you, skip it and rely on `/install`.)
171
+ 3. List current state with `GET /apps-installer-service/v1/app-instances`.
172
+ - **Ground `appDefId` from the official "Apps Created by Wix" table**
173
+ (`/docs/api-reference/articles/work-with-wix-apis/platform/about-apps-created-by-wix`),
174
+ NOT from a docs *example* — e.g. the install-app example uses
175
+ `1380b703-…`, which is **Wix eCommerce**, not Blog. Installing the wrong app on a
176
+ live site is a real hazard; verify the ID maps to the app you intend.
177
+ - **After installing Wix Stores, verify the catalog is V3 — before any Stores write.**
178
+ Installing Stores does **not** guarantee Catalog V3: on a site scaffolded from the
179
+ `blank` headless template, the install comes up **`V1_CATALOG`**, which the V3 Stores
180
+ primitives cannot write to (verified the hard way on a live migration, 2026-07-30).
181
+ Catalog version is fixed at provisioning — there is no in-place V1 → V3 switch. Check it
182
+ with the read-only Catalog Versioning API:
183
+
184
+ ```bash
185
+ curl -s -H "Authorization: Bearer $WIX_AUTH_TOKEN" -H "wix-site-id: $WIX_SITE_ID" \
186
+ https://www.wixapis.com/stores/v3/provision/version
187
+ ```
188
+
189
+ `catalogVersion` is `V3_CATALOG` (proceed), `STORES_NOT_INSTALLED` (install, re-check),
190
+ or `V1_CATALOG` — record it as a **blocker** in `setup/setup-verification.json`, write
191
+ nothing to Stores, and halt to needs-user. The prevention lives upstream of this skill
192
+ (`replatform` → "Headless site creation": scaffold with `--site-template commerce`); the
193
+ recovery is a user-approved replacement site, **never** a silently created one, and
194
+ never a throwaway probe site.
195
+ - **Wix Data / CMS collections (the `WDE0110: Wix Code not enabled` case).** Enable Wix
196
+ Data by **installing the Wix Data app `appDefId e593b0bd-b783-45b8-97c2-873d42aacaf4`**
197
+ via the App Installation API (same `/install` body shape as any other app; it also
198
+ auto-installs a dependency app `1a711f05-2040-47df-a9f0-4f9cddb4c3c6`). Once installed,
199
+ plain REST `POST /wix-data/v2/collections` creates **NATIVE** collections with no
200
+ `WDE0110` — no code editor toggle, no custom app needed. **Verified live 2026-06-10**
201
+ on a fresh free site (install → 200; collection create → 200 `collectionType: NATIVE`).
202
+ - This is the preferred path. The older data-collections-extension app (authoring a
203
+ custom app that declares collections) is now a **fallback** — only needed if
204
+ you must declare collection schemas at install time, and it still can't express
205
+ `REFERENCE` fields (add those after install via `create-field`).
206
+ - Note: the standalone "Wix CMS" app (`appDefId 675bbcef-…`) is **not** installable
207
+ (`is-permitted-to-install` → `false`) — do **not** use it; use `e593b0bd-…`.
208
+ - **Optional import crosswalk CMS mirror.** Native Wix entities use local crosswalk state
209
+ under `migrations/<project>/state/crosswalk/` for idempotency. Provision a native
210
+ **`ImportCrosswalk`** collection only when the approved setup artifacts explicitly
211
+ request a CMS mirror for existing-site seeding or site-local reference. After enabling
212
+ Wix Data, create it with `POST /wix-data/v2/collections` and fields such as
213
+ `entityType` (TEXT), `sourceId` (TEXT), `sourceStableKey` (TEXT), `targetId` (TEXT),
214
+ `targetType` (TEXT), and `updatedAt` (DATETIME/TEXT). Do not provision this collection
215
+ as the default native-entity idempotency mechanism. If upstream artifacts still call the
216
+ optional mirror `MigrationRefs`, normalize them here rather than creating both
217
+ collections.
218
+ - **Genuinely manual (no API exists):** upgrading the storage plan, generating
219
+ external-system credentials (e.g. a WordPress Application Password), and
220
+ account-level billing. These are the only categories that may be reported as manual —
221
+ and only after confirming no API covers them.
222
+
223
+ ## Artifact to create or update
224
+
225
+ - `migrations/<project>/setup/setup-verification.json`
226
+ - `migrations/<project>/setup/review/setup-verification.md`
227
+ - audit/report artifacts emitted by the shared setup runtime
228
+ - dry-run request captures in `migrations/<project>/state/attempts/wix-request-captures.ndjson`
229
+ when setup is run with dry-run enabled
230
+
231
+ Stores live setup checks that require a probe record must use the shared rp-target-wix
232
+ verification CLI, not ad hoc snippets. For subscription support, run:
233
+
234
+ ```bash
235
+ node skills/replatform/resources/rp-target-wix/scripts/verify-stores.js stores subscription-create \
236
+ --artifact migrations/<project>/setup/stores-subscription-verification.json \
237
+ --proposal-artifact migrations/<project>/setup/contract-ledger-proposal.json
238
+ ```
239
+
240
+ Keep the JSON verification artifact and contract-ledger proposal alongside setup
241
+ verification. The proposal is not itself shared product knowledge; the orchestrator must
242
+ promote accepted proposal data into `rp-target-wix/domains/**/entities/*.json` in the same
243
+ session or record a deferral reason. If cleanup fails, do not mark the probe as clean;
244
+ preserve the warning and run the emitted `stores delete-probe` recovery command after
245
+ permissions or target state are fixed.
246
+
247
+ ## Verification output format
248
+
249
+ For each requirement capture:
250
+
251
+ - requirement name
252
+ - expected state
253
+ - observed state
254
+ - status: passed, failed, blocked
255
+ - remediation needed
256
+
257
+ The machine-readable verification artifact should also preserve:
258
+
259
+ - stable requirement ID
260
+ - checkpoint/provisioning step ID when applicable
261
+ - verification evidence reference
262
+ - automation mode: `automatable | manual | blocked | unverified`
263
+
264
+ ## Optional media reachability verification
265
+
266
+ When the migration includes media import by source URL, check whether discovered media
267
+ URLs are publicly reachable by Wix. If the source URL is `localhost`, `127.0.0.1`, or a
268
+ private-only host, mark **media import** as `blocked` or `deferred`, but do not block
269
+ unrelated non-media entities. This is optional setup and, as far as we know today, affects
270
+ only Wix Media import.
271
+
272
+ Record the user's chosen path in `setup/setup-verification.json` and render it into the
273
+ review markdown:
274
+
275
+ - **Tunnel media URLs:** ask the user to expose the source through a public HTTPS tunnel,
276
+ then use that URL for `WP_BASE_URL` / `SOURCE_URL` or rewrite media URLs to that base.
277
+ - **Skip/defer media:** proceed only if the execution plan clearly says media and any
278
+ media-dependent references (hero images, galleries, downloads) will be skipped or
279
+ deferred.
280
+
281
+ Ngrok quick setup for macOS:
282
+
283
+ ```bash
284
+ brew install ngrok
285
+ ngrok config add-authtoken "<YOUR_AUTHTOKEN>"
286
+ ngrok http 8090
287
+ export WP_BASE_URL=https://<id>.ngrok-free.app
288
+ ```
289
+
290
+ ## Runtime policy
291
+
292
+ Split this skill's work by side effect:
293
+
294
+ - **Verification is read-only** — checking what's installed, what's missing, and what's
295
+ genuinely manual. It runs **before** the execution-plan acceptance gate and feeds the
296
+ plan.
297
+ - **Provisioning writes** — installing apps, enabling Wix Data (via the data-collections
298
+ enabler), creating collections, adding fields — happen **only after** the user accepts
299
+ the execution plan. **No site write before acceptance.** Once accepted, the "Migrate"
300
+ consent covers the individual writes, so don't re-prompt per app/collection. Halt to
301
+ needs-user only for genuinely manual items (storage-plan upgrade) or a
302
+ missing/invalid credential.
303
+
304
+ The execution behavior itself should come from the shared setup runtime and approved
305
+ setup artifacts, not from improvised per-run logic in this skill.
306
+
307
+ ## Guardrails
308
+
309
+ - Never report setup as complete without evidence.
310
+ - Prefer machine-readable setup verification artifacts over prose-only reporting.
311
+ - Before marking an item blocked or manual, confirm no API can perform it (see
312
+ Provisioning above). Reserve "manual" for storage/billing/external-credential steps.
313
+ - If credentials or permissions are genuinely missing, mark the item blocked and state
314
+ the exact API that was refused and why.
315
+ - Do not start import execution from this skill.
316
+ - Do not reinterpret setup requirements from markdown when machine artifacts exist.
@@ -0,0 +1,64 @@
1
+ #!/usr/bin/env bash
2
+ # Mints a fresh Wix CLI token for a migration project's site and writes it
3
+ # directly into config/wix.env as WIX_AUTH_TOKEN — never printing the value.
4
+ #
5
+ # Usage (from the migration project root):
6
+ # bash scripts/mint-token.sh
7
+ #
8
+ # Reads WIX_SITE_ID from config/wix.env.
9
+ # Requires: npx @wix/cli@latest (logged in — check: npx @wix/cli@latest whoami)
10
+ #
11
+ # This is the canonical copy. rp-import-codegen copies it into
12
+ # migrations/<project>/scripts/mint-token.sh during project scaffolding.
13
+
14
+ set -euo pipefail
15
+
16
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
17
+ PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
18
+ CONFIG_FILE="$PROJECT_ROOT/config/wix.env"
19
+
20
+ if [[ ! -f "$CONFIG_FILE" ]]; then
21
+ echo "Error: config file not found: $CONFIG_FILE" >&2
22
+ exit 1
23
+ fi
24
+
25
+ WIX_SITE_ID=$(grep '^WIX_SITE_ID=' "$CONFIG_FILE" | cut -d'=' -f2- | tr -d '[:space:]')
26
+
27
+ if [[ -z "$WIX_SITE_ID" ]]; then
28
+ echo "Error: WIX_SITE_ID is blank in $CONFIG_FILE" >&2
29
+ exit 1
30
+ fi
31
+
32
+ echo "Minting token for site $WIX_SITE_ID ..." >&2
33
+
34
+ # Capture token only on stdout; suppress CLI spinner/progress on stderr
35
+ TOKEN=$(npx @wix/cli@latest token --site "$WIX_SITE_ID" 2>/dev/null | tr -d '[:space:]')
36
+
37
+ if [[ -z "$TOKEN" ]]; then
38
+ echo "Error: token command returned empty output" >&2
39
+ exit 1
40
+ fi
41
+
42
+ # Write into config (replace existing line, or append).
43
+ # Not `sed -i`: BSD/macOS sed requires a backup-suffix argument for -i, so the
44
+ # portable-looking GNU form silently consumes the expression as the suffix.
45
+ # The token is passed through the environment, never as an awk -v value or on a
46
+ # command line, so no escape processing can corrupt it and it stays out of `ps`.
47
+ if grep -q '^WIX_AUTH_TOKEN=' "$CONFIG_FILE"; then
48
+ TMP_FILE="$(mktemp "${TMPDIR:-/tmp}/wix.env.XXXXXX")"
49
+ trap 'rm -f "$TMP_FILE"' EXIT
50
+ RP_NEW_TOKEN="$TOKEN" awk '
51
+ /^WIX_AUTH_TOKEN=/ { print "WIX_AUTH_TOKEN=" ENVIRON["RP_NEW_TOKEN"]; next }
52
+ { print }
53
+ ' "$CONFIG_FILE" > "$TMP_FILE"
54
+ # Copy contents rather than mv, so the config file keeps its own permissions.
55
+ cat "$TMP_FILE" > "$CONFIG_FILE"
56
+ rm -f "$TMP_FILE"
57
+ else
58
+ printf '\nWIX_AUTH_TOKEN=%s\n' "$TOKEN" >> "$CONFIG_FILE"
59
+ fi
60
+
61
+ TOKEN_LEN=${#TOKEN}
62
+ unset TOKEN
63
+
64
+ echo "✓ WIX_AUTH_TOKEN written to config/wix.env ($TOKEN_LEN chars)" >&2