@wix/agent-skills 1.33.0 → 1.34.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.
- package/README.md +23 -0
- package/package.json +2 -2
- package/skills/wix-app/references/DASHBOARD_PAGE.md +1 -1
- package/skills/wix-export/SKILL.md +83 -0
- package/skills/wix-harmony-editor/.publish-manifest.json +8 -0
- package/skills/wix-harmony-editor/COPY-SITE.md +494 -0
- package/skills/wix-harmony-editor/SKILL.md +317 -0
- package/skills/wix-harmony-editor/scripts/copy/build-description.mjs +249 -0
- package/skills/wix-harmony-editor/scripts/copy/check-description.mjs +225 -0
- package/skills/wix-harmony-editor/scripts/copy/check-mirror.mjs +89 -0
- package/skills/wix-harmony-editor/scripts/copy/compare-preview.mjs +76 -0
- package/skills/wix-harmony-editor/scripts/copy/deploy-description.mjs +212 -0
- package/skills/wix-harmony-editor/scripts/copy/desc-hash.mjs +44 -0
- package/skills/wix-harmony-editor/scripts/copy/editor-run.mjs +45 -0
- package/skills/wix-harmony-editor/scripts/copy/export-page.mjs +53 -0
- package/skills/wix-harmony-editor/scripts/copy/find-interactions.mjs +76 -0
- package/skills/wix-harmony-editor/scripts/copy/hide-scrollbars.mjs +16 -0
- package/skills/wix-harmony-editor/scripts/copy/import-media.mjs +150 -0
- package/skills/wix-harmony-editor/scripts/copy/link-url.mjs +27 -0
- package/skills/wix-harmony-editor/scripts/copy/lint-api.mjs +56 -0
- package/skills/wix-harmony-editor/scripts/copy/measure-source.mjs +211 -0
- package/skills/wix-harmony-editor/scripts/copy/merge-mirrors.mjs +29 -0
- package/skills/wix-harmony-editor/scripts/copy/mirror-site.mjs +92 -0
- package/skills/wix-harmony-editor/scripts/copy/mobile-stage.mjs +56 -0
- package/skills/wix-harmony-editor/scripts/copy/preview-widths.mjs +73 -0
- package/skills/wix-harmony-editor/scripts/copy/render-plate.mjs +67 -0
- package/skills/wix-harmony-editor/scripts/copy/serve-mirror.mjs +102 -0
- package/skills/wix-harmony-editor/scripts/copy/snapshot-capabilities.mjs +40 -0
- package/skills/wix-harmony-editor/scripts/copy/split-sections.mjs +191 -0
- package/skills/wix-harmony-editor/scripts/copy/upload-media-manager.mjs +61 -0
- package/skills/wix-harmony-editor/scripts/launch.sh +359 -0
- package/skills/wix-headless/SKILL.md +7 -2
- package/skills/wix-headless/references/CAPABILITIES.md +6 -1
- package/skills/wix-headless/references/DISCOVERY.md +2 -1
- package/skills/wix-headless/references/SDK_HANDOFF.md +6 -1
- package/skills/wix-headless/references/SEED.md +3 -2
- package/skills/wix-headless/references/SETUP.md +1 -0
- package/skills/wix-headless/references/inline-recipes/experience-donations.md +102 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-donations.md +146 -0
- package/skills/wix-headless/references/inline-recipes/setup-donations.md +15 -0
- package/skills/wix-headless/references/managed/CREATE.md +1 -1
- package/skills/wix-headless-kit/SKILL.md +110 -21
- package/skills/wix-headless-kit/guides/api-run.md +15 -13
- package/skills/wix-headless-kit/guides/existing-site.md +31 -0
- package/skills/wix-headless-kit/guides/migration.md +49 -17
- package/skills/wix-headless-kit/install/agents-md.mjs +1 -1
- package/skills/wix-headless-kit/install/context.mjs +61 -6
- package/skills/wix-headless-kit/install/pins.json +1 -1
- package/skills/wix-headless-kit/install/setup.mjs +107 -12
- package/skills/wix-headless-replatform/.publish-manifest.json +8 -0
- package/skills/wix-headless-replatform/SKILL.md +116 -0
- package/skills/wix-headless-replatform/agents/openai.yaml +6 -0
- package/skills/wix-headless-replatform/references/control-and-visual-fidelity-contract.md +43 -0
- package/skills/wix-headless-replatform/references/extraction-schema.md +187 -0
- package/skills/wix-headless-replatform/references/interaction-runtime-contract.md +137 -0
- package/skills/wix-headless-replatform/references/layout-blueprint-contract.md +41 -0
- package/skills/wix-headless-replatform/references/output-contract.md +93 -0
- package/skills/wix-headless-replatform/references/post-build-gap-contract.md +125 -0
- package/skills/wix-headless-replatform/references/qa-checklist.md +83 -0
- package/skills/wix-headless-replatform/references/safety.md +19 -0
- package/skills/wix-headless-replatform/references/ui-normalization-contract.md +70 -0
- package/skills/wix-headless-replatform/references/workflow.md +157 -0
- package/skills/wix-headless-replatform/registry/README.md +20 -0
- package/skills/wix-headless-replatform/registry/approvals/button/shadcn-default-ac60ef5.json +28 -0
- package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/button.tsx +54 -0
- package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/capabilities.json +60 -0
- package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/contract.md +48 -0
- package/skills/wix-headless-replatform/registry/licenses/shadcn-ui-ac60ef5-MIT.txt +21 -0
- package/skills/wix-headless-replatform/registry/registry.json +36 -0
- package/skills/wix-headless-replatform/resources/rp-facelift/SKILL.md +32 -0
- package/skills/wix-headless-replatform/resources/rp-project-context/SKILL.md +62 -0
- package/skills/wix-headless-replatform/resources/rp-qa-gap-loop/SKILL.md +64 -0
- package/skills/wix-headless-replatform/resources/rp-source-evidence/SKILL.md +42 -0
- package/skills/wix-headless-replatform/resources/rp-ui-implementation/SKILL.md +73 -0
- package/skills/wix-headless-replatform/schemas/build-plan.schema.json +10 -0
- package/skills/wix-headless-replatform/schemas/candidate.schema.json +19 -0
- package/skills/wix-headless-replatform/schemas/common.schema.json +33 -0
- package/skills/wix-headless-replatform/schemas/decision-patch.schema.json +10 -0
- package/skills/wix-headless-replatform/schemas/decision-request.schema.json +10 -0
- package/skills/wix-headless-replatform/schemas/extraction-gap.schema.json +28 -0
- package/skills/wix-headless-replatform/schemas/extraction-manifest.schema.json +34 -0
- package/skills/wix-headless-replatform/schemas/final-report.schema.json +10 -0
- package/skills/wix-headless-replatform/schemas/foundation.schema.json +11 -0
- package/skills/wix-headless-replatform/schemas/metadata.schema.json +11 -0
- package/skills/wix-headless-replatform/schemas/observation-packet.schema.json +17 -0
- package/skills/wix-headless-replatform/schemas/page-capture.schema.json +11 -0
- package/skills/wix-headless-replatform/schemas/page-resolution.schema.json +33 -0
- package/skills/wix-headless-replatform/schemas/shared-chrome.schema.json +11 -0
- package/skills/wix-headless-replatform/schemas/unit.schema.json +40 -0
- package/skills/wix-headless-replatform/scripts/assemble-extraction.mjs +844 -0
- package/skills/wix-headless-replatform/scripts/benchmark-extraction.mjs +163 -0
- package/skills/wix-headless-replatform/scripts/browser-extraction-preflight.mjs +42 -0
- package/skills/wix-headless-replatform/scripts/build-extracted-homepage.mjs +228 -0
- package/skills/wix-headless-replatform/scripts/clear-wix-starter.mjs +87 -0
- package/skills/wix-headless-replatform/scripts/create-wix-project.mjs +505 -0
- package/skills/wix-headless-replatform/scripts/discover-urls.mjs +142 -0
- package/skills/wix-headless-replatform/scripts/extract-assets.mjs +140 -0
- package/skills/wix-headless-replatform/scripts/extract-design-system.mjs +637 -0
- package/skills/wix-headless-replatform/scripts/extract-interactions.mjs +1903 -0
- package/skills/wix-headless-replatform/scripts/extract-page.mjs +2461 -0
- package/skills/wix-headless-replatform/scripts/extract-seo.mjs +25 -0
- package/skills/wix-headless-replatform/scripts/extract-tokens.mjs +63 -0
- package/skills/wix-headless-replatform/scripts/finalize-extraction-report.mjs +126 -0
- package/skills/wix-headless-replatform/scripts/finalize-gap-review.mjs +180 -0
- package/skills/wix-headless-replatform/scripts/finalize-gap-review.test.mjs +98 -0
- package/skills/wix-headless-replatform/scripts/finalize-migration-website.mjs +103 -0
- package/skills/wix-headless-replatform/scripts/generate-control-state-contract.mjs +176 -0
- package/skills/wix-headless-replatform/scripts/generate-design-md.mjs +261 -0
- package/skills/wix-headless-replatform/scripts/generate-extraction-validators.mjs +25 -0
- package/skills/wix-headless-replatform/scripts/generate-invoice-download-backend.mjs +342 -0
- package/skills/wix-headless-replatform/scripts/generate-layout-blueprint.mjs +140 -0
- package/skills/wix-headless-replatform/scripts/generate-repeater-cms.mjs +22 -0
- package/skills/wix-headless-replatform/scripts/generate-route-plan.mjs +143 -0
- package/skills/wix-headless-replatform/scripts/generate-scene-contract.mjs +288 -0
- package/skills/wix-headless-replatform/scripts/generate-ui-normalization.mjs +266 -0
- package/skills/wix-headless-replatform/scripts/generate-visual-assets.mjs +111 -0
- package/skills/wix-headless-replatform/scripts/lib/browser-tooling.mjs +570 -0
- package/skills/wix-headless-replatform/scripts/lib/common.mjs +329 -0
- package/skills/wix-headless-replatform/scripts/lib/component-capabilities.mjs +121 -0
- package/skills/wix-headless-replatform/scripts/lib/component-registry.mjs +282 -0
- package/skills/wix-headless-replatform/scripts/lib/content-boundary.mjs +61 -0
- package/skills/wix-headless-replatform/scripts/lib/extraction-contract.mjs +374 -0
- package/skills/wix-headless-replatform/scripts/lib/extraction-detectors.mjs +243 -0
- package/skills/wix-headless-replatform/scripts/lib/extraction-validators.generated.mjs +1139 -0
- package/skills/wix-headless-replatform/scripts/lib/font-contract.mjs +326 -0
- package/skills/wix-headless-replatform/scripts/lib/frontend-automation-state.mjs +184 -0
- package/skills/wix-headless-replatform/scripts/lib/gap-analysis.mjs +396 -0
- package/skills/wix-headless-replatform/scripts/lib/html-extract.mjs +168 -0
- package/skills/wix-headless-replatform/scripts/lib/interaction-bootstrap.mjs +10 -0
- package/skills/wix-headless-replatform/scripts/lib/interaction-runtime.mjs +194 -0
- package/skills/wix-headless-replatform/scripts/lib/interaction-timeline.mjs +348 -0
- package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/classifiers.mjs +141 -0
- package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/geometry.mjs +43 -0
- package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/vocabulary.mjs +18 -0
- package/skills/wix-headless-replatform/scripts/lib/ui-normalization.css +64 -0
- package/skills/wix-headless-replatform/scripts/optimize-svg.mjs +31 -0
- package/skills/wix-headless-replatform/scripts/post-build-gap.mjs +358 -0
- package/skills/wix-headless-replatform/scripts/provision-repeater-cms.mjs +25 -0
- package/skills/wix-headless-replatform/scripts/record-gap-decision.mjs +39 -0
- package/skills/wix-headless-replatform/scripts/replay-extraction.mjs +107 -0
- package/skills/wix-headless-replatform/scripts/resolve-home-page.mjs +96 -0
- package/skills/wix-headless-replatform/scripts/site-clone.mjs +658 -0
- package/skills/wix-headless-replatform/scripts/validate-font-contract.mjs +29 -0
- package/skills/wix-headless-replatform/scripts/verify-interactions.mjs +669 -0
- package/skills/wix-headless-replatform/scripts/visual-qa.mjs +370 -0
- package/skills/wix-headless-templates/donations/INSTRUCTIONS.md +37 -24
- package/skills/wix-headless-templates/donations/app/components/donations/DonateForm.tsx +49 -23
- package/skills/wix-headless-templates/donations/app/components/donations/DonationReceipt.tsx +6 -5
- package/skills/wix-headless-templates/donations/app/components/donations/GoalProgress.tsx +5 -5
- package/skills/wix-headless-templates/donations/app/wix/donations/campaigns.ts +4 -4
- package/skills/wix-headless-templates/donations/app/wix/donations/donate.ts +7 -3
- package/skills/wix-headless-templates/donations/app/wix/donations/donation-store.ts +2 -2
- package/skills/wix-headless-templates/donations/app/wix/donations/donations-core.ts +12 -9
- package/skills/wix-headless-templates/donations/project/src/components/donations/DonateForm.tsx +49 -23
- package/skills/wix-headless-templates/donations/project/src/components/donations/DonationReceipt.tsx +6 -5
- package/skills/wix-headless-templates/donations/project/src/components/donations/GoalProgress.tsx +5 -5
- package/skills/wix-headless-templates/donations/project/src/wix/donations/campaigns.ts +4 -4
- package/skills/wix-headless-templates/donations/project/src/wix/donations/donate.ts +7 -3
- package/skills/wix-headless-templates/donations/project/src/wix/donations/donation-store.ts +2 -2
- package/skills/wix-headless-templates/donations/project/src/wix/donations/donations-core.ts +12 -9
- package/skills/wix-headless-templates/donations/rest/campaigns.ts +4 -4
- package/skills/wix-headless-templates/donations/rest/donate.ts +7 -3
- package/skills/wix-headless-templates/donations/seed/SEED.md +12 -7
- package/skills/wix-headless-templates/donations/tests/donation-contract.test.mjs +71 -0
- package/skills/wix-headless-templates/donations/tests/donation-form.test.cjs +137 -0
- package/skills/wix-headless-templates/restaurants/INSTRUCTIONS.md +28 -14
- package/skills/wix-headless-templates/restaurants/app/components/restaurants/OrderCartDrawer.tsx +87 -5
- package/skills/wix-headless-templates/restaurants/app/hooks/restaurants/useOrderCart.ts +9 -1
- package/skills/wix-headless-templates/restaurants/app/wix/restaurants/order-store.ts +33 -4
- package/skills/wix-headless-templates/restaurants/app/wix/restaurants/ordering-core.ts +100 -5
- package/skills/wix-headless-templates/restaurants/app/wix/restaurants/ordering.ts +101 -15
- package/skills/wix-headless-templates/restaurants/app/wix/restaurants/types.ts +35 -1
- package/skills/wix-headless-templates/restaurants/project/src/components/restaurants/OrderCartDrawer.tsx +87 -5
- package/skills/wix-headless-templates/restaurants/project/src/hooks/restaurants/useOrderCart.ts +9 -1
- package/skills/wix-headless-templates/restaurants/project/src/wix/restaurants/order-store.ts +33 -4
- package/skills/wix-headless-templates/restaurants/project/src/wix/restaurants/ordering-core.ts +100 -5
- package/skills/wix-headless-templates/restaurants/project/src/wix/restaurants/ordering.ts +101 -15
- package/skills/wix-headless-templates/restaurants/project/src/wix/restaurants/types.ts +35 -1
- package/skills/wix-headless-templates/restaurants/rest/ordering.ts +91 -14
- package/skills/wix-import/SKILL.md +90 -0
- package/skills/wix-manage/SKILL.md +38 -10
- package/skills/wix-manage/references/automations/actions.md +11 -11
- package/skills/wix-manage/references/automations/activation-status.md +6 -9
- package/skills/wix-manage/references/automations/api-catalog.md +48 -32
- package/skills/wix-manage/references/automations/automation-model.md +97 -22
- package/skills/wix-manage/references/automations/bracket-expressions.md +7 -7
- package/skills/wix-manage/references/automations/build-and-manage-automations.md +140 -309
- package/skills/wix-manage/references/automations/conditions.md +187 -0
- package/skills/wix-manage/references/automations/schemas-and-scheduling.md +191 -0
- package/skills/wix-manage/references/automations/special-actions.md +210 -0
- package/skills/wix-manage/references/automations/triggers.md +47 -10
- package/skills/wix-manage/references/automations/validation-and-verification.md +320 -0
- package/skills/wix-manage/references/custom-apps/use-app-tools.md +124 -0
- package/skills/wix-manage/references/dashboard-navigation/dashboard-navigation.md +2 -1
- package/skills/wix-manage/references/dashboard-navigation/routes.json +249 -0
- package/skills/wix-manage/references/donations/create-and-update-donation-campaigns.md +139 -0
- package/skills/wix-manage/references/events/create-wix-event.md +136 -73
- package/skills/wix-manage/references/events/events-dashboard-navigation.md +81 -0
- package/skills/wix-manage/references/events/manage-event-guests.md +366 -0
- package/skills/wix-manage/references/events/manage-event-tickets.md +293 -0
- package/skills/wix-manage/references/events/manage-wix-events.md +313 -55
- package/skills/wix-manage/references/sites/manage-oauth-apps.md +1 -0
- package/skills/wix-manage/references/sites/upload-static-site.md +127 -8
- package/skills/wix-manage/references/stores/update-product-with-options.md +58 -2
- package/skills/wix-replatform/.publish-manifest.json +5 -5
- package/skills/wix-replatform/CLI.md +162 -0
- package/skills/wix-replatform/README.md +52 -0
- package/skills/wix-replatform/SKILL.md +229 -684
- package/skills/wix-replatform/console/account.css +1 -0
- package/skills/wix-replatform/console/app.css +1 -0
- package/skills/wix-replatform/console/app.js +117 -0
- package/skills/wix-replatform/console/index.html +4 -0
- package/skills/wix-replatform/console/json.css +11 -0
- package/skills/wix-replatform/lib/agent-adapters/index.js +71 -0
- package/skills/wix-replatform/lib/app-page-routing.js +75 -0
- package/skills/wix-replatform/lib/artifact-freshness.js +11 -1
- package/skills/wix-replatform/lib/blocked-data-requests.js +427 -0
- package/skills/wix-replatform/lib/census-reconciliation.js +426 -0
- package/skills/wix-replatform/lib/completion-report.js +1393 -13
- package/skills/wix-replatform/lib/config-env.js +85 -11
- package/skills/wix-replatform/lib/confirmed-pictures.js +212 -0
- package/skills/wix-replatform/lib/dependency-readiness.js +423 -0
- package/skills/wix-replatform/lib/dependency-recovery.js +21 -0
- package/skills/wix-replatform/lib/destination-choice.js +163 -0
- package/skills/wix-replatform/lib/destination-handoff.js +62 -0
- package/skills/wix-replatform/lib/destination-http.js +81 -0
- package/skills/wix-replatform/lib/destination-route.js +98 -0
- package/skills/wix-replatform/lib/destination.js +919 -0
- package/skills/wix-replatform/lib/discovered-census.js +231 -0
- package/skills/wix-replatform/lib/discovered-set-status.js +255 -0
- package/skills/wix-replatform/lib/document-url-guard.js +203 -0
- package/skills/wix-replatform/lib/entity-qa-attestation.js +339 -0
- package/skills/wix-replatform/lib/entity-verification.js +18 -0
- package/skills/wix-replatform/lib/execution-capability.js +120 -0
- package/skills/wix-replatform/lib/execution-log.js +170 -0
- package/skills/wix-replatform/lib/execution-manifest.js +20 -2
- package/skills/wix-replatform/lib/execution-state.js +22 -0
- package/skills/wix-replatform/lib/expectations-ledger.js +96 -0
- package/skills/wix-replatform/lib/generated-plugin-handoff.js +140 -0
- package/skills/wix-replatform/lib/import-readiness-contract.js +23 -0
- package/skills/wix-replatform/lib/import-recovery.js +800 -6
- package/skills/wix-replatform/lib/imported-redirect-targets.js +608 -0
- package/skills/wix-replatform/lib/internal-link-reconciliation.js +166 -0
- package/skills/wix-replatform/lib/link-audit.js +173 -0
- package/skills/wix-replatform/lib/link-census.js +194 -0
- package/skills/wix-replatform/lib/link-plan.js +148 -0
- package/skills/wix-replatform/lib/link-verification.js +274 -0
- package/skills/wix-replatform/lib/link-write-journal.js +42 -0
- package/skills/wix-replatform/lib/local-state.js +869 -30
- package/skills/wix-replatform/lib/member-completion.js +658 -0
- package/skills/wix-replatform/lib/member-crosswalk.js +69 -0
- package/skills/wix-replatform/lib/member-outcome-registry.js +265 -0
- package/skills/wix-replatform/lib/migration-completion.js +311 -0
- package/skills/wix-replatform/lib/operator-identity.js +47 -0
- package/skills/wix-replatform/lib/orchestration-decisions.js +248 -0
- package/skills/wix-replatform/lib/orchestration-preflight.js +401 -19
- package/skills/wix-replatform/lib/orchestration-router.js +608 -32
- package/skills/wix-replatform/lib/orchestration-state.js +188 -12
- package/skills/wix-replatform/lib/order-reference-readiness.js +30 -0
- package/skills/wix-replatform/lib/payments-outcome-registry.js +200 -0
- package/skills/wix-replatform/lib/plugin-cms-fallback.js +618 -0
- package/skills/wix-replatform/lib/preservation-approval-stamp.js +54 -0
- package/skills/wix-replatform/lib/product-media-deferral.js +96 -0
- package/skills/wix-replatform/lib/progress-log.js +19 -3
- package/skills/wix-replatform/lib/read-back-approval.js +184 -0
- package/skills/wix-replatform/lib/read-back-comparison.js +136 -0
- package/skills/wix-replatform/lib/read-back-contract.js +243 -0
- package/skills/wix-replatform/lib/read-back-extract.js +118 -0
- package/skills/wix-replatform/lib/read-back-gate.js +734 -0
- package/skills/wix-replatform/lib/read-back-reads.js +94 -0
- package/skills/wix-replatform/lib/read-back-state.js +107 -0
- package/skills/wix-replatform/lib/read-back-summary.js +81 -0
- package/skills/wix-replatform/lib/rerun-conflicts.js +334 -0
- package/skills/wix-replatform/lib/run-controller.js +401 -0
- package/skills/wix-replatform/lib/seo-outcome-registry.js +45 -0
- package/skills/wix-replatform/lib/setup-verification.js +148 -0
- package/skills/wix-replatform/lib/source-access.js +231 -0
- package/skills/wix-replatform/lib/source-coverage.js +1130 -0
- package/skills/wix-replatform/lib/source-secrets.js +277 -0
- package/skills/wix-replatform/lib/structured-link-patch.js +59 -0
- package/skills/wix-replatform/lib/task-state.js +110 -0
- package/skills/wix-replatform/lib/url-preservation-report.js +319 -0
- package/skills/wix-replatform/lib/url-preservation-state.js +349 -1
- package/skills/wix-replatform/lib/url-redirect-plan.js +728 -0
- package/skills/wix-replatform/lib/url-verification.js +315 -0
- package/skills/wix-replatform/lib/user-action-effects.js +42 -0
- package/skills/wix-replatform/lib/user-actions.js +264 -0
- package/skills/wix-replatform/lib/website-handoff.js +1220 -0
- package/skills/wix-replatform/lib/wix-client-callers.js +54 -0
- package/skills/wix-replatform/lib/wix-dashboard-url.js +35 -0
- package/skills/wix-replatform/lib/write-verification-state.js +92 -0
- package/skills/wix-replatform/lib/write-verification.js +274 -0
- package/skills/wix-replatform/resources/rp-destination/SKILL.md +137 -0
- package/skills/wix-replatform/resources/rp-discovery/SKILL.md +189 -16
- package/skills/wix-replatform/resources/rp-discovery/scripts/promote-source-coverage.js +47 -0
- package/skills/wix-replatform/resources/rp-execute-import/SKILL.md +869 -29
- package/skills/wix-replatform/resources/rp-execute-import/scripts/shipping-estimate-audit.js +70 -0
- package/skills/wix-replatform/resources/rp-execute-setup/SKILL.md +195 -29
- package/skills/wix-replatform/resources/rp-execute-setup/scripts/execute-setup.js +442 -0
- package/skills/wix-replatform/resources/rp-execution-policy/SKILL.md +112 -0
- package/skills/wix-replatform/resources/rp-execution-policy/lib/coupon-currency-plan-report.js +143 -0
- package/skills/wix-replatform/resources/rp-execution-policy/lib/payments-report.js +244 -0
- package/skills/wix-replatform/resources/rp-import-codegen/SKILL.md +2082 -38
- package/skills/wix-replatform/resources/rp-mapper/SKILL.md +528 -11
- package/skills/wix-replatform/resources/rp-mapper/lib/structure-bridge-planning.js +303 -0
- package/skills/wix-replatform/resources/rp-mapper/scripts/coverage-reconcile.js +88 -0
- package/skills/wix-replatform/resources/rp-mapper/wix-business-solutions-taxonomy.md +6 -5
- package/skills/wix-replatform/resources/rp-preflight/SKILL.md +40 -0
- package/skills/wix-replatform/resources/rp-project-intake/SKILL.md +55 -0
- package/skills/wix-replatform/resources/rp-quick-runtime/SKILL.md +60 -0
- package/skills/wix-replatform/resources/rp-quick-runtime/lib/import-progress.js +89 -0
- package/skills/wix-replatform/resources/rp-quick-runtime/lib/limit-recovery.js +36 -0
- package/skills/wix-replatform/resources/rp-quick-shopify/SKILL.md +123 -0
- package/skills/wix-replatform/resources/rp-quick-shopify/quick-mode.json +124 -0
- package/skills/wix-replatform/resources/rp-quick-shopify/scripts/quick-mode.js +522 -0
- package/skills/wix-replatform/resources/rp-quick-woocommerce/SKILL.md +56 -0
- package/skills/wix-replatform/resources/rp-quick-woocommerce/quick-mode.json +91 -0
- package/skills/wix-replatform/resources/rp-quick-woocommerce/scripts/quick-mode.js +255 -0
- package/skills/wix-replatform/resources/rp-setup-discovery/SKILL.md +80 -10
- package/skills/wix-replatform/resources/rp-setup-discovery/scripts/quick-setup-plan.js +44 -0
- package/skills/wix-replatform/resources/rp-source-csv/SKILL.md +3 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fileset.js +0 -0
- package/skills/wix-replatform/resources/rp-source-csv/scripts/csv-discovery.js +21 -1
- package/skills/wix-replatform/resources/rp-source-inputs/SKILL.md +66 -0
- package/skills/wix-replatform/resources/rp-source-sfcc/SKILL.md +153 -0
- package/skills/wix-replatform/resources/rp-source-shopify/SKILL.md +394 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/discovery-reads.js +200 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/import-findings.js +34 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-bulk-sqlite-worker.js +44 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-bulk.js +1470 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-cli.js +446 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-gift-cards.js +474 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-protected-fields.js +879 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-session.js +426 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/articles.graphql +24 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/blogs.graphql +18 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/collections.graphql +40 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/customers.graphql +76 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/delivery-profiles.graphql +51 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/discounts.graphql +35 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/files.graphql +20 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/gift-cards.graphql +18 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/inventory.graphql +31 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/locations.graphql +21 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/menus.graphql +21 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/metaobjects.graphql +30 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-core.graphql +150 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-fulfillments.graphql +36 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-refunds.graphql +48 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/pages.graphql +20 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-address.graphql +8 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-email.graphql +6 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-name.graphql +8 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-phone.graphql +8 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-address.graphql +12 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-email.graphql +6 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-name.graphql +13 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-phone.graphql +13 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/products.graphql +73 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/url-redirects.graphql +13 -0
- package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-discovery.js +693 -0
- package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-extract.js +283 -0
- package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-gift-card-remedy.js +191 -0
- package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-session-check.js +115 -0
- package/skills/wix-replatform/resources/rp-source-shopify/source-schema.example.json +201 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/PLUGIN-READ-PLANS.md +146 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/SKILL.md +736 -22
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/blocked-data-handlers.js +73 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/checkout-field-csv-parser.js +115 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/checkout-field-csv-parser.test-fixture.js +91 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/coupon-discovery.js +440 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/currency-gate.js +125 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-source-keys.js +252 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-source-keys.json +183 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-summary.mjs +333 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/invoice-discovery.js +426 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-disposition.js +400 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-entity-read-plan.js +633 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-knowledge.js +1127 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/refund-corroboration.js +194 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/refund-corroboration.json +100 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/sampled-ids-batch.js +157 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/secret-value-guard.js +234 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/store-currency.js +101 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/structure-bridge-reader.js +755 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wix-wp-plugin-v2-client.js +1074 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wix-wp-plugin-v2-client.test-fixture.js +149 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/woo-inventory.js +25 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-http.js +204 -9
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-image-url.js +186 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-plugin-detect.js +1422 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-redirect-sources.js +343 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-route-classifier.js +262 -26
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/yoast-product-seo-evidence.js +272 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/README.md +373 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/advanced-custom-fields.json +101 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/back-in-stock-notifier-for-woocommerce.json +81 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/capabilities-pending-decision.json +128 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/cms-fallback-eligible.json +18 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/contact-form-7.json +104 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/facebook-for-woocommerce.json +44 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/fingerprint-aliases.json +49 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/free-gifts-for-woocommerce.json +94 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/index.json +863 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/mailpoet.json +52 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/membership-for-woocommerce.json +161 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/mwb-bookings-for-woocommerce.json +180 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/no-migration-needed.json +286 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/pricing-deals-for-woocommerce.json +79 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/product-extras-for-woocommerce.json +120 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/pw-woocommerce-gift-cards.json +128 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/requires-development.json +88 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/seo-by-rank-math.json +80 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/seriously-simple-podcasting.json +46 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/strong-testimonials.json +55 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/subscriptions-for-woocommerce.json +99 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/tablepress.json +55 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/the-events-calendar.json +160 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/ti-woocommerce-wishlist.json +81 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-checkout-field-editor-pro.json +60 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-discount-rules.json +74 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-product-bundle.json +75 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-gift-cards.json +60 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-other-payment-gateway.json +44 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-pdf-invoices-packing-slips.json +57 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-product-addon.json +141 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-progressive-discounts.json +54 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wordpress-seo.json +158 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wpc-composite-products.json +97 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wpforms-lite.json +86 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/capture-store-settings.js +90 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/plugin-knowledge-validate.js +51 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/plugin-knowledge.js +103 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-discovery.js +1668 -33
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-plugin-inventory.js +273 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/secret-value-patterns.v1.json +11 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/sub-parts.json +13 -0
- package/skills/wix-replatform/resources/rp-target-wix/SKILL.md +446 -32
- package/skills/wix-replatform/resources/rp-target-wix/app-page-routing-capabilities.json +36 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/README.md +38 -2
- package/skills/wix-replatform/resources/rp-target-wix/domains/SERVICE-PLUGINS.md +322 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/docs-survey.json +70 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/domain.json +19 -9
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/category.json +42 -8
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/comment.json +54 -8
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/post.json +66 -10
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/tag.json +38 -7
- package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/docs-survey.json +332 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/domain.json +75 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/booking.json +181 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/service-add-on.json +130 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/service.json +180 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/docs-survey.json +161 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/domain.json +15 -4
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/collection.json +39 -7
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/data-item.json +47 -8
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/reference.json +7 -1
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/docs-survey.json +204 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/domain.json +17 -4
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/contact.json +159 -15
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/email-subscription.json +80 -12
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/label.json +48 -8
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/docs-survey.json +306 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/domain.json +30 -7
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/delivery-profile.json +171 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/discount-rule.json +182 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-applied-discount.json +129 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-invoice-document.json +192 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item-options.json +123 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item.json +60 -12
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-merchant-note.json +112 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-payment.json +191 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-refund.json +140 -13
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order.json +383 -18
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/pickup-location.json +122 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/shipping-option.json +98 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/wishlist-item.json +86 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/docs-survey.json +128 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/domain.json +38 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/category.json +73 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/event.json +107 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/registration-form.json +89 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/rsvp.json +118 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/ticket-definition.json +93 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/forms/docs-survey.json +86 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/forms/domain.json +56 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/forms/entities/form-submission.json +121 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/forms/entities/form.json +134 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/docs-survey.json +41 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/domain.json +50 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/entities/gift-card-product.json +87 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/entities/gift-card.json +130 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/index.json +914 -24
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/docs-survey.json +41 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/domain.json +14 -4
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-file.json +45 -8
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-folder.json +41 -7
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/docs-survey.json +119 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/domain.json +13 -3
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/badge.json +41 -7
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/custom-field.json +82 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member-about.json +77 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member.json +165 -13
- package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/docs-survey.json +41 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/domain.json +46 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/entities/plan-order.json +137 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/entities/plan.json +133 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/docs-survey.json +7 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/domain.json +36 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/amazon-shop-connect.json +71 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/ebay-shop-connect.json +67 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/google-youtube-connect.json +72 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/meta-catalog-connect.json +74 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/pinterest-catalog-connect.json +69 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/tiktok-catalog-connect.json +61 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/schema.json +28 -1
- package/skills/wix-replatform/resources/rp-target-wix/domains/seo/docs-survey.json +109 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/seo/domain.json +73 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/item-seo-tags.json +148 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/seo-pattern.json +91 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/site-seo-tags.json +79 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/site/docs-survey.json +32 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/site/domain.json +49 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/site/entities/business-contact.json +103 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/docs-survey.json +203 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/domain.json +27 -10
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/back-in-stock-request.json +119 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/brand.json +111 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/category.json +52 -8
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/coupon.json +214 -10
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/inventory-item.json +93 -13
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-customization.json +111 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-tag.json +52 -10
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product.json +145 -14
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/promotion.json +84 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/review.json +178 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/subscription-product.json +87 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/docs-survey.json +106 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/domain.json +64 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/manual-tax-mapping.json +119 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-group.json +94 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-region.json +113 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-settings.json +65 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-author-attribution.js +165 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-client.js +60 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-duplicates.js +201 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-ledger.js +306 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-report.js +229 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-stage.js +55 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build.js +715 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-media.js +567 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/bulk-results.js +73 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/contact-extended-fields.js +194 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/contact-import.js +133 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/contract-ledger.js +13 -4
- package/skills/wix-replatform/resources/rp-target-wix/lib/coupon-redemption-drift.js +491 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/customer-member.js +104 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/data-extension-schema.js +673 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/domain-knowledge.js +453 -2
- package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-balance-reconciliation.js +119 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-build.js +566 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-redemption-build.js +249 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-applied-discount-build.js +63 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-buyer.js +187 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-channel-build.js +64 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-history.js +1027 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-invoice-contract.js +90 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-payment-mapping.js +420 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/pricing-plan-definition.js +177 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/product-import.js +151 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/product-seo.js +723 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/seo-redirects.js +353 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/shipping-build.js +1437 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/shipping-option-stage.js +354 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/store-config-build.js +134 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/stores-category-attach.js +221 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/stores-inventory.js +248 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/stores-verification.js +86 -3
- package/skills/wix-replatform/resources/rp-target-wix/lib/tax-build.js +231 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/url-mapper-transport.js +28 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/value-utils.js +14 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/variant-correlation.js +34 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-build.js +166 -15
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-target-spec.js +19 -2
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-writers.js +4079 -257
- package/skills/wix-replatform/resources/rp-target-wix/lib/write-verification.js +3 -0
- package/skills/wix-replatform/resources/rp-target-wix/scripts/docs-survey-sync.js +150 -0
- package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge-validate.js +40 -2
- package/skills/wix-replatform/resources/rp-target-wix/scripts/verify-stores.js +6 -1
- package/skills/wix-replatform/resources/rp-telemetry/SKILL.md +148 -8
- package/skills/wix-replatform/resources/rp-telemetry/lib/bi-sink.js +83 -15
- package/skills/wix-replatform/resources/rp-telemetry/lib/telemetry-recorder.js +1119 -215
- package/skills/wix-replatform/resources/rp-telemetry/lib/transcript-digest.js +318 -0
- package/skills/wix-replatform/resources/rp-telemetry/scripts/meter-from-audit.js +2 -2
- package/skills/wix-replatform/resources/rp-telemetry/scripts/rp-telemetry.js +106 -4
- package/skills/wix-replatform/resources/rp-website-continuation/SKILL.md +94 -0
- package/skills/wix-replatform/scripts/census-reconciliation.js +25 -0
- package/skills/wix-replatform/scripts/cms-fallback.js +89 -0
- package/skills/wix-replatform/scripts/discovered-census.js +26 -0
- package/skills/wix-replatform/scripts/discovered-set-status.js +33 -0
- package/skills/wix-replatform/scripts/entity-qa-attestation.js +130 -0
- package/skills/wix-replatform/scripts/execution-health-check.js +415 -0
- package/skills/wix-replatform/scripts/execution-manifest-validate.js +1 -1
- package/skills/wix-replatform/scripts/execution-state-prepare.js +1 -1
- package/skills/wix-replatform/scripts/expectations-ledger.js +44 -0
- package/skills/wix-replatform/scripts/import-contract-verify.js +183 -0
- package/skills/wix-replatform/scripts/internal-link-audit.js +90 -0
- package/skills/wix-replatform/scripts/item-seo-tags-verify.js +205 -0
- package/skills/wix-replatform/scripts/migration-completion.js +76 -0
- package/skills/wix-replatform/scripts/orchestration-preflight.js +21 -2
- package/skills/wix-replatform/scripts/orchestration-route.js +32 -1
- package/skills/wix-replatform/scripts/orchestration-state.js +146 -10
- package/skills/wix-replatform/scripts/read-back-gate.js +175 -0
- package/skills/wix-replatform/scripts/replatform-console.js +146 -0
- package/skills/wix-replatform/scripts/replatform.js +436 -0
- package/skills/wix-replatform/scripts/source-secrets.js +77 -0
- package/skills/wix-replatform/scripts/url-redirects.js +286 -0
- package/skills/wix-replatform/scripts/user-action.js +58 -0
- package/skills/wix-replatform/scripts/website-handoff-generate.js +64 -0
- package/skills/wix-replatform/scripts/wix-dashboard-url.js +54 -0
- package/skills/wix-replatform/scripts/wix-destination.js +143 -0
- package/skills/wix-replatform/scripts/wix-headless-scaffold.js +762 -0
- package/skills/wix-vibe-headless/SKILL.md +7 -3
- package/skills/wix-vibe-headless/install/deploy.cjs +61 -34
- package/skills/wix-vibe-headless/platforms/base44.md +1 -0
- package/skills/wix-vibe-headless/references/donations/INSTRUCTIONS.md +88 -0
- package/skills/wix-vibe-headless/references/donations/app/rest/wix-donations.js +112 -0
- package/skills/wix-vibe-headless/references/donations/seed/SEED.md +11 -0
- package/skills/wix-vibe-headless/references/donations/tests/donations.test.mjs +258 -0
- package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +5 -2
- package/skills/wix-vibe-headless/references/restaurants/app/context/OrderCartContext.jsx +4 -1
- package/skills/wix-vibe-headless/references/restaurants/app/rest/wix-restaurants-ordering.js +67 -3
- package/skills/wix-vibe-headless/references/shared/app/rest/wix-client.js +4 -3
- package/skills/wix-manage/references/custom-apps/use-app-skills-and-app-tools.md +0 -208
- package/skills/wix-replatform/resources/rp-target-wix/SPEC-product-reviews-and-blog-authorship.md +0 -330
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "How to Code Donations"
|
|
3
|
+
description: Read Wix Donations campaigns and accept one-time or recurring donations through Cart V2 and a Headless redirect session. Covers numeric cart amounts, omitted one-time frequency, donor selections, misleading catalog errors and staged verification; does not create campaigns or prescribe hosting.
|
|
4
|
+
---
|
|
5
|
+
# Accept a donation on a Headless site
|
|
6
|
+
|
|
7
|
+
Use existing Wix Donations campaigns; setup/editing belongs to
|
|
8
|
+
[the management recipe](../../../wix-manage/references/donations/create-and-update-donation-campaigns.md).
|
|
9
|
+
Read the [donor-experience guidance](experience-donations.md) when building
|
|
10
|
+
the UI. Resolve sibling links locally when installed; otherwise read the same repository path under
|
|
11
|
+
`https://www.wix.com/skills/`. This contract is independent of framework and hosting.
|
|
12
|
+
|
|
13
|
+
## 1. Read the campaign as the donor will
|
|
14
|
+
|
|
15
|
+
Use one visitor identity per browser session; reuse the existing auth/transport. A public OAuth client
|
|
16
|
+
ID is not a secret; API keys, app secrets and owner tokens never belong in the browser. Confirm the
|
|
17
|
+
client targets the supplied content site. Do not require donor login or provision a replacement site.
|
|
18
|
+
|
|
19
|
+
| Need | REST call and minimal body | SDK equivalent |
|
|
20
|
+
| --- | --- | --- |
|
|
21
|
+
| Discover campaigns | `POST https://www.wixapis.com/donation-campaigns/v2/donation-campaigns/query` · `{ "query": { "filter": { "archived": false }, "cursorPaging": { "limit": 100 } } }` | `donationCampaigns.queryDonationCampaigns().eq('archived', false).limit(100).find()` |
|
|
22
|
+
| Campaign detail | `GET https://www.wixapis.com/donation-campaigns/v2/donation-campaigns/<ID>` | `donationCampaigns.getDonationCampaign(id)` |
|
|
23
|
+
| Goal metrics, only with a goal and permitted access | `GET https://www.wixapis.com/donation-campaigns/v2/donation-campaigns/<ID>/metrics` | `donationCampaigns.getDonationCampaignMetrics(id)` |
|
|
24
|
+
|
|
25
|
+
REST returns `donationCampaigns` / `donationCampaign`; SDK queries return `items`, SDK entities use
|
|
26
|
+
`_id`. Continue query paging with the returned cursor. Resolve detail routes from live IDs, not a
|
|
27
|
+
seed-time list; missing/archived campaigns are unavailable, not a fallback to the first campaign.
|
|
28
|
+
Offer giving only when `status === 'COLLECTING'` and not archived. Reaching a goal does not close a
|
|
29
|
+
campaign if it allows further donations. A refused query is an error, not an empty campaign list.
|
|
30
|
+
|
|
31
|
+
Render from `donationFrequencies`, `predefinedDonationAmounts[].price` and `.description`,
|
|
32
|
+
`customAmountEnabled` / `customAmountOptions`, `commentsEnabled`, `askDonorCoverFee`, and optional
|
|
33
|
+
`campaignGoal`. Currency is the site's default; use formatted API values or a verified currency code,
|
|
34
|
+
never assume USD. A metrics failure must not invent a raised total, donor count or currency.
|
|
35
|
+
Campaign story copy is site-authored; the entity has no story or slug.
|
|
36
|
+
|
|
37
|
+
Carry an explicitly chosen giving frequency through discovery and campaign links to the form, but
|
|
38
|
+
only when that campaign offers it. Retain later donor edits. Keep a short-lived, site/visitor/campaign-
|
|
39
|
+
scoped draft (preset/custom amount, cadence, fee, note) across refresh and checkout abandonment; notes
|
|
40
|
+
never belong in query strings or logs. Restore and revalidate against live settings before allowing
|
|
41
|
+
checkout. Do not clear the draft merely because a return URL was visited; see the shared experience
|
|
42
|
+
reference for recovery and accessible form requirements. This is UI state, not an extra Wix API.
|
|
43
|
+
|
|
44
|
+
Docs: [query](https://dev.wix.com/docs/api-reference/business-solutions/donations/donation-campaigns/query-donation-campaigns),
|
|
45
|
+
[get](https://dev.wix.com/docs/api-reference/business-solutions/donations/donation-campaigns/get-donation-campaign),
|
|
46
|
+
[metrics and permissions](https://dev.wix.com/docs/api-reference/business-solutions/donations/donation-campaigns/get-donation-campaign-metrics).
|
|
47
|
+
For SDK shapes read their `.md?apiView=SDK` views. Modules: `donationCampaigns` from `@wix/donations`,
|
|
48
|
+
`cartV2` from `@wix/ecom`, `redirects` from `@wix/redirects`, on the project's existing SDK client or
|
|
49
|
+
ambient auth. REST-only projects do not install an SDK just for this flow.
|
|
50
|
+
|
|
51
|
+
## 2. Build the catalog reference correctly
|
|
52
|
+
|
|
53
|
+
**Campaign prices are decimal strings; cart `options.amount` must be a JSON number.** Convert and
|
|
54
|
+
validate before the request. `ONE_TIME` belongs to the campaign/UI enum; **omit `frequency` from
|
|
55
|
+
the cart options for one-time giving**. Only `WEEK`, `MONTH`, `YEAR` are recurring cart values.
|
|
56
|
+
|
|
57
|
+
```js
|
|
58
|
+
const amount = Number(selectedAmount);
|
|
59
|
+
if (!Number.isFinite(amount) || amount <= 0) throw new Error('Enter a positive donation amount.');
|
|
60
|
+
// Before this: validate against the selected campaign's presets/custom limits and offered frequency.
|
|
61
|
+
const catalogItems = [{
|
|
62
|
+
quantity: 1,
|
|
63
|
+
catalogReference: {
|
|
64
|
+
appId: '333b456e-dd48-4d6b-b32b-9fd48d74e163',
|
|
65
|
+
catalogItemId: campaignId,
|
|
66
|
+
options: {
|
|
67
|
+
amount,
|
|
68
|
+
...(frequency !== 'ONE_TIME' ? { frequency } : {}),
|
|
69
|
+
...(askDonorCoverFee && donorOptedIn ? { donorCoveringFees: true } : {}),
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
}];
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Validate a nonempty amount first: `Number('')` is zero, not a donor selection. Honor the campaign's
|
|
76
|
+
allowed choices. Put an enabled donor message in `cart.note` (Cart V2 limit 1,000 characters), not
|
|
77
|
+
invented catalog options. Fee coverage adds the documented 2.9% **through the flag**; send the base
|
|
78
|
+
donation amount, not a locally inflated amount plus the flag. Recurring coverage applies per charge.
|
|
79
|
+
Do not create custom-priced items to bypass campaign rules.
|
|
80
|
+
[Donation catalog-reference contract](https://dev.wix.com/docs/api-reference/business-solutions/donations/donation-campaigns/e-commerce-integration-with-donation-campaigns).
|
|
81
|
+
|
|
82
|
+
## 3. Create a fresh Cart V2, then a redirect session
|
|
83
|
+
|
|
84
|
+
Use the same visitor identity throughout. Keep this separate from the shopper's current merchandise
|
|
85
|
+
cart. New Cart V2 flows have **no separate Create Checkout call**; the returned cart ID is the ID
|
|
86
|
+
handed to `ecomCheckout.checkoutId`. Do not mix in the V1 create-checkout-from-cart step.
|
|
87
|
+
[Cart V2 migration](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/purchase-flow/cart-v2/migration-guide).
|
|
88
|
+
|
|
89
|
+
| Step | REST request | Result |
|
|
90
|
+
| --- | --- | --- |
|
|
91
|
+
| Create cart | `POST https://www.wixapis.com/ecom/v2/carts` · `{ "cart": { "source": { "channelType": "WEB" } }, "catalogItems": [...] }` (the numeric reference above; optional `cart.note`) | `cart.id` |
|
|
92
|
+
| Inspect calculated totals during verification | `POST https://www.wixapis.com/ecom/v2/carts/<CART_ID>/calculate` · `{}` | `cart` and `summary`; inspect the donation line, currency, calculated amounts and issues |
|
|
93
|
+
| Create redirect session | `POST https://www.wixapis.com/_api/redirects-api/v1/redirect-session` · `{ "ecomCheckout": { "checkoutId": "<CART_ID>" }, "callbacks": { "postFlowUrl": "<ORIGIN>/donate/<ID>", "thankYouPageUrl": "<ORIGIN>/donate/thank-you" } }` | `redirectSession.fullUrl` |
|
|
94
|
+
|
|
95
|
+
SDK: `cartV2.createCart({ cart: { source: { channelType: 'WEB' }, ...(note ? { note } : {}) }, catalogItems })`
|
|
96
|
+
returns a cart with `_id`; pass it to `redirects.createRedirectSession` with the same body as above.
|
|
97
|
+
Navigate the **full document** to the exact returned URL (`window.location.assign(fullUrl)`), not an
|
|
98
|
+
SPA router, iframe, guessed checkout URL or manually created order.
|
|
99
|
+
|
|
100
|
+
Use actual, reachable callback routes on the deployed origin; the external origin must be allowed
|
|
101
|
+
on the OAuth client. `postFlowUrl` is also used on abandonment: it is not a paid signal. A success
|
|
102
|
+
callback may carry `orderId`; confirm order/payment state through an authorized read before stating
|
|
103
|
+
that a donation was paid. Never grant owner access just to populate a public thank-you page.
|
|
104
|
+
|
|
105
|
+
Docs: [create cart](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/purchase-flow/cart-v2/create-cart),
|
|
106
|
+
[calculate](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/purchase-flow/cart-v2/calculate-cart),
|
|
107
|
+
[redirect session](https://dev.wix.com/docs/api-reference/business-management/headless/redirects/create-redirect-session).
|
|
108
|
+
On a Kit build, call its shipped `donationCheckoutUrl` / form instead of rebuilding this sequence.
|
|
109
|
+
|
|
110
|
+
## 4. Diagnose the failed stage, not a guessed cause
|
|
111
|
+
|
|
112
|
+
- `ITEM_NOT_FOUND_IN_CATALOG`: first inspect the exact donation app ID, campaign ID, **numeric**
|
|
113
|
+
`options.amount`, and one-time frequency omission. Check the campaign on the same site/identity.
|
|
114
|
+
The error alone is not proof of a missing campaign, a missing app, or a premium requirement.
|
|
115
|
+
- Keep status, application error code/body and failing stage available to the developer, with tokens,
|
|
116
|
+
checkout-session URLs and donor data redacted. Give the donor a recoverable inline message. Never
|
|
117
|
+
replace every error with an unexplained generic failure or convert failures to empty/success states.
|
|
118
|
+
- Keep the form disabled while creating the cart/session. Do not run both add-to-current-cart and
|
|
119
|
+
donate handlers on the same action. Do not silently retry cart creation after a timeout or redirect
|
|
120
|
+
failure; inspect/reuse the known cart when possible rather than duplicating the action.
|
|
121
|
+
- Distinguish API handoff from payment acceptance. Cart/session creation can succeed before live
|
|
122
|
+
payments are enabled. A payments-capable plan and connected, eligible provider are separate
|
|
123
|
+
go-live checks; recurring donations also need recurring support. Do not hardcode either “premium
|
|
124
|
+
is never required” or “every checkout error means upgrade”.
|
|
125
|
+
[Payment setup](https://support.wix.com/en/article/wix-donations-adding-and-setting-up-wix-donations).
|
|
126
|
+
|
|
127
|
+
## 5. Verify before handoff
|
|
128
|
+
|
|
129
|
+
For a build accepting donations, run a bounded API smoke test with an **anonymous visitor token**,
|
|
130
|
+
not the owner's token: read a real campaign → create a cart with one numeric donation line → calculate
|
|
131
|
+
and inspect it → create the redirect session. Use the exact requests above with `curl --fail-with-body`,
|
|
132
|
+
`Authorization: <VISITOR_TOKEN>` and `Content-Type: application/json`; mint that identity, when needed,
|
|
133
|
+
with `POST https://www.wixapis.com/oauth2/token`, body
|
|
134
|
+
`{ "clientId": "<PUBLIC_CLIENT_ID>", "grantType": "anonymous" }` → `access_token` / `refresh_token`.
|
|
135
|
+
Confirm permission for this test before creating its cart; do not seed or mutate campaigns to make
|
|
136
|
+
the test pass. Stop at the failing stage and preserve the sanitized response; never loop blind retries.
|
|
137
|
+
|
|
138
|
+
Check one-time and an offered recurring selection, custom bounds and correction, fee on/off when
|
|
139
|
+
offered, and notes when enabled. Local/mocked checks do not prove live API permissions. In a browser,
|
|
140
|
+
check discovery and form first screens at desktop, 390px and 320px widths, plus keyboard/error behavior.
|
|
141
|
+
Follow a monthly entry through cause selection; confirm its cadence, then cancel/back from checkout
|
|
142
|
+
and refresh to verify the donor's choices survive without implying payment. Confirm hosted checkout
|
|
143
|
+
shows the intended cause, amount, currency and cadence; a resized desktop viewport alone does not
|
|
144
|
+
verify the mobile checkout. **Do not submit a payment** without
|
|
145
|
+
explicit authorization for that transaction and amount. Handoff states which levels passed (API,
|
|
146
|
+
hosted checkout, payment/return), what was blocked, and which setup remains; no mandatory report file.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Set Up Donations"
|
|
3
|
+
description: Set up Wix Donations campaigns through the shared management recipe; reuse existing campaigns and keep configuration separate from the donor-facing implementation.
|
|
4
|
+
---
|
|
5
|
+
# Set up Donations
|
|
6
|
+
|
|
7
|
+
Read [Create and Update Donation Campaigns](../../../wix-manage/references/donations/create-and-update-donation-campaigns.md)
|
|
8
|
+
and execute its read-before-write flow with this project's owner-authorized credentials and site ID.
|
|
9
|
+
If the sibling skill is not installed, read
|
|
10
|
+
`https://www.wix.com/skills/wix-manage/references/donations/create-and-update-donation-campaigns.md`.
|
|
11
|
+
|
|
12
|
+
Reuse the supplied site's campaigns. Only create/edit the causes and settings the user approved;
|
|
13
|
+
do not manufacture a goal, deadline or impact claim. Keep any created campaign IDs only for setup
|
|
14
|
+
verification/media attachment; the frontend discovers campaigns live. The donation form and checkout
|
|
15
|
+
are [How to Code Donations](how-to-code-donations.md), not this setup operation.
|
|
@@ -108,7 +108,7 @@ Either way, `CONTENT.md` §1 (the business's category must read literally above
|
|
|
108
108
|
a page a first-time visitor can't identify isn't done yet, regardless of voice.
|
|
109
109
|
|
|
110
110
|
**If a loaded vertical ships an experience overlay** — `references/inline-recipes/experience-<vertical>.md`
|
|
111
|
-
(today: `experience-store.md`) — read it after `DESIGN.md`/`CONTENT.md`. It carries that vertical's own
|
|
111
|
+
(today: `experience-store.md`, `experience-donations.md`) — read it after `DESIGN.md`/`CONTENT.md`. It carries that vertical's own
|
|
112
112
|
design and copy bar (what its surfaces must show, how to derive the direction from its content); the
|
|
113
113
|
general files stay the floor.
|
|
114
114
|
|
|
@@ -86,19 +86,74 @@ doesn't express — or once the site exists and the work turns to managing or ex
|
|
|
86
86
|
content seed) — the index fills within about half a minute of the install. Playbook:
|
|
87
87
|
`templates/shared/capabilities/site-search/INSTRUCTIONS.md`.
|
|
88
88
|
|
|
89
|
+
### The scripts
|
|
90
|
+
|
|
91
|
+
`<SKILL_ROOT>/install/` holds plain Node scripts, no build step, each with a header comment that
|
|
92
|
+
says what it does and how it is called. They are the deterministic steps of the run: each copies,
|
|
93
|
+
composes, installs or seeds, and prints one JSON object (or one JSON event per line) saying what it
|
|
94
|
+
found and did. Read any of them when you want to know what a step does before running it, or when a
|
|
95
|
+
step's output surprises you; the templates' seed modules are the reference for the Wix calls a
|
|
96
|
+
vertical needs, in the order that works.
|
|
97
|
+
|
|
98
|
+
| Script | Does |
|
|
99
|
+
|---|---|
|
|
100
|
+
| `templates.mjs` | Finds the shipped code (the `wix-headless-templates` skill beside this one), or fetches it once as a sparse clone; prints its folder. |
|
|
101
|
+
| `context.mjs` | Reads `wix.config.json` and `.env.local`, pulls the env on the CLI route when it is missing, and prints the folder's shape, the deploy site and the content site, the publisher (`cli` or `plugin`), whether npm reaches the registry, and whether the upload tool's S3 host answers from this shell (`carrier.s3`). Changes nothing. |
|
|
102
|
+
| `setup.mjs` | One call from the folder and the brief to a project ready for the brand layer: scaffolds (or, with `--site --app`, copies the composed template and writes the config and env), deploys the vertical's code, writes the agent config files, starts the install, and seeds a site it created. |
|
|
103
|
+
| `attach.mjs` | `setup.mjs` for a site that already exists: does what `wix create` does after creating one (OAuth app, hosting, env, `wix.config.json`) against the site id given, then scaffolds, deploys and installs; seeds only with `--plan`; with `--hosting self`, puts the given origins on the OAuth app's allow-list instead of Wix hosting. |
|
|
104
|
+
| `deploy.mjs` | Composes a vertical's code layers into the project for the stack (`astro`, `react`, `lib`, `static`), adds its dependencies, and keeps the lock valid for `npm ci` (`lock.mjs`). |
|
|
105
|
+
| `install.mjs` | The one dependency install: decides none, `npm install` or `npm ci` from the lock and what `node_modules` already holds; writes `.install-exit`. |
|
|
106
|
+
| `bootstrap.mjs` | CLI route only: checks the Wix CLI and runs the device-code login, one JSON event per line. |
|
|
107
|
+
| `check.mjs` | Compares this installed skill and its templates with the repository they came from; read-only, prints the commands that would update. |
|
|
108
|
+
| `agents-md.mjs`, `env-ignore.mjs` | Write a new project's `AGENTS.md`, `CLAUDE.md` and `.gemini/settings.json`; keep `.env.local` out of git. |
|
|
109
|
+
| `proc.mjs`, `background.mjs`, `pins.json` | npm and npx started the same way on every OS; the detached install and seed; the pinned CLI and template versions. |
|
|
110
|
+
| `templates/<vertical>/seed/seed-*.mjs`, `read-site.mjs` | The vertical's seed from a plan, and a read of what the site already holds. `SEED.md` beside them is the plan's contract. |
|
|
111
|
+
|
|
89
112
|
## The run
|
|
90
113
|
|
|
91
|
-
Needed throughout: Node ≥
|
|
92
|
-
`
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
114
|
+
Needed throughout: Node ≥ 24.18, git, the two companion skills installed beside this one,
|
|
115
|
+
`wix-docs` and `wix-manage`, and one of two ways to Wix. `node <SKILL_ROOT>/install/context.mjs`
|
|
116
|
+
prints which one this machine has, as `publisher`:
|
|
117
|
+
|
|
118
|
+
- **`plugin`** — no Wix CLI session on this machine; the Wix MCP's tools are in your tool list
|
|
119
|
+
(`ExecuteWixAPI`, `UploadHeadlessWebsiteFiles`: a Wix plugin or connector, connected); and `npm`
|
|
120
|
+
reaches the registry, so the kit runs here. The MCP carries the user's login. The site is provisioned through `ExecuteWixAPI` with the recipe
|
|
121
|
+
`wix-manage/references/sites/create-headless-site.md` (the provision call returns the
|
|
122
|
+
`metaSiteId` and the site's OAuth client `appId`); step 3's setup takes both as `--site` and
|
|
123
|
+
`--app` and runs no CLI; the seed is an `ExecuteWixAPI` script written from the vertical's
|
|
124
|
+
`SEED.md` (`guides/api-run.md` section 4); the release is `npx astro build`, then the build
|
|
125
|
+
uploaded with `UploadHeadlessWebsiteFiles` (step 5), attached in one call where the client shows
|
|
126
|
+
`attachments` as a local path, or in two calls with `curl` to the URLs the first returns, from a
|
|
127
|
+
shell that reaches the internet (the URLs are on Amazon S3; `curl -sI -m 25 https://s3.amazonaws.com`
|
|
128
|
+
answers with S3's own headers where they work, `x-amz-request-id` and usually `Server: AmazonS3`,
|
|
129
|
+
and a sandbox limited to a few hosts gets a proxy's refusal with neither). The tool releases the build to the site's Wix hosting, stores the project's source in the
|
|
130
|
+
site's Code Store repository, and returns the live URL. The plugin route asks for no login.
|
|
131
|
+
**The carrier is settled before the build**, from `context.mjs`'s `carrier.s3` and from whether
|
|
132
|
+
the client hands `attachments` over as files (the tool's `attachments` description names the
|
|
133
|
+
clients that do): with neither, the Astro build has no way to the site and the run is
|
|
134
|
+
`guides/api-run.md`, the site, the apps and the seed through `ExecuteWixAPI` and the frontend as
|
|
135
|
+
a few small static pages dropped in the tool's `files` form, written against the kit's REST
|
|
136
|
+
twins and cores as reference (its step 5); the compose is not run, since every file it writes
|
|
137
|
+
would have to be written out as text.
|
|
138
|
+
- **`cli`** — where the Wix MCP is not connected, or a Wix CLI session is already on this machine:
|
|
139
|
+
a logged-in Wix CLI (`npx @wix/cli@latest whoami`; `npx @wix/cli@latest login` is a
|
|
140
|
+
device-code flow: surface the URL and code to the user, never read tokens into context).
|
|
141
|
+
`node <SKILL_ROOT>/install/bootstrap.mjs` checks the CLI and runs the login when there is none;
|
|
142
|
+
`wix create`, `wix env pull` and `wix release` do what the steps below say.
|
|
143
|
+
|
|
144
|
+
The cold-start page, `https://www.wix.com/skills/headless-cold-start/headless-kit.md`, gets a
|
|
145
|
+
machine with none of this, the skills included, to that point. The four skills this run reads
|
|
146
|
+
(`wix-headless-kit`, `wix-headless-templates`, `wix-docs`, `wix-manage`) are on disk after that
|
|
147
|
+
install (`.agents/skills/`, or a plugin's folder), or served by the client's skill tool (text to
|
|
148
|
+
read, not files: the scripts and the templates run only from disk), or online at
|
|
149
|
+
`https://www.wix.com/skills/<skill>/<path>`, where `<skill>.manifest.json` lists every file with its
|
|
150
|
+
size and a folder's `_content` returns its files at once; `<SKILL_ROOT>` below is the kit's folder
|
|
151
|
+
on disk. In a folder that
|
|
97
152
|
already holds a `wix.config.json`, `node <SKILL_ROOT>/install/context.mjs` first: it runs
|
|
98
|
-
`wix env pull` when `.env.local` is missing and prints the folder's **shape**
|
|
99
|
-
cases of step 3, with the `next` for each) and the two identities a project
|
|
100
|
-
(the config, where
|
|
101
|
-
as and whose dashboard manages the business). They are one site, except on a **migration preview**
|
|
153
|
+
`wix env pull` when `.env.local` is missing (on the CLI route) and prints the folder's **shape**
|
|
154
|
+
(`folder.shape`, the cases of step 3, with the `next` for each) and the two identities a project
|
|
155
|
+
has — the deploy site (the config, where the release goes) and the content site (the env, whose
|
|
156
|
+
app the SDK client runs as and whose dashboard manages the business). They are one site, except on a **migration preview**
|
|
102
157
|
(`guides/migration.md`), where the env names the site being migrated. Every script here reads that
|
|
103
158
|
context; the site a call targets is never guessed from the config alone. Then fetch the shipped
|
|
104
159
|
code once: `node <SKILL_ROOT>/install/templates.mjs`. It prints the folder; the `templates/…`
|
|
@@ -191,10 +246,10 @@ only after an explicit yes, never automatically. Step 5 ends with the same self-
|
|
|
191
246
|
|
|
192
247
|
| the folder holds | shape | what setup does | seeded by setup |
|
|
193
248
|
|---|---|---|---|
|
|
194
|
-
| nothing, or loose files (a CSV, a brief) | **empty** → create | `wix create` with the vertical's composed template, here; `--business-name` names the site | **yes**, from `--plan` |
|
|
249
|
+
| nothing, or loose files (a CSV, a brief) | **empty** → create | `wix create` with the vertical's composed template, here; `--business-name` names the site. On the plugin route, `--site <metaSiteId> --app <appId>`: the ids the provision call returned for a new site, or, for a site that exists with no project (a dropped site), its id and the companion app's id from `get-or-create` (`guides/existing-site.md`); the composed template is copied in and `wix.config.json` and `.env.local` written for that site, no CLI | **yes**, from `--plan`, on the CLI route. On the plugin route setup takes no `--plan` and seeds nothing: the plan is seeded through `ExecuteWixAPI` (`guides/api-run.md` section 4) |
|
|
195
250
|
| a frontend, no config (a `package.json`, or `index.html` at the root: someone's Astro, Vite, Next, plain HTML) | **project** → adopt | `init` in place gives it a new, empty site, then deploys; `--stack` from step 1 is required; make the project what that stack needs on Wix hosting (step 1) before or right after | **yes**, from `--plan` |
|
|
196
251
|
| a config whose `.env.local` declares an active editor migration (`EDITOR_MIGRATION_STATUS=ACTIVE`), with or without the blank Astro starter the download carries | **migration** → migrate | the shipped code into the starter (or the composed template around a bare config), deployed with the migrated site's app as the client, the install starts; `ready_for_brand_layer` says `mode: "migrate"`, the parent as `siteId`, the child as `deploySiteId` (`guides/migration.md`) | no, ever |
|
|
197
|
-
| a config, no frontend | **config-only** → refuses | the site exists and has no frontend yet: `attach.mjs` (below) takes the site from the config, reuses its hosting, scaffolds and deploys. That config is what `init` leaves behind, and `init` always creates a site: this site was made for this run and is empty | **yes**: draft the plan as for create, then `attach.mjs --plan` |
|
|
252
|
+
| a config, no frontend | **config-only** → refuses | the site exists and has no frontend yet: on the CLI route `attach.mjs` (below) takes the site from the config, reuses its hosting, scaffolds and deploys; on the plugin route `setup.mjs --site --app` with the config's ids, in an empty folder, then the build released by `UploadHeadlessWebsiteFiles` (`guides/existing-site.md`). That config is what `init` leaves behind, and `init` always creates a site: this site was made for this run and is empty | **yes**: draft the plan as for create, then `attach.mjs --plan` |
|
|
198
253
|
| a config and a frontend (a `package.json`, or `index.html` inside the folder `site.outputDirectory` names) | **wix-project** → refuses | iterate: never scaffold, `init` or reseed. `deploy.mjs <vertical…> --stack <stack>` adds a solution (the client id comes from `.env.local`, the config as the fallback), then one install, `node <SKILL_ROOT>/install/install.mjs` (nothing when `node_modules` already satisfies the lock); a change is file edits; then release | no |
|
|
199
254
|
| a config, a `package.json`, `public/index.html` and no `src/pages/` (a site published through the drop flow, on its Wix Dev Machine) | **static-in-astro** → refuses | the pages stay plain files in `public/`: `deploy.mjs <vertical…> --stack static --out public` puts the REST layer in `public/js/wix/`, the pages are wired in place (reference mode), and no Astro pages are added; release with `build` then `release`, the URL stays | no |
|
|
200
255
|
| a config and the CLI's blank Astro starter with no work of its own (`wix-astro-blank`, only the blank template's packages: a Dev Machine's never-released site, a bare `wix create`) | **blank-starter** → refuses | `attach.mjs --business-name <brand> --vertical <v…> [--plan plan.json]` on the config's site: the vertical's composed template takes the starter's place (its lockfile with it), the install and the seed start detached; build the brand layer while they run | **yes**, from `--plan`: the site was made for this run and is empty, unless `read-site.mjs` shows content |
|
|
@@ -226,7 +281,8 @@ only after an explicit yes, never automatically. Step 5 ends with the same self-
|
|
|
226
281
|
|
|
227
282
|
`--vertical` is required and picks which shipped code deploys AND which seed runs. The
|
|
228
283
|
`ready_for_brand_layer` event says `mode` (`create`, `adopt`, `migrate`, `published-static`),
|
|
229
|
-
`shape`, the stack, and the `next` for that stack, including how
|
|
284
|
+
`shape`, the stack, `publisher` (`cli` or `plugin`), and the `next` for that stack, including how
|
|
285
|
+
it releases.
|
|
230
286
|
|
|
231
287
|
setup scaffolds with `--skip-git`: it composes its own steps and leaves version control to
|
|
232
288
|
you / the enclosing repo, so it does **not** create the scaffold's usual git repo + initial
|
|
@@ -256,6 +312,10 @@ only after an explicit yes, never automatically. Step 5 ends with the same self-
|
|
|
256
312
|
A code change on an existing project is done when it is **released** (step 5) and the live
|
|
257
313
|
URL shows it — not when a dev server or a local build shows it. A management change (a
|
|
258
314
|
recipe against the site) needs no release; the frontend reads it live.
|
|
315
|
+
A site released through the upload tool keeps its source in its Code Store repository: a later
|
|
316
|
+
change, in any session, downloads it (`guides/existing-site.md`), edits, builds and uploads with
|
|
317
|
+
the downloaded revision as `expectedHeadRevisionId`. One site keeps one writer path: such a site
|
|
318
|
+
is not changed through `wix release` or a plain drop.
|
|
259
319
|
|
|
260
320
|
4. **Design and build the presentation while the install finishes** — in the project dir from
|
|
261
321
|
the `ready_for_brand_layer` event, per the vertical's `INSTRUCTIONS.md`: set the `@theme`
|
|
@@ -284,7 +344,34 @@ only after an explicit yes, never automatically. Step 5 ends with the same self-
|
|
|
284
344
|
exit code is the result and its stdout is the JSON — wait on the process (a foreground run,
|
|
285
345
|
or `wait` on its pid), not on a file. Then
|
|
286
346
|
**build & release once** (managed), as the `next` of the `ready_for_brand_layer` event says
|
|
287
|
-
for the stack: Astro → `npx @wix/cli@latest build` then
|
|
347
|
+
for the stack and the publisher: Astro on the CLI route → `npx @wix/cli@latest build` then
|
|
348
|
+
`npx @wix/cli@latest release`; Astro on the plugin route → `npx astro build` from the project
|
|
349
|
+
root, then `UploadHeadlessWebsiteFiles` with the site's `siteId`, in one of two forms (the `next`
|
|
350
|
+
carries the zip commands, with Python's `zipfile` where there is no `zip` binary):
|
|
351
|
+
- **attached**, one call: the project zipped without `node_modules` (`.wix/build-metadata.json`
|
|
352
|
+
and `dist/` in it), passed as `attachments`. The build is released and the source in the same
|
|
353
|
+
zip is stored.
|
|
354
|
+
- **two calls**, from a shell that reaches the internet (the upload URLs are on Amazon S3:
|
|
355
|
+
`curl -sI -m 25 https://s3.amazonaws.com` answers with S3's own headers where they work,
|
|
356
|
+
`x-amz-request-id` and usually `Server: AmazonS3`; a sandbox limited to a few hosts gets a
|
|
357
|
+
proxy's refusal with neither, and cannot release a build this way): the build zip (`zip -qr build.zip dist .wix`) and the source zip, the project
|
|
358
|
+
without `node_modules`, `dist`, `.wix`, `.astro`, `.env*`, `.agents`
|
|
359
|
+
(`zip -qr source.zip . -x 'node_modules/*' 'dist/*' '.wix/*' '.astro/*' '.agents/*' '.env*' 'build.zip'`).
|
|
360
|
+
First `{ siteId, prepare: true, size }`, `size` being `wc -c < build.zip`: the reply gives a
|
|
361
|
+
`curl -X PUT ... --data-binary @build.zip "<putUrl>"`, one for the source zip when the site's
|
|
362
|
+
repository takes it, the repository's `headRevisionId`, and the exact second call. Run the
|
|
363
|
+
curls as given, then `{ siteId, uploadKey, sourceUploadId, expectedHeadRevisionId }`.
|
|
364
|
+
|
|
365
|
+
The service deploys, commits the source to the site's Code Store repository, then releases; a
|
|
366
|
+
refused commit releases nothing. `expectedHeadRevisionId` is the revision the project started
|
|
367
|
+
from: the one it was downloaded at, or for a project started in this run the `headRevisionId`
|
|
368
|
+
the prepare returned. Left out, the release works only on a repository with nothing in it yet;
|
|
369
|
+
otherwise it answers `EXPECTED_HEAD_REQUIRED` and releases nothing. A 409
|
|
370
|
+
`CODE_STORE_HEAD_CHANGED` means the repository moved since: download it again
|
|
371
|
+
(`guides/existing-site.md`), carry the change over, build and upload. A 404 on the second call
|
|
372
|
+
means the upload expired: prepare again. The result carries the live URL; a release replaces
|
|
373
|
+
static pages dropped on the site before, at the same URL.
|
|
374
|
+
Otherwise:
|
|
288
375
|
React or another bundler → the project's own build, then `npx @wix/cli@latest release` of
|
|
289
376
|
the build folder named in `wix.config.json` (deep URLs must answer 200 directly, step 1);
|
|
290
377
|
static → `release` alone. If the install failed, run it once more and then build. Don't
|
|
@@ -293,8 +380,8 @@ only after an explicit yes, never automatically. Step 5 ends with the same self-
|
|
|
293
380
|
site is released — close with the live URL and the dashboard link
|
|
294
381
|
`https://manage.wix.com/dashboard/<siteId>` (the `siteId` of the `ready_for_brand_layer`
|
|
295
382
|
event: on a migration preview that is the migrated site's dashboard, the release URL is the
|
|
296
|
-
preview's, the original site is unchanged, and
|
|
297
|
-
|
|
383
|
+
preview's, the original site is unchanged, and you complete the migration once they
|
|
384
|
+
approve (`guides/migration.md`) — say all three). Tell the user how to put their own
|
|
298
385
|
domain on the site, per the `wix-manage` recipe `references/domains/domain-search-purchase-and-connect.md`
|
|
299
386
|
(installed beside this skill, else `https://www.wix.com/skills/wix-manage/references/domains/domain-search-purchase-and-connect.md`):
|
|
300
387
|
bought through Wix, or one they already own. When the site takes money through
|
|
@@ -307,8 +394,8 @@ only after an explicit yes, never automatically. Step 5 ends with the same self-
|
|
|
307
394
|
need a premium plan). Both are the owner's steps, not a defect in the site. When the run started
|
|
308
395
|
from the owner's own pages, name what those pages promised that the released site does not do.
|
|
309
396
|
**Copy the live URL verbatim from the
|
|
310
|
-
|
|
311
|
-
a 404). Before you sign off, run the feedback self-check over the whole session
|
|
397
|
+
release output (the CLI's, or the upload tool's result) — never retype it from memory** (a
|
|
398
|
+
mistyped subdomain hands the user a 404). Before you sign off, run the feedback self-check over the whole session
|
|
312
399
|
(`guides/feedback.md`): anything that cost more turns than it should have, including what you
|
|
313
400
|
recovered from silently, is signal; if anything qualifies, offer to relay it as you deliver the
|
|
314
401
|
links, and send only after an explicit yes.
|
|
@@ -324,9 +411,11 @@ browser versus the server, the OAuth allow-list for a self-hosted origin, pre-re
|
|
|
324
411
|
how to close such a run. A public site is still better served by managed Astro; say so when you
|
|
325
412
|
close.
|
|
326
413
|
|
|
327
|
-
|
|
328
|
-
read `<SKILL_ROOT>/guides/api-run.md`: the same run, step by step, as the Wix API calls the
|
|
329
|
-
scripts make and the files beside this skill that carry the contracts.
|
|
414
|
+
Where the kit does not run (no route to npm, no Node), or when the install, the CLI or the login is
|
|
415
|
+
blocked where you are, read `<SKILL_ROOT>/guides/api-run.md`: the same run, step by step, as the Wix API calls the
|
|
416
|
+
scripts make and the files beside this skill that carry the contracts. On the plugin route the same
|
|
417
|
+
guide is the reference for the calls that go through `ExecuteWixAPI` (the provision call, the seed);
|
|
418
|
+
the build and the release are this skill's step 5.
|
|
330
419
|
|
|
331
420
|
## Verticals
|
|
332
421
|
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
# The kit's run as Wix API calls
|
|
2
2
|
|
|
3
|
-
Read when the
|
|
4
|
-
|
|
5
|
-
CLI or the login is blocked. Wix is then reachable through the Wix MCP: every call below is an
|
|
3
|
+
Read when the kit does not run where you are, or stopped: no Node, no route to npm (the install
|
|
4
|
+
and the build need it), no shell at all, or the install, the CLI or the login is blocked. Wix is then reachable through the Wix MCP: every call below is an
|
|
6
5
|
`ExecuteWixAPI` call, and files reach the site through the upload recipe. With no Wix MCP tools in
|
|
7
6
|
your tool list (a plugin's skills can be on disk while its Wix connector is not connected), ask the
|
|
8
7
|
user to connect Wix to this chat first. It walks the run of
|
|
@@ -52,9 +51,11 @@ doesn't list is a wrong path; find the file there before writing anything in its
|
|
|
52
51
|
hold, served or on disk, is current when its size in bytes matches the manifest's; a file whose size
|
|
53
52
|
differs is read online.
|
|
54
53
|
|
|
55
|
-
What such a run does not produce: the Astro build
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
What such a run does not produce: the Astro build. A build needs the kit running where you are (Node,
|
|
55
|
+
and `npm` reaching the registry); then the run is SKILL.md's plugin route (`setup.mjs --site --app`, `astro build`, the build released by
|
|
56
|
+
`UploadHeadlessWebsiteFiles`), and sections 2 to 4 here are the calls it makes through
|
|
57
|
+
`ExecuteWixAPI`. Everything else the kit does to a site, it does through calls you can make, the
|
|
58
|
+
frontend included: step 5 ships it as static files.
|
|
58
59
|
|
|
59
60
|
## 0. Identity
|
|
60
61
|
|
|
@@ -76,7 +77,7 @@ A brief that needs no solution (a game, a landing page, a tool) is a run of two
|
|
|
76
77
|
## 2. The site
|
|
77
78
|
|
|
78
79
|
The CLI's `npm create @wix/new` is one call: `POST /headless-business-setup/v1/headless-business/provision`,
|
|
79
|
-
with `origin: "
|
|
80
|
+
with `origin: "agent"` and a name. The recipe
|
|
80
81
|
is `{MANAGE}/references/sites/create-headless-site.md`; it returns the `metaSiteId` and the
|
|
81
82
|
site's OAuth client `appId`. Do not create a site any other way: a project from Create Project or
|
|
82
83
|
a template is neither headless nor publishable, and a later run with a machine cannot attach to it.
|
|
@@ -124,9 +125,10 @@ half a run.
|
|
|
124
125
|
A payment (a cart, a paid booking, a ticket, a plan, a donation) ends in Wix's hosted checkout,
|
|
125
126
|
reached through a redirect session, and is wired on the first pass, payments connected or not.
|
|
126
127
|
|
|
127
|
-
The Astro pages
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
The Astro pages are not built here: the kit does not run where you are. A later run where it does
|
|
129
|
+
takes this site (SKILL.md's plugin route with `--site --app`, or `guides/existing-site.md` with the
|
|
130
|
+
CLI) rather than making a new one; its release replaces the pages dropped here, at the same URL.
|
|
131
|
+
What ships from here is static files, dropped onto the site from step 2 through
|
|
130
132
|
`{MANAGE}/references/sites/upload-static-site.md`: the Wix MCP's upload tool, or a script that
|
|
131
133
|
downloads what the site serves, edits it and drops it back, so only what changed is written. Which
|
|
132
134
|
files depends on whether the compose can run, and on what writing them costs: when files reach the
|
|
@@ -197,6 +199,6 @@ failing call is fixed first, on the site or in the page. The closing reports the
|
|
|
197
199
|
|
|
198
200
|
## 6. Closing
|
|
199
201
|
|
|
200
|
-
SKILL.md step 5's closing, with two additions: the site id
|
|
201
|
-
site (`guides/existing-site.md`) instead of making a new one;
|
|
202
|
-
change re-drops the whole set.
|
|
202
|
+
SKILL.md step 5's closing, with two additions: the site id and the `appId`, so a run where the kit
|
|
203
|
+
runs takes this site (`setup.mjs --site --app`, or `guides/existing-site.md`) instead of making a new one;
|
|
204
|
+
and, when files were dropped, that a change re-drops the whole set.
|
|
@@ -10,6 +10,37 @@ part below applies there too, against the migrated site.) `<SKILL_ROOT>` is the
|
|
|
10
10
|
in the folder `node <SKILL_ROOT>/install/templates.mjs` prints (`<templates>` below; SKILL.md, "The
|
|
11
11
|
model").
|
|
12
12
|
|
|
13
|
+
**A site with a Code Store repository** (one released through the upload tool, in this session or
|
|
14
|
+
an earlier one): the project is there, and it is continued, not rebuilt. Its repository is the
|
|
15
|
+
managed project whose id is the site's app id: the `appId` in `wix.config.json` when the folder has
|
|
16
|
+
one, else `POST https://manage.wix.com/_api/companion-apps/v1/companion-apps/get-or-create` with
|
|
17
|
+
body `{}`, whose `companionApp.id` it is. Both calls go through `ExecuteWixAPI` in site scope
|
|
18
|
+
(`siteId` set); an account-scoped token is refused (403).
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
POST https://www.wixapis.com/codestore/v2/git-code-store-projects/<appId>/generate-download-url
|
|
22
|
+
{}
|
|
23
|
+
→ { downloadUrl, revision: { id } }
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
curl -o project.zip "<downloadUrl>" # signed, 5 minutes, no Wix auth
|
|
28
|
+
unzip -q project.zip -d . && rm project.zip
|
|
29
|
+
node <SKILL_ROOT>/install/setup.mjs --vertical <vertical> --site <siteId> --app <appId>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Keep `revision.id`: it is the release's `expectedHeadRevisionId`. The download has no `.env.local`;
|
|
33
|
+
setup writes it, installs when `node_modules` is missing, and scaffolds, deploys and seeds nothing.
|
|
34
|
+
Then edit, `npx astro build`, and upload as SKILL.md step 5 says, with that revision. A 404
|
|
35
|
+
(`NOT_FOUND`, `GIT_BRANCH_NOT_FOUND`) means the site has no project yet: a dropped site has none, its
|
|
36
|
+
pages live only in the drop. On the plugin route that is the create flow against this site: `get-or-create` above gives the
|
|
37
|
+
`appId`, then in an empty folder `node <SKILL_ROOT>/install/setup.mjs --vertical <vertical> --site
|
|
38
|
+
<siteId> --app <appId>`, build, and release through `UploadHeadlessWebsiteFiles` with the
|
|
39
|
+
`headRevisionId` the prepare returns (the drop's import commit, or none); the release replaces the
|
|
40
|
+
dropped pages at the same URL and stores the project. The site owns its content: read it first, and
|
|
41
|
+
seed only what the brief supplies or asks to add. On the CLI route the sections below apply, and the
|
|
42
|
+
first release creates the repository.
|
|
43
|
+
|
|
13
44
|
**Read the site, then run attach.** First, one call tells you what
|
|
14
45
|
the site is — its name, currency, and the Wix apps installed on it:
|
|
15
46
|
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
# A migration preview: a site being moved to headless
|
|
2
2
|
|
|
3
|
-
Read when setup reports `mode: "migrate"`,
|
|
4
|
-
`node <SKILL_ROOT>/install/context.mjs` prints `migration.active: true
|
|
5
|
-
the
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
Read when setup reports `mode: "migrate"`, when a folder holds a `wix.config.json` and
|
|
4
|
+
`node <SKILL_ROOT>/install/context.mjs` prints `migration.active: true`, or when the user asks to
|
|
5
|
+
complete the migration (the dashboard's second prompt names `wix finalize-migration`). The brief is
|
|
6
|
+
the prompt the Wix dashboard's Headless settings hand the owner after "Go Headless": download the
|
|
7
|
+
project from `https://manage.wix.com/download-headless-business/<siteId>/download.zip`, the names of
|
|
8
|
+
the apps the site already has, and the instruction not to probe, install or seed anything. The zip
|
|
9
|
+
holds `wix.config.json` (the deploy site and its app) beside the CLI's blank Astro starter.
|
|
9
10
|
|
|
10
11
|
**What `.env.local` says.** `wix env pull` copies the project's `prod` environment: the parent's
|
|
11
12
|
`WIX_CLIENT_ID`, and the migration's own variables, `EDITOR_MIGRATION_STATUS` (`ACTIVE` while the
|
|
@@ -14,10 +15,10 @@ migration is under way, `COMPLETED` once the parent serves this frontend), `EDIT
|
|
|
14
15
|
two; the shape is `migration` whenever the status is active, whatever else the folder holds.
|
|
15
16
|
|
|
16
17
|
**Two sites, one project.** `wix.config.json` names a site created only to host the deployment:
|
|
17
|
-
`wix release` goes there and nowhere else. `.env.local`
|
|
18
|
-
`context.mjs` pull it when it is missing) carries the
|
|
19
|
-
**parent**, and says so. The parent owns everything the
|
|
20
|
-
manages. So:
|
|
18
|
+
`wix release` goes there and nowhere else until completion repoints the config (below). `.env.local`
|
|
19
|
+
(what `wix env pull` writes; setup and `context.mjs` pull it when it is missing) carries the
|
|
20
|
+
credentials of the site being migrated, the **parent**, and says so. The parent owns everything the
|
|
21
|
+
pages show and everything the business manages. So:
|
|
21
22
|
|
|
22
23
|
- **The SDK client is the parent's.** The Astro integration reads `WIX_CLIENT_ID` from the env and
|
|
23
24
|
never the config; `deploy.mjs` copies the same value into `src/wix/config.ts` (react, lib) and
|
|
@@ -45,10 +46,41 @@ app, hosting and credentials came with the download; nothing is provisioned or r
|
|
|
45
46
|
|
|
46
47
|
**The close.** The release is a **preview** on the deploy site. Close with the preview URL (copied
|
|
47
48
|
from the `wix release` output), the parent's dashboard link, and the two facts: the original site
|
|
48
|
-
is unchanged, and completing the migration
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
is unchanged, and completing the migration puts this frontend live on the parent and retires the
|
|
50
|
+
deploy site. Offer to complete it once they approve the preview.
|
|
51
|
+
|
|
52
|
+
## Completing the migration
|
|
53
|
+
|
|
54
|
+
Run it once the user approves the preview and asks to go live, or pastes the dashboard's finalize
|
|
55
|
+
prompt: it switches the parent's live site to this frontend. The calls target the parent
|
|
56
|
+
(`migration.parentSiteId` from `context.mjs`).
|
|
57
|
+
|
|
58
|
+
1. **Read the migration.**
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
curl -sS "https://www.wixapis.com/headless-business-setup/v1/editor-migrations" \
|
|
62
|
+
-H "Authorization: $(npx -y @wix/cli@latest token --site <parentSiteId>)"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
`migration.phase` `ITERATING` → step 2; `MIGRATION_FINALIZING` or `COMPLETED` → step 3;
|
|
66
|
+
`PREPARING` → the preview release is not observed yet, read again shortly; anything else → stop
|
|
67
|
+
and report it with the dashboard link.
|
|
68
|
+
|
|
69
|
+
2. **Accept it**, as the dashboard's Complete Migration button does. On
|
|
70
|
+
`STALE_MIGRATION_REVISION`, read again and resend.
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
curl -sS -X POST "https://www.wixapis.com/headless-business-setup/v1/editor-migrations/prepare-commit" \
|
|
74
|
+
-H "Authorization: $(npx -y @wix/cli@latest token --site <parentSiteId>)" \
|
|
75
|
+
-H "Content-Type: application/json" \
|
|
76
|
+
-d '{"migrationId":"<migration.id>","expectedRevision":<migration.revision>}'
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
3. **Release to the parent.** `npx @wix/cli@latest finalize-migration` (`@wix/cli` 1.1.256 or later)
|
|
80
|
+
repoints `wix.config.json` to the parent, builds and releases. React and static projects have no such command: set
|
|
81
|
+
`wix.config.json`'s `appId` and `siteId` to `.env.local`'s `WIX_CLIENT_ID` and
|
|
82
|
+
`EDITOR_MIGRATION_PARENT_SITE_ID`, then build and release as in SKILL.md step 5.
|
|
83
|
+
|
|
84
|
+
Close with the parent's URL and its dashboard link, and say Wix finishes the switch on its side;
|
|
85
|
+
the dashboard notifies them when it is done. Later changes ship with a plain build and
|
|
86
|
+
`wix release`.
|
|
@@ -23,7 +23,7 @@ export function writeAgentsMd(projectDir, vars) {
|
|
|
23
23
|
else {
|
|
24
24
|
// {{MIGRATION}} is a paragraph on a migration preview (vars.migration = { parentSiteId, deploySiteId }), else nothing.
|
|
25
25
|
const migration = vars.migration
|
|
26
|
-
? `\n\n**Under migration.** \`wix.config.json\` names site ${vars.migration.deploySiteId}, which only hosts this deployment; the site being migrated is ${vars.migration.parentSiteId} — its content is what the pages show and its dashboard (\`https://manage.wix.com/dashboard/${vars.migration.parentSiteId}\`) is where the business is managed. \`.env.local\` (\`wix env pull\`) carries that site's app: the SDK client and every admin, discovery and seed call run against it; only \`wix release\` goes to the deploy site. Completing the migration
|
|
26
|
+
? `\n\n**Under migration.** \`wix.config.json\` names site ${vars.migration.deploySiteId}, which only hosts this deployment; the site being migrated is ${vars.migration.parentSiteId} — its content is what the pages show and its dashboard (\`https://manage.wix.com/dashboard/${vars.migration.parentSiteId}\`) is where the business is managed. \`.env.local\` (\`wix env pull\`) carries that site's app: the SDK client and every admin, discovery and seed call run against it; only \`wix release\` goes to the deploy site. Completing the migration, once the user approves the preview, follows \`.agents/skills/${vars.skill}/guides/migration.md\`.`
|
|
27
27
|
: "";
|
|
28
28
|
const text = readFileSync(TEMPLATE, "utf8").replace(/\{\{(\w+)\}\}/g, (_, k) => (k === "MIGRATION" ? migration : (vars[k.toLowerCase()] ?? "")));
|
|
29
29
|
writeFileSync(agents, text); written.push("AGENTS.md");
|