@wix/agent-skills 1.14.0 → 1.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -1
- package/package.json +1 -1
- package/skills/README.md +23 -0
- package/skills/wix-app/SKILL.md +10 -2
- package/skills/wix-app/references/AUTO_PATTERNS_DASHBOARD.md +326 -0
- package/skills/wix-app/references/CODE_QUALITY.md +1 -0
- package/skills/wix-app/references/CUSTOM_ELEMENT_WIDGET.md +124 -115
- package/skills/wix-app/references/DASHBOARD_PAGE.md +3 -0
- package/skills/wix-app/references/DATA_COLLECTION.md +5 -3
- package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +25 -9
- package/skills/wix-app/references/SITE_PLUGIN.md +1 -1
- package/skills/wix-app/references/STORES_VERSIONING.md +9 -211
- package/skills/wix-app/references/auto-patterns-dashboard/action-cell.md +115 -0
- package/skills/wix-app/references/auto-patterns-dashboard/app-config-structure.md +264 -0
- package/skills/wix-app/references/auto-patterns-dashboard/app-context.md +37 -0
- package/skills/wix-app/references/auto-patterns-dashboard/bulk-actions.md +86 -0
- package/skills/wix-app/references/auto-patterns-dashboard/collection-page-actions.md +119 -0
- package/skills/wix-app/references/auto-patterns-dashboard/collection-page.md +103 -0
- package/skills/wix-app/references/auto-patterns-dashboard/custom-actions-override.md +76 -0
- package/skills/wix-app/references/auto-patterns-dashboard/custom-columns-override.md +82 -0
- package/skills/wix-app/references/auto-patterns-dashboard/custom-components-override.md +89 -0
- package/skills/wix-app/references/auto-patterns-dashboard/custom-header-override.md +124 -0
- package/skills/wix-app/references/auto-patterns-dashboard/custom-sections-override.md +91 -0
- package/skills/wix-app/references/auto-patterns-dashboard/custom-slots-override.md +71 -0
- package/skills/wix-app/references/auto-patterns-dashboard/entity-page-actions.md +70 -0
- package/skills/wix-app/references/auto-patterns-dashboard/entity-page-view-actions.md +73 -0
- package/skills/wix-app/references/auto-patterns-dashboard/entity-page.md +98 -0
- package/skills/wix-app/references/auto-patterns-dashboard/example-patterns.json +278 -0
- package/skills/wix-app/references/auto-patterns-dashboard/pages-configuration.md +94 -0
- package/skills/wix-app/references/auto-patterns-dashboard/resolved-action.md +43 -0
- package/skills/wix-app/references/auto-patterns-dashboard/sdk-utilities.md +66 -0
- package/skills/wix-app/references/auto-patterns-dashboard/views.md +76 -0
- package/skills/wix-app/references/backend-event/COMMON-EVENTS.md +5 -0
- package/skills/wix-app/references/editor-react-component/ACCESSIBILITY.md +1 -14
- package/skills/wix-app/references/editor-react-component/ANIMATED-COMPONENTS.md +151 -0
- package/skills/wix-app/references/editor-react-component/COMPONENT-API.md +54 -29
- package/skills/wix-app/references/editor-react-component/COMPONENT-CONFIGURATION.md +2 -2
- package/skills/wix-app/references/editor-react-component/COMPONENT-PREVIEW.md +57 -0
- package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +23 -105
- package/skills/wix-app/references/editor-react-component/DESIGN-STATES.md +127 -0
- package/skills/wix-app/references/editor-react-component/PARTS.md +2 -1
- package/skills/wix-app/references/editor-react-component/REACT-GUIDELINES.md +18 -16
- package/skills/wix-app/references/editor-react-component/REACT-PATTERNS.md +25 -53
- package/skills/wix-app/references/stores/CATEGORIES.md +22 -0
- package/skills/wix-app/references/stores/GET_PRODUCT.md +99 -0
- package/skills/wix-app/references/stores/INVENTORY.md +37 -0
- package/skills/wix-app/references/stores/QUERY.md +87 -0
- package/skills/wix-app/references/stores/WRITE.md +55 -0
- package/skills/wix-app/scripts/generate-auto-patterns.js +510 -0
- package/skills/wix-auth/SKILL.md +12 -0
- package/skills/wix-auth/references/device-flow.md +140 -0
- package/skills/wix-docs/SKILL.md +188 -0
- package/skills/wix-docs/references/API_SPEC_SEARCH.md +213 -0
- package/skills/wix-docs/references/EXTRACTING.md +120 -0
- package/skills/wix-headless/SKILL.md +89 -130
- package/skills/wix-headless/entry/bootstrap.mjs +93 -0
- package/skills/wix-headless/entry/skill.md +76 -0
- package/skills/wix-headless/references/AI_FEATURES.md +178 -0
- package/skills/wix-headless/references/CAPABILITIES.md +86 -0
- package/skills/wix-headless/references/DISCOVERY.md +34 -56
- package/skills/wix-headless/references/DOC_DISCOVERY.md +37 -0
- package/skills/wix-headless/references/FEEDBACK.md +129 -0
- package/skills/wix-headless/references/IMAGE_GENERATION.md +69 -0
- package/skills/wix-headless/references/SDK_HANDOFF.md +99 -0
- package/skills/wix-headless/references/SEED.md +45 -187
- package/skills/wix-headless/references/SETUP.md +32 -103
- package/skills/wix-headless/references/astro.md +98 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-a-blog.md +196 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-a-store.md +236 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-bookings.md +279 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-cms.md +163 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-events.md +203 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-forms.md +222 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-members-astro.md +124 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-members-custom-login.md +160 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-members-non-astro.md +118 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-portfolio.md +132 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-pricing-plans.md +124 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-restaurant-orders.md +188 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-restaurant-reservations.md +213 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-restaurants.md +161 -0
- package/skills/wix-headless/references/inline-recipes/setup-blog.md +175 -0
- package/skills/wix-headless/references/inline-recipes/setup-bookings.md +232 -0
- package/skills/wix-headless/references/inline-recipes/setup-cms.md +200 -0
- package/skills/wix-headless/references/inline-recipes/setup-events.md +196 -0
- package/skills/wix-headless/references/inline-recipes/setup-forms.md +174 -0
- package/skills/wix-headless/references/inline-recipes/setup-online-store.md +192 -0
- package/skills/wix-headless/references/inline-recipes/setup-portfolio.md +155 -0
- package/skills/wix-headless/references/inline-recipes/setup-pricing-plans.md +229 -0
- package/skills/wix-headless/references/inline-recipes/setup-restaurant-experiences.md +73 -0
- package/skills/wix-headless/references/inline-recipes/setup-restaurant-orders.md +197 -0
- package/skills/wix-headless/references/inline-recipes/setup-restaurant-reservations.md +136 -0
- package/skills/wix-headless/references/inline-recipes/setup-restaurants.md +152 -0
- package/skills/wix-headless/references/managed/AUTHENTICATION.md +57 -0
- package/skills/wix-headless/references/managed/CONNECT.md +74 -0
- package/skills/wix-headless/references/managed/CREATE.md +130 -0
- package/skills/wix-headless/references/managed/DEPLOYMENT.md +79 -0
- package/skills/wix-headless/references/non-astro.md +59 -0
- package/skills/wix-headless/references/self-managed/AUTHENTICATION.md +22 -0
- package/skills/wix-headless/references/self-managed/DEPLOYMENT.md +15 -0
- package/skills/wix-headless/references/stripe/AUTHENTICATION.md +55 -0
- package/skills/wix-headless/references/stripe/DEPLOYMENT.md +71 -0
- package/skills/wix-manage/SKILL.md +29 -3
- package/skills/wix-manage/references/analytics/query-site-analytics.md +298 -0
- package/skills/wix-manage/references/app-installation/install-wix-apps.md +3 -0
- package/skills/wix-manage/references/bookings/create-and-update-booking-services.md +1 -1
- package/skills/wix-manage/references/bookings/create-booking-service-from-prompt.md +6 -5
- package/skills/wix-manage/references/bookings/create-course-service.md +30 -5
- package/skills/wix-manage/references/bookings/diagnose-availability-issues.md +299 -0
- package/skills/wix-manage/references/cms/cms-schema-management.md +6 -0
- package/skills/wix-manage/references/get-paid/how-to-setup-wix-payments.md +30 -7
- package/skills/wix-manage/references/marketing/create-and-publish-social-post.md +517 -0
- package/skills/wix-manage/references/marketing/generate-and-publish-marketing-plan.md +218 -0
- package/skills/wix-manage/references/rich-content/author-ricos-rich-content.md +249 -0
- package/skills/wix-manage/references/sites/site-import.md +270 -0
- package/skills/wix-manage/references/stores/create-product-from-image.md +8 -6
- package/skills/wix-manage/references/stores/create-product-with-options-catalog-v3.md +57 -0
- package/skills/wix-vibe-headless/SKILL.md +142 -0
- package/skills/wix-vibe-headless/platforms/README.md +22 -0
- package/skills/wix-vibe-headless/platforms/base44.md +142 -0
- package/skills/wix-vibe-headless/platforms/generic.md +87 -0
- package/skills/wix-vibe-headless/references/blog/INSTRUCTIONS.md +128 -0
- package/skills/wix-vibe-headless/references/blog/wix-blog.js +217 -0
- package/skills/wix-vibe-headless/references/bookings/INSTRUCTIONS.md +157 -0
- package/skills/wix-vibe-headless/references/bookings/wix-bookings-checkout.js +147 -0
- package/skills/wix-vibe-headless/references/bookings/wix-bookings-services.js +217 -0
- package/skills/wix-vibe-headless/references/cms/INSTRUCTIONS.md +154 -0
- package/skills/wix-vibe-headless/references/cms/wix-cms.js +186 -0
- package/skills/wix-vibe-headless/references/events/INSTRUCTIONS.md +142 -0
- package/skills/wix-vibe-headless/references/events/wix-events-browse.js +136 -0
- package/skills/wix-vibe-headless/references/events/wix-events-registration.js +187 -0
- package/skills/wix-vibe-headless/references/members/INSTRUCTIONS.md +211 -0
- package/skills/wix-vibe-headless/references/members/wix-members-auth.js +387 -0
- package/skills/wix-vibe-headless/references/portfolio/INSTRUCTIONS.md +111 -0
- package/skills/wix-vibe-headless/references/portfolio/wix-portfolio.js +223 -0
- package/skills/wix-vibe-headless/references/pricing-plans/INSTRUCTIONS.md +127 -0
- package/skills/wix-vibe-headless/references/pricing-plans/wix-pricing-plans.js +157 -0
- package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +138 -0
- package/skills/wix-vibe-headless/references/restaurants/wix-restaurants-menu.js +224 -0
- package/skills/wix-vibe-headless/references/restaurants/wix-restaurants-ordering.js +156 -0
- package/skills/wix-vibe-headless/references/restaurants/wix-restaurants-reservations.js +107 -0
- package/skills/wix-vibe-headless/references/shared/wix-client.js +186 -0
- package/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md +164 -0
- package/skills/wix-vibe-headless/references/storefront/wix-store-cart.js +147 -0
- package/skills/wix-vibe-headless/references/storefront/wix-store-catalog.js +146 -0
- package/skills/wix-headless/references/BUILD-astro.md +0 -253
- package/skills/wix-headless/references/BUILD-own-build.md +0 -167
- package/skills/wix-headless/references/BUILD.md +0 -105
- package/skills/wix-headless/references/DESIGN_SYSTEM.md +0 -165
- package/skills/wix-headless/references/DISCOVERY-connect.md +0 -55
- package/skills/wix-headless/references/DISCOVERY-create.md +0 -238
- package/skills/wix-headless/references/PLAN-connect.md +0 -19
- package/skills/wix-headless/references/PLAN-create.md +0 -17
- package/skills/wix-headless/references/PLAN.md +0 -92
- package/skills/wix-headless/references/astro/blog/BLOG_PAGES.md +0 -300
- package/skills/wix-headless/references/astro/blog/BLOG_SETUP.md +0 -218
- package/skills/wix-headless/references/astro/bookings/COMPONENTS.md +0 -45
- package/skills/wix-headless/references/astro/bookings/SERVICES_PAGES.md +0 -77
- package/skills/wix-headless/references/astro/cms/CMS_FOUNDATIONS.md +0 -214
- package/skills/wix-headless/references/astro/cms/FAQ_KNOWLEDGE_BASE.md +0 -231
- package/skills/wix-headless/references/astro/cms/PORTFOLIO.md +0 -453
- package/skills/wix-headless/references/astro/cms/RESOURCE_LIBRARY.md +0 -354
- package/skills/wix-headless/references/astro/cms/TEAM_DIRECTORY.md +0 -299
- package/skills/wix-headless/references/astro/designer/INSTRUCTIONS.md +0 -351
- package/skills/wix-headless/references/astro/ecom/CART_PAGES.md +0 -119
- package/skills/wix-headless/references/astro/ecom/CART_WIRING.md +0 -103
- package/skills/wix-headless/references/astro/ecom/COMPONENTS_CSS.md +0 -132
- package/skills/wix-headless/references/astro/forms/CONTACT_FORM.md +0 -463
- package/skills/wix-headless/references/astro/gift-cards/COMPONENTS.md +0 -119
- package/skills/wix-headless/references/astro/gift-cards/PAGES.md +0 -129
- package/skills/wix-headless/references/astro/stores/BACK_IN_STOCK.md +0 -178
- package/skills/wix-headless/references/astro/stores/CATEGORY_PAGES.md +0 -85
- package/skills/wix-headless/references/astro/stores/COMPONENTS_CSS.md +0 -129
- package/skills/wix-headless/references/astro/stores/HOME_AND_NAV.md +0 -229
- package/skills/wix-headless/references/astro/stores/PRODUCT_PAGES.md +0 -215
- package/skills/wix-headless/references/astro/stores/SHARED_WIRING.md +0 -165
- package/skills/wix-headless/references/astro/templates/Layout.astro +0 -132
- package/skills/wix-headless/references/astro/templates/astro.config.mjs +0 -41
- package/skills/wix-headless/references/astro/templates/bookings/AvailabilityCalendar.tsx +0 -374
- package/skills/wix-headless/references/astro/templates/bookings/BookingForm.tsx +0 -136
- package/skills/wix-headless/references/astro/templates/bookings/SeoTags.astro +0 -25
- package/skills/wix-headless/references/astro/templates/bookings/ServiceBookingFlow.tsx +0 -71
- package/skills/wix-headless/references/astro/templates/bookings/ServiceCard.astro +0 -54
- package/skills/wix-headless/references/astro/templates/bookings/booking-confirmation.astro +0 -49
- package/skills/wix-headless/references/astro/templates/bookings/bookingDriver.ts +0 -245
- package/skills/wix-headless/references/astro/templates/bookings/components-bookings.css +0 -424
- package/skills/wix-headless/references/astro/templates/bookings/services/[slug].astro +0 -176
- package/skills/wix-headless/references/astro/templates/bookings/services/index.astro +0 -181
- package/skills/wix-headless/references/astro/templates/ecom/CartBadge.tsx +0 -84
- package/skills/wix-headless/references/astro/templates/ecom/CartView.tsx +0 -543
- package/skills/wix-headless/references/astro/templates/ecom/cart.astro +0 -13
- package/skills/wix-headless/references/astro/templates/ecom/components-ecom.css +0 -302
- package/skills/wix-headless/references/astro/templates/ecom/discounts.ts +0 -71
- package/skills/wix-headless/references/astro/templates/ecom/thank-you.astro +0 -24
- package/skills/wix-headless/references/astro/templates/gift-cards/GiftCardPurchase.tsx +0 -172
- package/skills/wix-headless/references/astro/templates/gift-cards/_home-teaser-snippet.astro +0 -42
- package/skills/wix-headless/references/astro/templates/gift-cards/_nav-snippet.astro +0 -11
- package/skills/wix-headless/references/astro/templates/gift-cards/components-gift-cards.css +0 -220
- package/skills/wix-headless/references/astro/templates/gift-cards/gift-cards.astro +0 -51
- package/skills/wix-headless/references/astro/templates/gift-cards/gift-cards.ts +0 -75
- package/skills/wix-headless/references/astro/templates/global.css +0 -288
- package/skills/wix-headless/references/astro/templates/stores/AddToCartButton.tsx +0 -77
- package/skills/wix-headless/references/astro/templates/stores/BackInStockForm.tsx +0 -176
- package/skills/wix-headless/references/astro/templates/stores/CategoryRail.astro +0 -69
- package/skills/wix-headless/references/astro/templates/stores/ProductCard.astro +0 -79
- package/skills/wix-headless/references/astro/templates/stores/ProductPurchase.tsx +0 -397
- package/skills/wix-headless/references/astro/templates/stores/SeoTags.astro +0 -21
- package/skills/wix-headless/references/astro/templates/stores/back-in-stock.ts +0 -67
- package/skills/wix-headless/references/astro/templates/stores/categories.ts +0 -155
- package/skills/wix-headless/references/astro/templates/stores/category/[slug].astro +0 -130
- package/skills/wix-headless/references/astro/templates/stores/components-stores.css +0 -400
- package/skills/wix-headless/references/astro/templates/stores/products/[slug].astro +0 -128
- package/skills/wix-headless/references/astro/templates/stores/products/index.astro +0 -101
- package/skills/wix-headless/references/blog/BLOG_CONTENT.md +0 -161
- package/skills/wix-headless/references/blog/INSTRUCTIONS.md +0 -32
- package/skills/wix-headless/references/bookings/FLOW.md +0 -246
- package/skills/wix-headless/references/bookings/INSTRUCTIONS.md +0 -95
- package/skills/wix-headless/references/bookings/SERVICES_DATA.md +0 -355
- package/skills/wix-headless/references/cms/CMS_FOUNDATIONS.md +0 -176
- package/skills/wix-headless/references/cms/INSTRUCTIONS.md +0 -71
- package/skills/wix-headless/references/commands/known-apps.json +0 -6
- package/skills/wix-headless/references/custom/CONNECTION_PLAN.md +0 -142
- package/skills/wix-headless/references/custom/INSTRUCTIONS.md +0 -88
- package/skills/wix-headless/references/custom/blog/WIRING.md +0 -52
- package/skills/wix-headless/references/custom/bookings/WIRING.md +0 -197
- package/skills/wix-headless/references/custom/cms/WIRING.md +0 -97
- package/skills/wix-headless/references/custom/ecom/WIRING.md +0 -67
- package/skills/wix-headless/references/custom/forms/WIRING.md +0 -101
- package/skills/wix-headless/references/custom/stores/WIRING.md +0 -80
- package/skills/wix-headless/references/ecom/INSTRUCTIONS.md +0 -59
- package/skills/wix-headless/references/forms/INSTRUCTIONS.md +0 -43
- package/skills/wix-headless/references/gift-cards/INSTRUCTIONS.md +0 -51
- package/skills/wix-headless/references/images/INSTRUCTIONS.md +0 -357
- package/skills/wix-headless/references/seed-recipes.md +0 -49
- package/skills/wix-headless/references/shared/AGENTS_MD.md +0 -47
- package/skills/wix-headless/references/shared/AUTHENTICATION.md +0 -108
- package/skills/wix-headless/references/shared/BUILD_NOISE.md +0 -8
- package/skills/wix-headless/references/shared/DESIGN_MD.md +0 -84
- package/skills/wix-headless/references/shared/DOCS_SEARCH.md +0 -41
- package/skills/wix-headless/references/shared/IMAGE_GENERATION.md +0 -186
- package/skills/wix-headless/references/shared/IMPLEMENTER.md +0 -206
- package/skills/wix-headless/references/shared/PRODUCTION_SHARP_EDGES.md +0 -97
- package/skills/wix-headless/references/shared/RETURN_CONTRACT.md +0 -143
- package/skills/wix-headless/references/shared/STYLING.md +0 -140
- package/skills/wix-headless/references/stores/INSTRUCTIONS.md +0 -126
- package/skills/wix-headless/references/stores/PRODUCT_CATALOG_DATA.md +0 -252
- package/skills/wix-headless/references/verticals/_schema.json +0 -74
- package/skills/wix-headless/references/verticals/_schema.md +0 -95
- package/skills/wix-headless/references/verticals/blog.md +0 -31
- package/skills/wix-headless/references/verticals/bookings.md +0 -41
- package/skills/wix-headless/references/verticals/cms.md +0 -30
- package/skills/wix-headless/references/verticals/ecom.md +0 -25
- package/skills/wix-headless/references/verticals/forms.md +0 -26
- package/skills/wix-headless/references/verticals/gift-cards.md +0 -24
- package/skills/wix-headless/references/verticals/stores.md +0 -33
- package/skills/wix-headless/scripts/check-manifest.mjs +0 -335
- package/skills/wix-headless/scripts/compose.mjs +0 -520
- package/skills/wix-headless/scripts/emit-design-tokens.mjs +0 -157
- package/skills/wix-headless/scripts/flatten.sh +0 -61
- package/skills/wix-headless/scripts/generate-images.mjs +0 -242
- package/skills/wix-headless/scripts/patch-decorative-slots.mjs +0 -154
- package/skills/wix-headless/scripts/plan-entity-image-waves.mjs +0 -190
- package/skills/wix-headless/scripts/scaffold.sh +0 -139
- package/skills/wix-headless/scripts/seed-utilities.sh +0 -93
- package/skills/wix-headless/scripts/write-decorative-json.mjs +0 -62
- package/skills/wix-headless/shared-utilities/analytics.ts +0 -40
- package/skills/wix-headless/shared-utilities/ricos.ts +0 -179
- package/skills/wix-headless/shared-utilities/wix-image.ts +0 -72
package/README.md
CHANGED
|
@@ -58,7 +58,10 @@ npx skills add wix/skills -g
|
|
|
58
58
|
| [wix-app](skills/wix-app/SKILL.md) | Build Wix app extensions | Adding any extension — dashboard pages, site widgets, backend events, service plugins, embedded scripts, data collections, and more |
|
|
59
59
|
| [wix-design-system](skills/wix-design-system/SKILL.md) | Wix Design System reference | Looking up WDS component props, examples, icons |
|
|
60
60
|
| [wix-manage](skills/wix-manage/SKILL.md) | Wix business solution management | REST API operations for configuring and managing Wix business solutions |
|
|
61
|
-
| [wix-headless](skills/wix-headless/SKILL.md) |
|
|
61
|
+
| [wix-headless](skills/wix-headless/SKILL.md) | Connect Wix business services to a headless frontend (SDK + Wix CLI), and optionally build & host the site | Setting up a Wix Headless backend or adding Wix business features (Stores, Bookings, CMS, Blog, Events, Forms, Members, Restaurants, Portfolio, Pricing Plans) — install apps, seed content, and produce an SDK-integration guide; for managed projects also scaffold a new site (create) or wire an existing design (connect), then build and release. Works across managed, self-managed, and stripe project types |
|
|
62
|
+
| [wix-vibe-headless](skills/wix-vibe-headless/SKILL.md) | Connect an existing front end to Wix over client-only REST | Wiring a vibe-coded / HTML / Vite app to a live Wix site (storefront, bookings, blog, events, portfolio, restaurants, CMS, pricing plans) from the browser with a public `WIX_CLIENT_ID` — no SDK, no backend |
|
|
63
|
+
| [wix-docs](skills/wix-docs/SKILL.md) | Look up the Wix API/SDK docs (shared fallback) | Confirming an exact Wix endpoint, method schema, field, or enum before writing code — `curl` doc-search + the `.md`-twin trick, or the Wix MCP tools. Referenced by the other skills as their docs-lookup fallback |
|
|
64
|
+
| [replatform](replatform/README.md) | Migrate sites from WordPress and other platforms into Wix | Migrating an exiting business from another platform into Wix. Both backend data and website. `npx skills add wix/skills/replatform` |
|
|
62
65
|
|
|
63
66
|
## Supported Agents
|
|
64
67
|
|
|
@@ -88,6 +91,14 @@ When a major bump is required (a breaking change in the underlying `wix-cli`), t
|
|
|
88
91
|
|
|
89
92
|
Run the [`release-bump`](.github/workflows/release-bump.yml) workflow from the **Actions** tab and pick a `version_strategy`. The rest is automatic — the bump PR auto-merges once checks pass and [`release.yml`](.github/workflows/release.yml) publishes to npm via Trusted Publishing.
|
|
90
93
|
|
|
94
|
+
## Serving & caching (`www.wix.com/skills`)
|
|
95
|
+
|
|
96
|
+
Besides the npm package, skills are served as raw markdown / `.tgz` at `https://www.wix.com/skills/<name>` (also `dev.wix.com/skills`). That registry is **not** in this repo — it's an Express service in [`wix-private/docs`](https://github.com/wix-private/docs) (`docs-web-app`) that serves this repo's `main` branch directly, with no build step.
|
|
97
|
+
|
|
98
|
+
Responses are cached at the Wix edge (Pepyaka, tag `skills`) plus a ~5-min per-pod tarball cache. A push to `main` touching `skills/**` **auto-invalidates** the edge tag (via `md-resolver`'s GitHub-push consumer), so a merge reflects within a few minutes. To force it immediately, hit the manual flush (`POST /api/v1/invalidate-ssr-cache/skills`, BO staff) or the Fire Console `invalidateCache` call.
|
|
99
|
+
|
|
100
|
+
Full details — endpoints, `wix-` prefix stripping, host-relative links, invalidation — are in the [docs-web-app skills README](https://github.com/wix-private/docs/blob/main/packages/docs-web-app/express/skills/README.md).
|
|
101
|
+
|
|
91
102
|
## Contributing
|
|
92
103
|
|
|
93
104
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on adding new skills.
|
package/package.json
CHANGED
package/skills/README.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Wix Skills Registry
|
|
2
|
+
|
|
3
|
+
The Wix Skills Registry provides self-contained context packages — instructions, schemas, and rules that let human developers and AI agents (Claude Code, Cursor, custom LLM workflows) build, manage, and extend projects across the Wix ecosystem.
|
|
4
|
+
|
|
5
|
+
> **System constraint:** all skills target the current Wix CLI framework. Do not generate legacy Corvid or Velo backend code.
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
- **`GET /skills/{name}`** — the skill's `SKILL.md` (top-level instructions + routing), without bundled references. Lightweight.
|
|
10
|
+
- **`GET /skills/{name}-full`** — every file in the skill flattened into one markdown doc (`SKILL.md` + all `references/*`, scripts, etc.). One-shot ingestion.
|
|
11
|
+
- **`GET /skills/{name}/{path}`** — a single raw file from the bundle (e.g. `references/X.md`).
|
|
12
|
+
- **`GET /skills/{name}.tgz`** — the whole skill as a tarball, for installing locally.
|
|
13
|
+
|
|
14
|
+
### Endpoints
|
|
15
|
+
|
|
16
|
+
| Endpoint | Returns | Best for |
|
|
17
|
+
|---|---|---|
|
|
18
|
+
| `GET /skills/{name}` | `SKILL.md` only | Routing, intent checks, on-demand reference reads |
|
|
19
|
+
| `GET /skills/{name}-full` | `SKILL.md` + all `references/*` and scripts, flattened | One-shot ingestion of the whole skill |
|
|
20
|
+
| `GET /skills/{name}/{path}` | Raw file at path | Targeted reads of a single reference, script, or schema |
|
|
21
|
+
| `GET /skills/{name}.tgz` | Compressed archive | Downloading the skill locally |
|
|
22
|
+
|
|
23
|
+
> The list of available skills below is generated live from the [`wix/skills`](https://github.com/wix/skills) repository.
|
package/skills/wix-app/SKILL.md
CHANGED
|
@@ -16,6 +16,8 @@ Helps build extensions for Wix CLI applications. Covers all extension types: das
|
|
|
16
16
|
|
|
17
17
|
- [ ] **Step 1:** Determined extension type(s) needed
|
|
18
18
|
- [ ] Asked clarifying questions if requirements were unclear
|
|
19
|
+
- [ ] **🛑 Auto-Patterns Gate (MANDATORY):** If the use case is a single-collection CRUD admin page (table/grid + entity form), you MUST use [AUTO_PATTERNS_DASHBOARD.md](references/AUTO_PATTERNS_DASHBOARD.md). Auto-patterns is the DEFAULT; custom Dashboard Pages are the opt-out. Only fall back to Dashboard Page if a disqualifier applies: multi-collection joins, custom business logic, embedded script configuration, external API integrations, or the user explicitly requested a custom React page.
|
|
20
|
+
- [ ] **🛑 Iteration Gate (MANDATORY):** Before editing ANY file under `src/extensions/dashboard/pages/<page>/`, check for a sibling `patterns.json`. If it exists, this is an auto-patterns page — you MUST follow [AUTO_PATTERNS_DASHBOARD.md](references/AUTO_PATTERNS_DASHBOARD.md) Part B and use the override topic-index (banners → `custom-slots-override.md`, header → `custom-header-override.md`, actions → `custom-actions-override.md`, columns → `custom-columns-override.md`, sections → `custom-sections-override.md`). Do NOT edit the page component (`<page-name>.tsx`) to add UI elements directly.
|
|
19
21
|
- [ ] Checked for implicit Data Collection need — unless user provided a collection ID directly (see [Data Collection Inference](#data-collection-inference))
|
|
20
22
|
- [ ] Obtained app namespace if Data Collection extension is being created
|
|
21
23
|
- [ ] Determined full scoped collection IDs if Data Collection extension is being created (see [Collection ID Coordination](#collection-id-coordination))
|
|
@@ -46,6 +48,8 @@ Helps build extensions for Wix CLI applications. Covers all extension types: das
|
|
|
46
48
|
| Using MCP discovery without checking refs | Check reference files first |
|
|
47
49
|
| Reporting done without validation | Always run validation at the end |
|
|
48
50
|
| Letting manual action items get buried | Aggregate all manual steps at the very end |
|
|
51
|
+
| Writing custom React for single-collection CRUD when auto-patterns applies | Default to [AUTO_PATTERNS_DASHBOARD.md](references/AUTO_PATTERNS_DASHBOARD.md) for CRUD admin pages |
|
|
52
|
+
| Editing the page component (`<page-name>.tsx`) to add UI (banners, headers, custom actions, slots, sections) when `patterns.json` exists | Use the matching `custom-*-override.md` from [AUTO_PATTERNS_DASHBOARD.md](references/AUTO_PATTERNS_DASHBOARD.md) Part B |
|
|
49
53
|
|
|
50
54
|
---
|
|
51
55
|
|
|
@@ -63,7 +67,10 @@ Helps build extensions for Wix CLI applications. Covers all extension types: das
|
|
|
63
67
|
- Server-side only → Backend Extensions
|
|
64
68
|
|
|
65
69
|
3. **Where will it appear?**
|
|
66
|
-
- Dashboard sidebar/page →
|
|
70
|
+
- Dashboard sidebar/page →
|
|
71
|
+
- **Single-collection CRUD admin (default, MANDATORY):** [Auto Patterns Dashboard](references/AUTO_PATTERNS_DASHBOARD.md) — declarative `patterns.json`, faster to author, iterate by editing JSON, no React rewrite.
|
|
72
|
+
- Custom logic / multi-collection / embedded scripts / external APIs: Dashboard Page
|
|
73
|
+
- Popup/form: Dashboard Modal
|
|
67
74
|
- Existing Wix app dashboard (widget) → Dashboard Plugin
|
|
68
75
|
- Existing Wix app dashboard (menu item) → Dashboard Menu Plugin
|
|
69
76
|
- Anywhere on site → custom element widget
|
|
@@ -74,7 +81,7 @@ Helps build extensions for Wix CLI applications. Covers all extension types: das
|
|
|
74
81
|
|
|
75
82
|
## Decision Flow (Not sure?)
|
|
76
83
|
|
|
77
|
-
- **Admin:**
|
|
84
|
+
- **Admin:** Single-collection CRUD admin page? → **Auto Patterns Dashboard (DEFAULT)**. Custom React page (multi-collection / custom logic / embedded scripts / external APIs / explicit user request)? → Dashboard Page. Need popup/form? → Dashboard Modal. Extending Wix app dashboard with a visual widget? → Dashboard Plugin. Adding a menu item to a Wix app dashboard's more-actions or bulk-actions menu? → Dashboard Menu Plugin. **Modal constraint:** Dashboard Pages cannot use `<Modal />`; use a separate Dashboard Modal extension and `dashboard.openModal()`.
|
|
78
85
|
- **Backend:** During business flow (checkout/shipping/tax)? → Service Plugin. After event (webhooks/sync)? → Backend Event Extension. Custom HTTP endpoints? → Backend API. Need CMS collections for app data? → Data Collection.
|
|
79
86
|
- **Site:** User places anywhere (standalone)? → custom element widget. Editor React component with editor manifest (styling, content, elements)? → Editor React component. Fixed slot on Wix app page? → Site Plugin. Scripts/analytics only? → Embedded Script.
|
|
80
87
|
|
|
@@ -121,6 +128,7 @@ Helps build extensions for Wix CLI applications. Covers all extension types: das
|
|
|
121
128
|
| App Identifiers (Namespace, Code ID) | [APP_IDENTIFIERS.md](references/APP_IDENTIFIERS.md) |
|
|
122
129
|
| Wix Stores Versioning (V1/V3) | [STORES_VERSIONING.md](references/STORES_VERSIONING.md) |
|
|
123
130
|
| Official Documentation Links | [DOCUMENTATION.md](references/DOCUMENTATION.md) |
|
|
131
|
+
| Auto-patterns Dashboard Pages | [AUTO_PATTERNS_DASHBOARD.md](references/AUTO_PATTERNS_DASHBOARD.md) |
|
|
124
132
|
|
|
125
133
|
---
|
|
126
134
|
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
# Auto Patterns Dashboard Page
|
|
2
|
+
|
|
3
|
+
Generates declarative `patterns.json` + a thin page component (`<page-name>.tsx`) for simple CRUD dashboard pages using `@wix/auto-patterns`. Supports both creating new pages and updating existing ones.
|
|
4
|
+
|
|
5
|
+
## Quick Start Checklist
|
|
6
|
+
|
|
7
|
+
- [ ] **Step 1:** Determine if this is a new page or update to existing
|
|
8
|
+
- [ ] **Step 2:** For new pages — scaffold via `wix generate`, generate schema, run generator script
|
|
9
|
+
- [ ] **Step 2 (alt):** For existing pages — read `patterns.json`, consult references, edit directly
|
|
10
|
+
- [ ] **Step 3:** Install dependencies (`@wix/auto-patterns`, `@wix/patterns`)
|
|
11
|
+
- [ ] **Step 4:** Verify per [APP_VALIDATION.md](APP_VALIDATION.md)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Required App Permissions
|
|
16
|
+
|
|
17
|
+
Auto-patterns calls `@wix/data` at runtime to CRUD the collection. The app must declare these scopes in the Wix Dev Center — they are NOT added automatically:
|
|
18
|
+
|
|
19
|
+
- `SCOPE.DC-DATA.READ` — for `get`, `query`, `count`, `distinct`
|
|
20
|
+
- `SCOPE.DC-DATA.WRITE` — for `insert`, `update`, `save`, `remove`, `bulk*`
|
|
21
|
+
|
|
22
|
+
Add them at: `https://manage.wix.com/apps/{app-id}/dev-center-permissions` (replace `{app-id}` with your app ID).
|
|
23
|
+
|
|
24
|
+
Without these scopes, the dashboard page renders but all data operations fail.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Core Rules
|
|
29
|
+
|
|
30
|
+
### Configuration Generation
|
|
31
|
+
|
|
32
|
+
1. **Analyze** schema requirements.
|
|
33
|
+
2. **Select** fields based on data types (max 3 initially).
|
|
34
|
+
3. **Validate** against the constraints below.
|
|
35
|
+
|
|
36
|
+
### Enum Handling
|
|
37
|
+
|
|
38
|
+
- **IF** `enumConfig` is required (implicit or explicit):
|
|
39
|
+
- **THEN** ASK user for possible option values.
|
|
40
|
+
- **THEN** Derive `label` from `value` (e.g., "dog" -> "Dog") unless specified.
|
|
41
|
+
- **NEVER** guess or invent enum values.
|
|
42
|
+
|
|
43
|
+
### Structural Limits
|
|
44
|
+
|
|
45
|
+
- **MUST** have exactly 2 pages in `pages` array (`collectionPage` + `entityPage`).
|
|
46
|
+
- **MUST** have exactly 1 component with `layout` array in `collectionPage`.
|
|
47
|
+
- **MUST** use TypeScript for configuration.
|
|
48
|
+
|
|
49
|
+
### Field Selection
|
|
50
|
+
|
|
51
|
+
- **MAX** 3 columns initially for `collectionPage`.
|
|
52
|
+
- **MUST** include `create` action in `collectionPage` navigating to `entityPage`.
|
|
53
|
+
- **NEVER** fill optional fields unless explicitly requested.
|
|
54
|
+
|
|
55
|
+
### Type Binding
|
|
56
|
+
|
|
57
|
+
- **IF** `type: 'collectionPage'` **THEN** only `collectionPage` field allowed.
|
|
58
|
+
- **IF** `type: 'entityPage'` **THEN** only `entityPage` field allowed.
|
|
59
|
+
- **NEVER** mix types in single page config.
|
|
60
|
+
|
|
61
|
+
### Validation
|
|
62
|
+
|
|
63
|
+
- **MUST** align with `AppConfig` structure.
|
|
64
|
+
- **MUST** remove unsupported configuration entries.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Part A: Creating a New Auto-Patterns Page
|
|
69
|
+
|
|
70
|
+
### Step 1: Scaffold the Dashboard Page
|
|
71
|
+
|
|
72
|
+
An auto-patterns page is a dashboard page — scaffold it with the Wix CLI:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
wix generate --params '{"extensionType":"DASHBOARD_PAGE","title":"<title>","route":"<route>"}'
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
The CLI generates the page folder, the component stub `<page-name>.tsx`, the builder file `<page-name>.extension.ts` (which registers the extension and points its `component` at `<page-name>.tsx`), a unique UUID, and the `src/extensions.ts` registration — do NOT hand-write any of these. The folder name comes from `route`. After scaffolding, the page folder looks like this:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
src/extensions/dashboard/pages/<page-name>/
|
|
82
|
+
├── <page-name>.extension.ts # Builder file (generated — registration + UUID, component → <page-name>.tsx)
|
|
83
|
+
├── <page-name>.tsx # CLI component stub (overwritten in Step 3)
|
|
84
|
+
└── patterns.json # Declarative AppConfig — added in Step 3, edit this to iterate
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
> **Why this matters for Step 3:** the generator writes the auto-patterns wrapper to `<page-name>.tsx` — the SAME file the builder already registers — so it overwrites the stub and is wired up automatically. Do NOT let it produce a separate `page.tsx`; that would leave the wrapper unregistered next to the empty stub, and the dashboard would render blank.
|
|
88
|
+
|
|
89
|
+
### Step 2: Generate the Schema
|
|
90
|
+
|
|
91
|
+
You must produce the input JSON for the generator script. Top-level keys: `collection`, `schema`, `relevantCollectionId`, `extensionName`.
|
|
92
|
+
|
|
93
|
+
**`collection`** (from the data collection you scaffolded):
|
|
94
|
+
|
|
95
|
+
- `idSuffix` — the collection's short ID
|
|
96
|
+
- `fields` — array of `{ key, displayName, type }` (types: TEXT, NUMBER, BOOLEAN, DATE, IMAGE, URL, RICH_TEXT, etc.)
|
|
97
|
+
|
|
98
|
+
**`relevantCollectionId`** (top-level, sibling to `collection` and `schema`) — full scoped collection ID (e.g., `@namespace/my-collection`)
|
|
99
|
+
|
|
100
|
+
**`schema.content`** — 20 string fields you generate:
|
|
101
|
+
|
|
102
|
+
- `collectionRouteId` — URL-friendly collection ID (kebab-case, e.g., "cool-gadgets")
|
|
103
|
+
- `singularEntityName` — URL-friendly singular form (e.g., "cool-gadget")
|
|
104
|
+
- `pageTitle` — Main page title (e.g., "Cool Gadgets Collection")
|
|
105
|
+
- `pageSubtitle` — Page description
|
|
106
|
+
- `actionButtonLabel` — Primary create button (e.g., "Add New Gadget")
|
|
107
|
+
- `toolbarTitle` — Table toolbar title
|
|
108
|
+
- `toolbarSubtitle` — Table toolbar subtitle
|
|
109
|
+
- `emptyStateTitle` — Title when no items exist
|
|
110
|
+
- `emptyStateSubtitle` — Empty state description
|
|
111
|
+
- `emptyStateButtonText` — Empty state CTA button text
|
|
112
|
+
- `deleteModalTitle` — Delete confirmation title
|
|
113
|
+
- `deleteModalDescription` — Delete confirmation description
|
|
114
|
+
- `deleteSuccessToast` — Delete success message
|
|
115
|
+
- `deleteErrorToast` — Delete error message
|
|
116
|
+
- `bulkDeleteModalTitle` — Bulk delete title
|
|
117
|
+
- `bulkDeleteModalDescription` — Bulk delete description
|
|
118
|
+
- `bulkDeleteSuccessToast` — Bulk delete success
|
|
119
|
+
- `bulkDeleteErrorToast` — Bulk delete error
|
|
120
|
+
- `entityPageTitle` — Entity detail page title
|
|
121
|
+
- `entityPageSubtitle` — Entity detail page subtitle
|
|
122
|
+
|
|
123
|
+
**`schema.layout`** — organize ALL collection fields into sections:
|
|
124
|
+
|
|
125
|
+
```json
|
|
126
|
+
{
|
|
127
|
+
"main": [
|
|
128
|
+
{
|
|
129
|
+
"title": "Basic Info",
|
|
130
|
+
"subtitle": "Core details",
|
|
131
|
+
"fields": ["field1", "field2"]
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
"sidebar": [
|
|
135
|
+
{ "title": "Status", "subtitle": "Metadata", "fields": ["isActive"] }
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Rules: Every field must appear exactly once. Main = user-facing content. Sidebar = metadata/status. If there are no sidebar-worthy fields, use `"sidebar": []`.
|
|
141
|
+
|
|
142
|
+
**`schema.columns`** — ordered list for the table view:
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
[{ "id": "fieldKey", "displayName": "Short Name" }]
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Include ALL fields, primary identifiers first. Display names target ≤10 characters.
|
|
149
|
+
|
|
150
|
+
**`schema.gridItem`** (only if IMAGE fields exist, otherwise `null`):
|
|
151
|
+
|
|
152
|
+
```json
|
|
153
|
+
{
|
|
154
|
+
"titleFieldId": "name",
|
|
155
|
+
"subtitleFieldId": "category",
|
|
156
|
+
"imageFieldId": "photo"
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
> **🛑 Nesting is required.** Content, layout, columns, and gridItem are **not** top-level keys and **not** flat siblings under `schema`. The generator rejects flat shapes like `"schema": { "collectionRouteId": "...", "main": [...] }`. Always nest as `"schema": { "content": {...}, "layout": {...}, "columns": [...], "gridItem": null }`.
|
|
161
|
+
|
|
162
|
+
### Step 3: Run the Generator Script
|
|
163
|
+
|
|
164
|
+
The generator script is bundled with this skill at `<SKILL_ROOT>/scripts/generate-auto-patterns.js` — it is **not** copied into the user's app repo. Run it from the project directory using the skill's absolute path (`<SKILL_ROOT>` is the folder containing this skill's `SKILL.md`).
|
|
165
|
+
|
|
166
|
+
Write the input JSON to a temp file and run the script, pointing `--output` at the folder the CLI scaffolded in Step 1:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Write input to temp file
|
|
170
|
+
cat > /tmp/auto-patterns-input.json << 'EOF'
|
|
171
|
+
{
|
|
172
|
+
"collection": {
|
|
173
|
+
"idSuffix": "<collection-id>",
|
|
174
|
+
"fields": [
|
|
175
|
+
{ "key": "<field-key>", "displayName": "<Field Label>", "type": "<TYPE>" }
|
|
176
|
+
]
|
|
177
|
+
},
|
|
178
|
+
"schema": {
|
|
179
|
+
"content": {
|
|
180
|
+
"collectionRouteId": "<collection-route-id>",
|
|
181
|
+
"singularEntityName": "<singular-entity-name>",
|
|
182
|
+
"pageTitle": "<Page Title>",
|
|
183
|
+
"pageSubtitle": "<Page subtitle>",
|
|
184
|
+
"actionButtonLabel": "<Create button label>",
|
|
185
|
+
"toolbarTitle": "<Toolbar title>",
|
|
186
|
+
"toolbarSubtitle": "<Toolbar subtitle>",
|
|
187
|
+
"emptyStateTitle": "<Empty state title>",
|
|
188
|
+
"emptyStateSubtitle": "<Empty state subtitle>",
|
|
189
|
+
"emptyStateButtonText": "<Empty state button>",
|
|
190
|
+
"deleteModalTitle": "<Delete modal title>",
|
|
191
|
+
"deleteModalDescription": "<Delete modal description>",
|
|
192
|
+
"deleteSuccessToast": "<Delete success toast>",
|
|
193
|
+
"deleteErrorToast": "<Delete error toast>",
|
|
194
|
+
"bulkDeleteModalTitle": "<Bulk delete modal title>",
|
|
195
|
+
"bulkDeleteModalDescription": "<Bulk delete modal description>",
|
|
196
|
+
"bulkDeleteSuccessToast": "<Bulk delete success toast>",
|
|
197
|
+
"bulkDeleteErrorToast": "<Bulk delete error toast>",
|
|
198
|
+
"entityPageTitle": "<Entity page title>",
|
|
199
|
+
"entityPageSubtitle": "<Entity page subtitle>"
|
|
200
|
+
},
|
|
201
|
+
"layout": {
|
|
202
|
+
"main": [
|
|
203
|
+
{
|
|
204
|
+
"title": "<Section title>",
|
|
205
|
+
"subtitle": "<Section subtitle>",
|
|
206
|
+
"fields": ["<field-key>"]
|
|
207
|
+
}
|
|
208
|
+
],
|
|
209
|
+
"sidebar": []
|
|
210
|
+
},
|
|
211
|
+
"columns": [
|
|
212
|
+
{ "id": "<field-key>", "displayName": "<Short Name>" }
|
|
213
|
+
],
|
|
214
|
+
"gridItem": null
|
|
215
|
+
},
|
|
216
|
+
"relevantCollectionId": "@<namespace>/<collection-id>",
|
|
217
|
+
"extensionName": "<Extension Name>"
|
|
218
|
+
}
|
|
219
|
+
EOF
|
|
220
|
+
|
|
221
|
+
# Run generator
|
|
222
|
+
node <SKILL_ROOT>/scripts/generate-auto-patterns.js --input /tmp/auto-patterns-input.json --output ./src/extensions/dashboard/pages/<page-name>/
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
The `--output` directory MUST be the exact folder the CLI scaffolded in Step 1 — the script derives the component filename from that folder's name.
|
|
226
|
+
|
|
227
|
+
The script produces:
|
|
228
|
+
|
|
229
|
+
- `patterns.json` — The declarative AppConfig
|
|
230
|
+
- `<page-name>.tsx` — Thin React wrapper component, written to the SAME filename the CLI scaffolded and the builder already registers (overwrites the stub)
|
|
231
|
+
|
|
232
|
+
The builder file (`<page-name>.extension.ts`) and `src/extensions.ts` registration from Step 1 stay as-is — no manual registration edit, and no stray `page.tsx`.
|
|
233
|
+
|
|
234
|
+
### Step 4: Install Dependencies
|
|
235
|
+
|
|
236
|
+
The CLI template pins `@wix/auto-patterns` and `@wix/patterns` to exact versions — keep it that way. Check `package.json` first: if both are already in `dependencies`, **skip this step**.
|
|
237
|
+
|
|
238
|
+
If one is missing, install only that package:
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
npm install --save-exact <missing-package>
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### Step 5: Validate
|
|
245
|
+
|
|
246
|
+
Run validation per [APP_VALIDATION.md](APP_VALIDATION.md) to verify TypeScript compilation and build.
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Part B: Updating an Existing Auto-Patterns Page
|
|
251
|
+
|
|
252
|
+
> **🛑 STOP — UI changes go through overrides, NOT page-component edits.**
|
|
253
|
+
> If you're adding a banner, custom header, action, slot, custom column rendering, or row sectioning to an auto-patterns page, you MUST use the matching `custom-*-override.md` reference (see the topic index in Step 2). Do NOT add the UI by hand-writing JSX in the page component (`<page-name>.tsx`) — that bypasses the override registration and breaks the iteration model.
|
|
254
|
+
|
|
255
|
+
When `patterns.json` already exists in a page directory, edit it directly. **This is the iteration model**: changes to layout, columns, actions, and content are made by editing JSON — the page component (`<page-name>.tsx`) only changes to register new overrides. No React rewrite, no rebuild of CRUD logic.
|
|
256
|
+
|
|
257
|
+
> **Component filename:** the page component is `<page-name>.tsx` (the file the CLI scaffolded and the `<page-name>.extension.ts` builder registers). The override reference files below say "`page.tsx`" as shorthand for this component — edit the existing `<page-name>.tsx`; **never create a new `page.tsx`**, or it will sit unregistered next to the real component.
|
|
258
|
+
|
|
259
|
+
### Step 1: Read the Existing Config
|
|
260
|
+
|
|
261
|
+
Read the current `patterns.json` to understand the configuration structure.
|
|
262
|
+
|
|
263
|
+
### Step 2: Consult Reference Documentation
|
|
264
|
+
|
|
265
|
+
Use the topic index below to find the right reference file for your change:
|
|
266
|
+
|
|
267
|
+
| Topic | Keywords | Reference File |
|
|
268
|
+
| -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
|
|
269
|
+
| AppConfig structure, page types, component types, page.tsx template | AppConfig, PageConfig, CollectionPageConfig, EntityPageConfig | [app-config-structure.md](auto-patterns-dashboard/app-config-structure.md) |
|
|
270
|
+
| Page setup, relationships, routing, URL configuration, sticky columns | page relationships, routing, entityPageId, parentPageId, route parameters | [pages-configuration.md](auto-patterns-dashboard/pages-configuration.md) |
|
|
271
|
+
| Collection page components, table/grid layouts, column configuration | table/grid configuration, columns, customColumns, view switching | [collection-page.md](auto-patterns-dashboard/collection-page.md) |
|
|
272
|
+
| Views configuration, presets, categories, filters integration | views, presets, categories, columnPreferences, filters, default view | [views.md](auto-patterns-dashboard/views.md) |
|
|
273
|
+
| Page-level actions, create actions, custom collection actions, row click actions | primaryActions, secondaryActions, onRowClick, action menus | [collection-page-actions.md](auto-patterns-dashboard/collection-page-actions.md) |
|
|
274
|
+
| Row-level actions, update/delete actions, custom row actions | actionCell, edit, delete, inline actions, custom resolver | [action-cell.md](auto-patterns-dashboard/action-cell.md) |
|
|
275
|
+
| Bulk operations, bulk delete, bulk action toolbar | bulk delete, multi-select actions, bulkActionToolbar | [bulk-actions.md](auto-patterns-dashboard/bulk-actions.md) |
|
|
276
|
+
| Entity page layout, grid system, field layout, containers | entity page layout, grid system, column spans, main/sidebar, 12-column grid | [entity-page.md](auto-patterns-dashboard/entity-page.md) |
|
|
277
|
+
| Entity page edit mode actions, moreActions, custom entity actions | edit mode actions, moreActions, duplicate, clone | [entity-page-actions.md](auto-patterns-dashboard/entity-page-actions.md) |
|
|
278
|
+
| Entity page view mode actions, primaryActions, secondaryActions | view mode actions, read-only entity actions, navigation actions | [entity-page-view-actions.md](auto-patterns-dashboard/entity-page-view-actions.md) |
|
|
279
|
+
| ResolvedAction interface, common return type for custom actions | ResolvedAction, label, icon, onClick, disabled, hidden, tooltip, skin | [resolved-action.md](auto-patterns-dashboard/resolved-action.md) |
|
|
280
|
+
| AppContext hook, shared collection data, refresh functionality | useAppContext, items, refreshCollection | [app-context.md](auto-patterns-dashboard/app-context.md) |
|
|
281
|
+
| SDK utilities, optimistic actions, schema access | AutoPatternsSDK, optimisticActions, getSchema, createOne, updateOne, deleteOne | [sdk-utilities.md](auto-patterns-dashboard/sdk-utilities.md) |
|
|
282
|
+
| Custom action resolvers, action overrides, useActions hook | custom actions, action resolver, useActions, ResolvedAction | [custom-actions-override.md](auto-patterns-dashboard/custom-actions-override.md) |
|
|
283
|
+
| Column rendering overrides, IColumnValue, custom column display | column override, IColumnValue, useColumns, custom rendering | [custom-columns-override.md](auto-patterns-dashboard/custom-columns-override.md) |
|
|
284
|
+
| Custom form components, useController, entity page customization | custom components, useComponents, useController, form, entity | [custom-components-override.md](auto-patterns-dashboard/custom-components-override.md) |
|
|
285
|
+
| Entity page header, dynamic subtitle, dynamic badges | header override, subtitle, badges, entityPageHeaderSubtitle, entityPageHeaderBadges | [custom-header-override.md](auto-patterns-dashboard/custom-header-override.md) |
|
|
286
|
+
| Table row grouping, section headers, section renderer | sections, grouping, useSections, section renderer, row grouping | [custom-sections-override.md](auto-patterns-dashboard/custom-sections-override.md) |
|
|
287
|
+
| Custom slot components, page slots, banners, informational sections | slots, useSlots, banner, custom content, top section | [custom-slots-override.md](auto-patterns-dashboard/custom-slots-override.md) |
|
|
288
|
+
|
|
289
|
+
### Step 3: Make Targeted Edits
|
|
290
|
+
|
|
291
|
+
Edit `patterns.json` based on the user's request. Key constraints:
|
|
292
|
+
|
|
293
|
+
- **Always 2 pages** — one `collectionPage` + one `entityPage`
|
|
294
|
+
- **Bidirectional linking** — `entityPageId` in collection component ↔ `parentPageId` in entity page
|
|
295
|
+
- **Max 3 columns initially** for new table views
|
|
296
|
+
- **`biName` is mandatory** for every action (kebab-case: `{action-purpose}-action`)
|
|
297
|
+
- **`customColumns.enabled: true`** when > 5 columns
|
|
298
|
+
- **Grid item only if IMAGE fields exist**
|
|
299
|
+
- **Route format**: entity page must be `/[segment]/:entityId`
|
|
300
|
+
- **Exactly 1 `appMainPage: true`** across all pages
|
|
301
|
+
|
|
302
|
+
If adding custom overrides (actions, columns, components, slots, etc.):
|
|
303
|
+
|
|
304
|
+
1. Create the override files in the appropriate `components/` subfolder
|
|
305
|
+
2. Update the page component (`<page-name>.tsx`) to register overrides via `PatternsWizardOverridesProvider`
|
|
306
|
+
3. See the `custom-*-override.md` reference files for implementation patterns
|
|
307
|
+
|
|
308
|
+
> **🛑 Overrides ALWAYS go in their own file under `components/<type>/`** (e.g. `components/columns/status.tsx`) with a `use*` hook — **regardless of size, even for a single small override.** This is structural, required by the override-registration model. **Never inline override render logic in the page component** (`<page-name>.tsx`), and do NOT apply the general ~300-line "split only if large" rule here — it does not override this requirement.
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## Non-Matching Intents
|
|
313
|
+
|
|
314
|
+
Do NOT use this skill when:
|
|
315
|
+
|
|
316
|
+
- User needs multi-collection data display → see [DASHBOARD_PAGE.md](DASHBOARD_PAGE.md)
|
|
317
|
+
- User needs embedded script configuration → see [DASHBOARD_PAGE.md](DASHBOARD_PAGE.md)
|
|
318
|
+
- User needs custom business logic or external APIs → see [DASHBOARD_PAGE.md](DASHBOARD_PAGE.md)
|
|
319
|
+
- User needs a modal/popup → see [DASHBOARD_MODAL.md](DASHBOARD_MODAL.md)
|
|
320
|
+
- User needs backend endpoints → see [BACKEND_API.md](BACKEND_API.md)
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## Example patterns.json
|
|
325
|
+
|
|
326
|
+
See [auto-patterns-dashboard/example-patterns.json](auto-patterns-dashboard/example-patterns.json) for a complete working example.
|
|
@@ -26,6 +26,7 @@ Applies to all generated code across every Wix CLI app extension type. Each per-
|
|
|
26
26
|
|
|
27
27
|
- If a generated file would exceed ~300 lines, split it into multiple smaller files with imports. Each component or function should stay ~50–100 lines.
|
|
28
28
|
- Extract utilities/helpers into separate files; put types/interfaces into dedicated type files.
|
|
29
|
+
- **Exception — auto-patterns override files** (column / action / slot / section / component / header overrides) ALWAYS live in their own file under `components/<type>/` with a `use*` hook, **regardless of file size**. This is a structural requirement of the override-registration model, not a size-based split — the ~300-line rule does NOT license inlining an override into the page component, even for a single small one. See [AUTO_PATTERNS_DASHBOARD.md](AUTO_PATTERNS_DASHBOARD.md).
|
|
29
30
|
|
|
30
31
|
## Error Handling
|
|
31
32
|
|