@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,196 @@
1
+ {
2
+ "$comment": "TEMPLATE / EXAMPLE for migrations/<project>/source-schema.json when platform=csv. This is a shape to follow, NOT a strict schema to validate against. Both the producer (rp-discovery) and the consumer (rp-mapper) are LLMs, so structure is a convention that prevents drift, not a hard contract. Keep the agnostic core stable across platforms; push CSV quirks into the open `sourceMeta` blob. Synthesize it from data/csv-discovery/fileset.json.",
3
+
4
+ "platform": "csv",
5
+ "capturedAt": "2026-07-28T00:00:00.000Z",
6
+ "rawDiscovery": "data/csv-discovery/",
7
+
8
+ "sourceMeta": {
9
+ "$comment": "CSV specifics live here so the agnostic core stays identical to every other platform.",
10
+ "csvInputRoot": "inputs/",
11
+
12
+ "sourceFiles": [
13
+ {
14
+ "file": "products_export.csv",
15
+ "role": "product",
16
+ "vendor": "shopify",
17
+ "roleSource": "vendor-filename-hint",
18
+ "layout": { "pattern": "grouped-by-key", "groupKey": "Handle", "continuation": "blank-key" }
19
+ },
20
+ {
21
+ "file": "products_export-2.csv",
22
+ "role": "product",
23
+ "partOf": "products_export.csv",
24
+ "headerRelation": "identical",
25
+ "rowOffset": 5000,
26
+ "$comment": "Shape C: same role + same normalized column set = one logical stream. partOf keeps the provenance of each row set visible."
27
+ },
28
+ {
29
+ "file": "categories.csv",
30
+ "role": "category",
31
+ "vendor": "custom",
32
+ "layout": { "pattern": "flat" }
33
+ }
34
+ ],
35
+
36
+ "vendor": {
37
+ "$comment": "Per file when the set mixes vendors. Confidence and evidence are recorded so a low-confidence match is visible rather than silently chosen.",
38
+ "name": "shopify",
39
+ "confidence": 1,
40
+ "source": "fingerprint",
41
+ "profileVersion": "2026-07",
42
+ "evidence": "required 2/2; strong 5/5; score 1; runner-up woocommerce 0.04"
43
+ },
44
+
45
+ "dialect": {
46
+ "delimiter": ",",
47
+ "encoding": "utf8",
48
+ "bom": null,
49
+ "lineEnding": "\r\n",
50
+ "emptyPolicy": "always-empty",
51
+ "$comment": "emptyPolicy is DETECTED, not assumed: `present-if-quoted` only when the file contains both a quoted and an unquoted empty. Generated readers apply it through coerceEmpty so a required Wix field is never fed an empty string the source did not have."
52
+ },
53
+
54
+ "drift": {
55
+ "$comment": "The header read at discovery time is authoritative; the vendor profile is advisory. These two lists make profile drift visible to the mapper and the user instead of silent.",
56
+ "unmappedColumns": ["Metafield: custom.fit"],
57
+ "missingExpectedColumns": []
58
+ },
59
+
60
+ "mappingHints": [
61
+ {
62
+ "$comment": "ADVISORY pre-fill from the vendor overlay's columnMap. rp-mapper reviews and corrects these; it never accepts them unchecked, and every column not covered here still flows through the mapper and the user unchanged.",
63
+ "column": "Variant SKU",
64
+ "wixTarget": "variant.sku",
65
+ "matchedAlias": "Variant SKU"
66
+ }
67
+ ],
68
+
69
+ "quirks": [
70
+ "A row with a blank Handle continues the previous product.",
71
+ "The product CSV does NOT carry collection membership — Shopify collections need the Admin API or an app."
72
+ ],
73
+
74
+ "joins": [
75
+ {
76
+ "$comment": "v1.1. The schema is designed now; automatic detection lands with a real normalized bundle. v1 emits an empty array plus joinsDeferred=true.",
77
+ "from": "product.category_id",
78
+ "to": "category.id",
79
+ "confidence": 0.98,
80
+ "evidence": "value-overlap 4901/5000 sampled"
81
+ }
82
+ ],
83
+ "integrity": {
84
+ "$comment": "v1.1.",
85
+ "orphanRefs": [{ "join": "product.category_id", "missing": 12 }]
86
+ }
87
+ },
88
+
89
+ "entities": {
90
+ "product": {
91
+ "rawFile": "product--product.md",
92
+ "$comment": "origin.kind is the CSV addition to the agnostic core: an entity comes from one row, one row group, or the distinct values of a column. The reader needs it to know how to materialize the entity.",
93
+ "origin": {
94
+ "kind": "row-group",
95
+ "file": "products_export.csv",
96
+ "groupKey": "Handle",
97
+ "continuation": "blank-key"
98
+ },
99
+ "recordCount": 812,
100
+ "inUse": true,
101
+ "primaryKey": "Handle",
102
+
103
+ "fields": {
104
+ "Handle": { "type": "string", "required": true, "identifier": true, "example": "classic-tee" },
105
+ "Title": { "type": "string", "required": true, "example": "Classic Tee" },
106
+ "Body (HTML)": { "type": "string", "required": false, "richText": true },
107
+ "Vendor": { "type": "string", "required": false, "example": "Acme" }
108
+ },
109
+
110
+ "relations": [
111
+ { "field": "variants", "targetEntity": "variant", "cardinality": "one-to-many", "evidence": "layout.groupKey=Handle" },
112
+ { "field": "images", "targetEntity": "image", "cardinality": "one-to-many", "evidence": "layout.columnGroups[image]" },
113
+ { "field": "categories", "targetEntity": "category", "cardinality": "many-to-many", "evidence": "column:Product Category" },
114
+ { "field": "tags", "targetEntity": "tag", "cardinality": "many-to-many", "evidence": "column:Tags" }
115
+ ]
116
+ },
117
+
118
+ "variant": {
119
+ "rawFile": "product--variant.md",
120
+ "origin": {
121
+ "kind": "row-group",
122
+ "file": "products_export.csv",
123
+ "groupKey": "Handle",
124
+ "columnGroup": "variant",
125
+ "$comment": "Every row in the group carries a variant, INCLUDING the group head — a Shopify product's first variant lives on its head row."
126
+ },
127
+ "recordCount": 2310,
128
+ "inUse": true,
129
+ "fields": {
130
+ "Variant SKU": { "type": "string", "required": false, "identifier": true },
131
+ "Variant Price": { "type": "number", "required": true },
132
+ "Option1 Value": { "type": "string", "required": false }
133
+ }
134
+ },
135
+
136
+ "image": {
137
+ "rawFile": "product--image.md",
138
+ "origin": {
139
+ "kind": "row-group",
140
+ "file": "products_export.csv",
141
+ "groupKey": "Handle",
142
+ "columnGroup": "image",
143
+ "distinctBy": "Image Src",
144
+ "$comment": "A third collection inside the same row group. Only the vendor overlay's columnGroups can separate it from the variant columns — both vary within a product."
145
+ },
146
+ "recordCount": 1904,
147
+ "inUse": true
148
+ },
149
+
150
+ "category": {
151
+ "rawFile": "product--category.md",
152
+ "origin": {
153
+ "kind": "column-values",
154
+ "file": "products_export.csv",
155
+ "column": "Product Category",
156
+ "hierarchySeparator": ">",
157
+ "multiValueSeparator": null,
158
+ "linkPolicy": "leaf"
159
+ },
160
+ "$comment": "hierarchical=true MUST be set when the derived paths are nested. A hierarchical source taxonomy mapped to a flat Wix target triggers the mapper's mandatory faithfulness-ledger entry; without the flag the flatten happens silently. The reader emits one record per distinct path INCLUDING ancestors, depth-ascending, so the import creates a parent before its child.",
161
+ "hierarchical": true,
162
+ "recordCount": 46,
163
+ "inUse": true,
164
+ "fields": {
165
+ "id": { "type": "string", "required": true, "identifier": true, "example": "apparel-accessories/clothing/shirts" },
166
+ "name": { "type": "string", "required": true, "example": "Shirts" },
167
+ "path": { "type": "string", "required": true, "example": "Apparel & Accessories > Clothing > Shirts" },
168
+ "parentId": { "type": "string", "required": false, "example": "apparel-accessories/clothing" }
169
+ },
170
+ "relations": [
171
+ { "field": "parentId", "targetEntity": "category", "cardinality": "many-to-one", "evidence": "hierarchySeparator=> (self-reference)" }
172
+ ]
173
+ },
174
+
175
+ "tag": {
176
+ "rawFile": "product--tag.md",
177
+ "origin": {
178
+ "kind": "column-values",
179
+ "file": "products_export.csv",
180
+ "column": "Tags",
181
+ "multiValueSeparator": ",",
182
+ "linkPolicy": "leaf"
183
+ },
184
+ "recordCount": 128,
185
+ "inUse": true,
186
+ "$comment": "Wix Stores product tags are a native target that must be created before products and referenced by id — same create-then-link shape as categories."
187
+ }
188
+ },
189
+
190
+ "assumptions": [
191
+ "Record counts are exact when the file was scanned in full; when data/csv-discovery/raw-capture.json reports scan.truncated, they reflect the scanned prefix."
192
+ ],
193
+ "unknowns": [
194
+ "Metafield: custom.fit is present in the file but not covered by the shopify profile's columnMap."
195
+ ]
196
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "vendor": "bigcommerce",
3
+ "profileVersion": "2026-07",
4
+ "sourceOfTruth": "https://support.bigcommerce.com/s/article/Importing-Exporting-Products",
5
+ "anchors": {
6
+ "required": ["Item Type", "Product Name"],
7
+ "strong": ["Product Code/SKU", "Product Description", "Product Visible?", "Track Inventory", "Category"],
8
+ "negative": ["Handle", "attribute_set_code", "Attribute 1 value(s)"]
9
+ },
10
+ "layout": {
11
+ "pattern": "sectioned",
12
+ "discriminatorColumn": "Item Type",
13
+ "childLevels": ["SKU"],
14
+ "parentRefColumn": null,
15
+ "parentEntity": "product",
16
+ "childEntity": "variant",
17
+ "columnGroups": [
18
+ {
19
+ "entity": "image",
20
+ "prefixes": ["Product Image "],
21
+ "columns": []
22
+ }
23
+ ]
24
+ },
25
+ "derived": [
26
+ {
27
+ "entity": "category",
28
+ "fromColumn": "Category",
29
+ "hierarchySeparator": "/",
30
+ "multiValueSeparator": ";",
31
+ "hierarchical": true,
32
+ "linkPolicy": "leaf",
33
+ "relation": { "fromEntity": "product", "field": "categories", "cardinality": "many-to-many" }
34
+ }
35
+ ],
36
+ "fileRoles": [
37
+ { "role": "product", "filenameHints": ["products", "product_export"] },
38
+ { "role": "customer", "filenameHints": ["customers"] },
39
+ { "role": "order", "filenameHints": ["orders"] }
40
+ ],
41
+ "columnMap": [
42
+ { "wixTarget": "product.name", "aliases": ["Product Name"] },
43
+ { "wixTarget": "product.description", "aliases": ["Product Description"] },
44
+ { "wixTarget": "product.brand", "aliases": ["Brand Name"] },
45
+ { "wixTarget": "product.sourceId", "aliases": ["Product ID"] },
46
+ { "wixTarget": "product.visible", "aliases": ["Product Visible?"] },
47
+ { "wixTarget": "product.seoTitle", "aliases": ["Page Title"] },
48
+ { "wixTarget": "variant.sku", "aliases": ["Product Code/SKU"] },
49
+ { "wixTarget": "variant.price", "aliases": ["Price"] },
50
+ { "wixTarget": "variant.cost", "aliases": ["Cost Price"] },
51
+ { "wixTarget": "variant.discountedPrice", "aliases": ["Sale Price"] },
52
+ { "wixTarget": "variant.weight", "aliases": ["Product Weight"] },
53
+ { "wixTarget": "variant.width", "aliases": ["Product Width"] },
54
+ { "wixTarget": "variant.height", "aliases": ["Product Height"] },
55
+ { "wixTarget": "variant.inventoryQuantity", "aliases": ["Current Stock Level"] },
56
+ { "wixTarget": "image.url", "aliases": ["Product Image File - 1", "Product Image File"] },
57
+ { "wixTarget": "image.altText", "aliases": ["Product Image Description - 1"] },
58
+ { "wixTarget": "category.path", "aliases": ["Category"] }
59
+ ],
60
+ "quirks": [
61
+ "Item Type is the row discriminator: 'Product' rows are products and 'SKU' rows are their variants; a SKU row belongs to the most recent Product row above it, since there is no parent-reference column.",
62
+ "Category packs multiple '/'-separated paths separated by ';'.",
63
+ "Image columns are numbered per image ('Product Image File - 1', '- 2', …), so the image set is a column family on a single row rather than extra rows.",
64
+ "'Product Visible?' and 'Allow Purchases?' are Y/N strings rather than TRUE/FALSE."
65
+ ]
66
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "vendor": "magento",
3
+ "profileVersion": "2026-07",
4
+ "sourceOfTruth": "https://experienceleague.adobe.com/docs/commerce-admin/systems/data-transfer/import/product-import.html",
5
+ "anchors": {
6
+ "required": ["sku", "product_type"],
7
+ "strong": ["attribute_set_code", "categories", "product_websites", "url_key", "base_image"],
8
+ "negative": ["Handle", "Item Type", "Attribute 1 value(s)"]
9
+ },
10
+ "layout": {
11
+ "pattern": "flat",
12
+ "parentEntity": "product",
13
+ "columnGroups": [
14
+ {
15
+ "entity": "image",
16
+ "prefixes": [],
17
+ "columns": ["base_image", "small_image", "thumbnail_image", "additional_images"]
18
+ }
19
+ ]
20
+ },
21
+ "derived": [
22
+ {
23
+ "entity": "category",
24
+ "fromColumn": "categories",
25
+ "hierarchySeparator": "/",
26
+ "multiValueSeparator": ",",
27
+ "hierarchical": true,
28
+ "linkPolicy": "leaf",
29
+ "relation": { "fromEntity": "product", "field": "categories", "cardinality": "many-to-many" }
30
+ }
31
+ ],
32
+ "fileRoles": [
33
+ { "role": "product", "filenameHints": ["catalog_product", "products"] },
34
+ { "role": "customer", "filenameHints": ["customer", "customers"] }
35
+ ],
36
+ "columnMap": [
37
+ { "wixTarget": "product.name", "aliases": ["name"] },
38
+ { "wixTarget": "product.description", "aliases": ["description"] },
39
+ { "wixTarget": "product.shortDescription", "aliases": ["short_description"] },
40
+ { "wixTarget": "product.slug", "aliases": ["url_key"] },
41
+ { "wixTarget": "product.visible", "aliases": ["product_online", "visibility"] },
42
+ { "wixTarget": "product.seoTitle", "aliases": ["meta_title"] },
43
+ { "wixTarget": "product.seoDescription", "aliases": ["meta_description"] },
44
+ { "wixTarget": "variant.sku", "aliases": ["sku"] },
45
+ { "wixTarget": "variant.price", "aliases": ["price"] },
46
+ { "wixTarget": "variant.discountedPrice", "aliases": ["special_price"] },
47
+ { "wixTarget": "variant.weight", "aliases": ["weight"] },
48
+ { "wixTarget": "variant.inventoryQuantity", "aliases": ["qty"] },
49
+ { "wixTarget": "image.url", "aliases": ["base_image", "additional_images"] },
50
+ { "wixTarget": "image.altText", "aliases": ["base_image_label"] },
51
+ { "wixTarget": "category.path", "aliases": ["categories"] }
52
+ ],
53
+ "quirks": [
54
+ "The export is flat — one row per SKU. Configurable products and their simple children are separate rows tied together by the configurable_variations column, not by row grouping.",
55
+ "configurable_variations packs the parent→variant links as 'sku=X,size=M|sku=Y,size=L'. v1 records this column rather than parsing it; the mapper decides how variants are reconstructed.",
56
+ "additional_attributes packs arbitrary key=value pairs into one cell.",
57
+ "categories paths are '/'-separated and usually start with the store root ('Default Category/...'), which normally should not become a Wix category.",
58
+ "Exports are commonly quote-all, so an empty cell is a quoted empty string rather than an absent value — the detected emptyPolicy handles this."
59
+ ]
60
+ }
@@ -0,0 +1,95 @@
1
+ {
2
+ "vendor": "shopify",
3
+ "profileVersion": "2026-07",
4
+ "sourceOfTruth": "https://help.shopify.com/en/manual/products/import-export/using-csv",
5
+ "anchors": {
6
+ "required": ["Handle", "Title"],
7
+ "strong": ["Body (HTML)", "Variant SKU", "Variant Price", "Option1 Name", "Vendor"],
8
+ "negative": ["Attribute 1 value(s)", "attribute_set_code", "Item Type"]
9
+ },
10
+ "layout": {
11
+ "pattern": "grouped-by-key",
12
+ "groupKey": "Handle",
13
+ "continuation": "blank-key",
14
+ "parentEntity": "product",
15
+ "childEntity": "variant",
16
+ "columnGroups": [
17
+ {
18
+ "entity": "variant",
19
+ "prefixes": ["Variant ", "Option1 ", "Option2 ", "Option3 "],
20
+ "columns": ["Cost per item"]
21
+ },
22
+ {
23
+ "entity": "image",
24
+ "prefixes": ["Image "],
25
+ "columns": []
26
+ }
27
+ ]
28
+ },
29
+ "derived": [
30
+ {
31
+ "entity": "category",
32
+ "fromColumn": "Product Category",
33
+ "hierarchySeparator": ">",
34
+ "hierarchical": true,
35
+ "linkPolicy": "leaf",
36
+ "relation": { "fromEntity": "product", "field": "categories", "cardinality": "many-to-many" }
37
+ },
38
+ {
39
+ "entity": "tag",
40
+ "fromColumn": "Tags",
41
+ "multiValueSeparator": ",",
42
+ "hierarchical": false,
43
+ "linkPolicy": "leaf",
44
+ "relation": { "fromEntity": "product", "field": "tags", "cardinality": "many-to-many" }
45
+ }
46
+ ],
47
+ "fileRoles": [
48
+ { "role": "product", "filenameHints": ["products_export", "products"] },
49
+ { "role": "customer", "filenameHints": ["customers_export", "customers"] },
50
+ { "role": "order", "filenameHints": ["orders_export", "orders"] }
51
+ ],
52
+ "columnMap": [
53
+ { "wixTarget": "product.name", "aliases": ["Title", "product_title"] },
54
+ { "wixTarget": "product.description", "aliases": ["Body (HTML)", "body_html", "Description"] },
55
+ { "wixTarget": "product.slug", "aliases": ["Handle"] },
56
+ { "wixTarget": "product.brand", "aliases": ["Vendor"] },
57
+ { "wixTarget": "product.visible", "aliases": ["Published", "Status"] },
58
+ { "wixTarget": "product.productType", "aliases": ["Type", "Product Type"] },
59
+ { "wixTarget": "product.seoTitle", "aliases": ["SEO Title"] },
60
+ { "wixTarget": "product.seoDescription", "aliases": ["SEO Description"] },
61
+ { "wixTarget": "variant.sku", "aliases": ["Variant SKU", "variant_sku"] },
62
+ { "wixTarget": "variant.price", "aliases": ["Variant Price", "variant_price"] },
63
+ { "wixTarget": "variant.compareAtPrice", "aliases": ["Variant Compare At Price"] },
64
+ { "wixTarget": "variant.cost", "aliases": ["Cost per item"] },
65
+ { "wixTarget": "variant.barcode", "aliases": ["Variant Barcode"] },
66
+ { "wixTarget": "variant.weight", "aliases": ["Variant Grams", "Variant Weight"] },
67
+ { "wixTarget": "variant.weightUnit", "aliases": ["Variant Weight Unit"] },
68
+ { "wixTarget": "variant.inventoryQuantity", "aliases": ["Variant Inventory Qty"] },
69
+ { "wixTarget": "variant.inventoryPolicy", "aliases": ["Variant Inventory Policy"] },
70
+ { "wixTarget": "variant.requiresShipping", "aliases": ["Variant Requires Shipping"] },
71
+ { "wixTarget": "variant.taxable", "aliases": ["Variant Taxable"] },
72
+ { "wixTarget": "variant.option1.name", "aliases": ["Option1 Name"] },
73
+ { "wixTarget": "variant.option1.value", "aliases": ["Option1 Value"] },
74
+ { "wixTarget": "variant.option2.name", "aliases": ["Option2 Name"] },
75
+ { "wixTarget": "variant.option2.value", "aliases": ["Option2 Value"] },
76
+ { "wixTarget": "variant.option3.name", "aliases": ["Option3 Name"] },
77
+ { "wixTarget": "variant.option3.value", "aliases": ["Option3 Value"] },
78
+ { "wixTarget": "variant.image", "aliases": ["Variant Image"] },
79
+ { "wixTarget": "image.url", "aliases": ["Image Src"] },
80
+ { "wixTarget": "image.altText", "aliases": ["Image Alt Text"] },
81
+ { "wixTarget": "image.position", "aliases": ["Image Position"] },
82
+ { "wixTarget": "category.path", "aliases": ["Product Category"] },
83
+ { "wixTarget": "tag.name", "aliases": ["Tags"] }
84
+ ],
85
+ "quirks": [
86
+ "A continuation row carries an additional variant, an additional image, or both, and is never its own product. Exports differ in how they mark one: most blank the Handle, but some repeat it on every row of the product. The pinned continuation mode is verified against the sampled rows and corrected when the file disagrees, so do not assume either shape.",
87
+ "A continuation row that carries only an extra image leaves every Variant column blank, so a product has fewer variants than rows.",
88
+ "The first row of a product already carries its first variant, so variant columns are populated on the group head — a variant column cannot be identified by 'blank on the head row'.",
89
+ "The product CSV does NOT carry collection membership. Shopify collections require the Admin API or an app; surface this at discovery so the user is not surprised at mapping time.",
90
+ "Prices (Variant Price, Variant Compare At Price, Cost per item) are plain decimal strings with no currency symbol; the currency is a store setting the CSV does not carry.",
91
+ "Variant Grams is an integer weight in grams regardless of Variant Weight Unit.",
92
+ "Tags is one cell holding a comma-separated list.",
93
+ "Published is TRUE/FALSE while Status is active/draft/archived; they are different columns and both may be present."
94
+ ]
95
+ }
@@ -0,0 +1,82 @@
1
+ {
2
+ "vendor": "woocommerce",
3
+ "profileVersion": "2026-07",
4
+ "sourceOfTruth": "https://woocommerce.com/document/product-csv-importer-exporter/",
5
+ "anchors": {
6
+ "required": ["Type", "Name", "SKU"],
7
+ "strong": ["Regular price", "Is featured?", "Visibility in catalog", "In stock?", "Short description", "Attribute 1 name"],
8
+ "negative": ["Handle", "attribute_set_code", "Item Type"]
9
+ },
10
+ "layout": {
11
+ "pattern": "sectioned",
12
+ "discriminatorColumn": "Type",
13
+ "childLevels": ["variation"],
14
+ "parentRefColumn": "Parent",
15
+ "parentEntity": "product",
16
+ "childEntity": "variant",
17
+ "columnGroups": [
18
+ {
19
+ "entity": "image",
20
+ "prefixes": [],
21
+ "columns": ["Images"]
22
+ }
23
+ ]
24
+ },
25
+ "derived": [
26
+ {
27
+ "entity": "category",
28
+ "fromColumn": "Categories",
29
+ "hierarchySeparator": ">",
30
+ "multiValueSeparator": ",",
31
+ "hierarchical": true,
32
+ "linkPolicy": "leaf",
33
+ "relation": { "fromEntity": "product", "field": "categories", "cardinality": "many-to-many" }
34
+ },
35
+ {
36
+ "entity": "tag",
37
+ "fromColumn": "Tags",
38
+ "multiValueSeparator": ",",
39
+ "hierarchical": false,
40
+ "linkPolicy": "leaf",
41
+ "relation": { "fromEntity": "product", "field": "tags", "cardinality": "many-to-many" }
42
+ }
43
+ ],
44
+ "fileRoles": [
45
+ { "role": "product", "filenameHints": ["wc-product-export", "products"] },
46
+ { "role": "order", "filenameHints": ["wc-order-export", "orders"] },
47
+ { "role": "customer", "filenameHints": ["customers"] }
48
+ ],
49
+ "columnMap": [
50
+ { "wixTarget": "product.name", "aliases": ["Name", "post_title"] },
51
+ { "wixTarget": "product.description", "aliases": ["Description", "post_content"] },
52
+ { "wixTarget": "product.shortDescription", "aliases": ["Short description", "post_excerpt"] },
53
+ { "wixTarget": "product.sourceId", "aliases": ["ID", "id", "post_id"] },
54
+ { "wixTarget": "product.visible", "aliases": ["Published", "Visibility in catalog"] },
55
+ { "wixTarget": "product.ribbon", "aliases": ["Is featured?"] },
56
+ { "wixTarget": "variant.sku", "aliases": ["SKU", "sku"] },
57
+ { "wixTarget": "variant.price", "aliases": ["Regular price", "regular_price"] },
58
+ { "wixTarget": "variant.discountedPrice", "aliases": ["Sale price", "sale_price"] },
59
+ { "wixTarget": "variant.inventoryQuantity", "aliases": ["Stock", "stock_quantity"] },
60
+ { "wixTarget": "variant.inStock", "aliases": ["In stock?"] },
61
+ { "wixTarget": "variant.weight", "aliases": ["Weight (kg)", "weight"] },
62
+ { "wixTarget": "variant.length", "aliases": ["Length (cm)"] },
63
+ { "wixTarget": "variant.width", "aliases": ["Width (cm)"] },
64
+ { "wixTarget": "variant.height", "aliases": ["Height (cm)"] },
65
+ { "wixTarget": "variant.option1.name", "aliases": ["Attribute 1 name"] },
66
+ { "wixTarget": "variant.option1.value", "aliases": ["Attribute 1 value(s)"] },
67
+ { "wixTarget": "variant.option2.name", "aliases": ["Attribute 2 name"] },
68
+ { "wixTarget": "variant.option2.value", "aliases": ["Attribute 2 value(s)"] },
69
+ { "wixTarget": "variant.parentRef", "aliases": ["Parent", "parent_id"] },
70
+ { "wixTarget": "image.url", "aliases": ["Images"] },
71
+ { "wixTarget": "category.path", "aliases": ["Categories"] },
72
+ { "wixTarget": "tag.name", "aliases": ["Tags"] }
73
+ ],
74
+ "quirks": [
75
+ "Type is the row discriminator: simple/variable/grouped/external rows are products, variation rows are variants of the product named in Parent.",
76
+ "Parent on a variation row references the parent by id (id:123) or by SKU, not by row position — resolve it explicitly rather than assuming the variation follows its parent.",
77
+ "Categories packs hierarchy and multiplicity into one cell: 'Clothing > Shirts, Sale' is two categories, one of them nested. Split the multi-value separator first, then the hierarchy separator.",
78
+ "A category name containing a comma is quoted inside the cell, so the multi-value split must itself be RFC-4180 aware.",
79
+ "Images is a comma-separated list of URLs in one cell; the first is the featured image.",
80
+ "Attribute N value(s) may hold several pipe-separated values on a variable product row while a variation row holds exactly one."
81
+ ]
82
+ }