@wix/agent-skills 1.33.1 → 1.35.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 +3 -0
- package/package.json +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 +14 -4
- package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +2 -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/events-dashboard-navigation.md +81 -0
- package/skills/wix-manage/references/seo/manage-content-plan.md +207 -222
- package/skills/wix-manage/references/sites/manage-oauth-apps.md +1 -0
- package/skills/wix-manage/references/sites/upload-static-site.md +128 -8
- package/skills/wix-readme/SKILL.md +166 -0
- 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-replatform/resources/rp-target-wix/SPEC-product-reviews-and-blog-authorship.md +0 -330
|
@@ -1,693 +1,238 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: replatform
|
|
2
|
+
name: wix-replatform
|
|
3
3
|
description: >-
|
|
4
|
-
Routes RePlatform source-to-Wix migrations to the next workflow
|
|
5
|
-
migration
|
|
4
|
+
Routes RePlatform source-to-Wix migrations to the next required workflow module by
|
|
5
|
+
inspecting authoritative migration artifacts. Use when starting, resuming, or recovering
|
|
6
|
+
a migration run.
|
|
6
7
|
---
|
|
7
8
|
|
|
8
|
-
# replatform
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
`
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
The submission should collect these up front so the run does not block unexpectedly:
|
|
57
|
-
source site URL; the source acquisition mode when the platform offers more than one
|
|
58
|
-
read path (for Shopify: Admin API vs public storefront; for WordPress / WooCommerce:
|
|
59
|
-
public content only vs authenticated access that also includes private/gated data);
|
|
60
|
-
source credentials required by that acquisition mode; the Wix destination mode (`new site`
|
|
61
|
-
vs `existing site`);
|
|
62
|
-
Wix authorization (new headless sites are created + written via the **Wix CLI** — it must be
|
|
63
|
-
logged in with `npx @wix/cli@latest login`, and site-level writes use a CLI token minted per
|
|
64
|
-
run with `npx @wix/cli@latest token --site "$WIX_SITE_ID"`; a raw create-time API key is no
|
|
65
|
-
longer used); and explicit answers to known fidelity forks (comments:
|
|
66
|
-
anonymize vs. skip; member-create notifications on/off; WP pages handling).
|
|
67
|
-
|
|
68
|
-
## Delivery mode: managed backend (default) vs. storefront website
|
|
69
|
-
|
|
70
|
-
A migration has two possible deliverables. Resolve which one applies **before** site
|
|
71
|
-
creation, and treat **management-only as the default**:
|
|
72
|
-
|
|
73
|
-
- **`management` (DEFAULT).** Migrate the business's data into a **Wix-managed headless
|
|
74
|
-
backend** — the catalog/content lives in Wix (Stores, CMS, Blog, …), manageable from the
|
|
75
|
-
Wix dashboard and served through Wix APIs. **No customer-facing website / JavaScript
|
|
76
|
-
frontend is built.** This is a complete, valid deliverable on its own.
|
|
77
|
-
**Do not ask about a website in this mode.** If the user has not asked for a site,
|
|
78
|
-
storefront, or frontend, assume `management` and proceed without a clarifying question.
|
|
79
|
-
|
|
80
|
-
- **`website` (OPT-IN).** Everything in `management`, **plus** a customer-facing storefront
|
|
81
|
-
(a JavaScript frontend) built with the **`wix-headless`** skill. Select this mode **only
|
|
82
|
-
when the user explicitly asks** for a website, storefront, site frontend, "a site people
|
|
83
|
-
can visit", or names a frontend framework. Never infer it from the mere fact that the
|
|
84
|
-
source had a website — the source always did; that is not a request to rebuild one.
|
|
85
|
-
|
|
86
|
-
Record the resolved mode in `orchestration/decisions.json` and, when set, in
|
|
87
|
-
`config/wix.env` as `WIX_DELIVERY_MODE=management|website`. **Both modes create the destination the same way**
|
|
88
|
-
— a genuine Wix Managed Headless site via the Wix CLI scaffold (see "Headless site
|
|
89
|
-
creation"). The mode only decides whether a frontend is built:
|
|
90
|
-
|
|
91
|
-
- In `management` mode (default), scaffold the headless site, install Wix Stores (and any
|
|
92
|
-
other required apps), and import the catalog. **Do not build or release a frontend.**
|
|
93
|
-
- In `website` mode, run the full `wix-headless` flow (it performs the same CLI scaffold,
|
|
94
|
-
installs apps, and additionally builds + releases the Astro storefront), then import the
|
|
95
|
-
catalog into that site (see "Website mode: build the storefront with `wix-headless`").
|
|
96
|
-
|
|
97
|
-
Site creation is identical across modes because a headless site is only produced correctly
|
|
98
|
-
by the CLI scaffold; `management` simply stops before the frontend build.
|
|
99
|
-
|
|
100
|
-
## Notification muting: the `mute-notifications` config (spec 0012)
|
|
101
|
-
|
|
102
|
-
Migration writes can fire Wix site notifications (emails, dashboard alerts, pushes) for
|
|
103
|
-
every created entity. A single config governs whether the target site is muted before
|
|
104
|
-
migration writes, following the `WIX_DELIVERY_MODE` pattern: record it in
|
|
105
|
-
`orchestration/decisions.json` and mirror it in `config/wix.env` as
|
|
106
|
-
`WIX_MUTE_NOTIFICATIONS=on|off`. The default resolves by site strategy and the resolved
|
|
107
|
-
value is **always recorded explicitly**, never left implicit:
|
|
108
|
-
|
|
109
|
-
- **`WIX_SITE_STRATEGY=new` → `on`, effectively forced.** Do not ask. `off` + `new` is a
|
|
110
|
-
validation error (`rp-setup-discovery` and `rp-import-codegen` both fail it), and the
|
|
111
|
-
enforcement does not consult the config for new sites — it is unconditional.
|
|
112
|
-
- **`WIX_SITE_STRATEGY=existing` → `off`.** Do not ask up front. Muting a live site also
|
|
113
|
-
silences notifications for real visitor activity during the migration window, so it is
|
|
114
|
-
an explicit opt-in (`on`) the owner can request; when opted in, the mute and its
|
|
115
|
-
consequences are disclosed prominently at the execution-plan approval gate
|
|
116
|
-
(`rp-execute-import`).
|
|
117
|
-
|
|
118
|
-
**Hard invariant — no mute, no import.** When mute is in effect (always for new sites;
|
|
119
|
-
opt-in for existing), a failed mute call at any point (setup provisioning, import-script
|
|
120
|
-
preflight) halts the run to needs-user with the failure recorded. Never continue to
|
|
121
|
-
import writes with a warning, and never offer a continue-anyway option. Enforcement is
|
|
122
|
-
double-locked downstream: a standing setup requirement (`rp-setup-discovery` →
|
|
123
|
-
`rp-execute-setup`, ordered before all other setup writes) plus a preflight assertion in
|
|
124
|
-
the generated import script (`rp-import-codegen`).
|
|
125
|
-
|
|
126
|
-
**Terminal-report disclosure — every terminal state.** Nothing in the flow unmutes
|
|
127
|
-
automatically, so any site the flow muted is still muted at completion, halt, or abort.
|
|
128
|
-
Whatever report the run ends with must derive "was muted" from **recorded state**
|
|
129
|
-
(`setup/setup-verification.json` mute item + the import run's preflight log entries) —
|
|
130
|
-
never infer it from strategy/config — and, when a successful mute is recorded, state in
|
|
131
|
-
plain language:
|
|
132
|
-
|
|
133
|
-
- **all site notifications are currently muted**, and stay muted until re-enabled;
|
|
134
|
-
- **the owner can simply ask the agent to unmute them** whenever they want — on request,
|
|
135
|
-
call `unmuteSiteNotifications` (rp-target-wix) and confirm `muted: false` via
|
|
136
|
-
`getSiteMuteState`;
|
|
137
|
-
- alternatively they can re-enable manually (UnmuteSite —
|
|
138
|
-
`POST /notification-preferences/v1/site-mute/unmute` — or the dashboard path once one
|
|
139
|
-
exists).
|
|
140
|
-
|
|
141
|
-
For existing sites this disclosure is **mandatory and prominent** — it is the only
|
|
142
|
-
remaining safeguard against a live business staying silenced. If no successful mute is
|
|
143
|
-
recorded, the report must not claim the site is muted. The unmute is **never** run as
|
|
144
|
-
part of the flow itself — explicit owner request only.
|
|
145
|
-
|
|
146
|
-
## Tone
|
|
147
|
-
|
|
148
|
-
Use a tone that is:
|
|
149
|
-
|
|
150
|
-
- professional
|
|
151
|
-
- friendly
|
|
152
|
-
- confidence-building
|
|
153
|
-
|
|
154
|
-
Explain the process clearly, avoid sounding uncertain when the workflow is defined, and
|
|
155
|
-
help the user understand what is happening and what will happen next. Be direct, calm, and
|
|
156
|
-
practical. Do not overwhelm the user with internal detail that does not help them make the
|
|
157
|
-
next decision.
|
|
158
|
-
|
|
159
|
-
## User interaction contract
|
|
160
|
-
|
|
161
|
-
Keep interaction narrow and task-directed.
|
|
162
|
-
|
|
163
|
-
Allowed interactions:
|
|
164
|
-
|
|
165
|
-
- request one missing required input or credential
|
|
166
|
-
- ask the user to choose the active migration project when project resolution is genuinely ambiguous
|
|
167
|
-
- present the execution plan report and wait for explicit acceptance before any write
|
|
168
|
-
- halt to a defined needs-user state with the exact unblock action
|
|
169
|
-
|
|
170
|
-
Ask questions **one by one**. Do not bundle multiple unrelated questions into a single
|
|
171
|
-
message. Ask the next question only after the previous one is answered, unless a later
|
|
172
|
-
skill explicitly requires a single grouped approval artifact such as the execution plan.
|
|
173
|
-
|
|
174
|
-
### Rules that hold in every run
|
|
175
|
-
|
|
176
|
-
- **One mandatory approval gate precedes _all_ writes to the user's site** — both setup
|
|
177
|
-
provisioning and the import. Before writing anything, present the **execution plan report**
|
|
178
|
-
and wait for explicit user acceptance. The report covers: the **setup changes** that will
|
|
179
|
-
be made (apps to install, Wix Data enablement, collections to create), **what will be
|
|
180
|
-
imported and where** (entities → Wix targets + counts), and **what can't be done and
|
|
181
|
-
needs manual action**. The job pauses, surfaces the plan, and resumes only on accept.
|
|
182
|
-
See `rp-execute-import` → Execution plan & user acceptance.
|
|
183
|
-
- **Read-only work runs before the gate; writes run after.** Discovery, mapping, codegen,
|
|
184
|
-
preview, and **read-only setup verification** (checking what's installed/missing) run
|
|
185
|
-
before acceptance to make the plan accurate. The "Migrate" consent + credentials
|
|
186
|
-
authorize the migration but are **not** a green light to start writing — only plan
|
|
187
|
-
acceptance is. After acceptance, run setup provisioning, then import, without
|
|
188
|
-
re-prompting per app/collection/write.
|
|
189
|
-
- **Dry-run remains sticky unless the user explicitly approves leaving it.** When
|
|
190
|
-
`DRY_RUN=true`, treat the project as dry-run-only by default. The one allowed exception
|
|
191
|
-
is **new-site creation** for `WIX_SITE_STRATEGY=new`: the Wix CLI headless scaffold may
|
|
192
|
-
run live even while the migration otherwise remains in dry-run mode, because no site
|
|
193
|
-
exists yet to target. Every other live override (`--no-dry-run`, setup provisioning,
|
|
194
|
-
app installation, live setup verification probes, demo-catalog cleanup, import writes)
|
|
195
|
-
requires explicit user approval to leave dry-run for that step or phase, and should be
|
|
196
|
-
avoided when a dry-run/report alternative exists.
|
|
197
|
-
- **Mapping review is a separate semantic checkpoint before setup/codegen.** After
|
|
198
|
-
`rp-mapper` writes `mapping/mapping-plan.json`, it must also write a concise
|
|
199
|
-
`mapping/review/mapping-summary.md` for user review. Pause there and ask the user to review
|
|
200
|
-
`mapping/review/mapping-summary.md` first, using `mapping/review/mapping-plan.md` for full details, and confirm that
|
|
201
|
-
the source entities, Wix targets, main gaps/lossiness, and major setup implications
|
|
202
|
-
match their intent. Do not proceed to `rp-setup-discovery` or `rp-import-codegen`
|
|
203
|
-
until the user accepts this mapping review checkpoint.
|
|
204
|
-
- **Safe-mode / dry-run code review is an agent-run checkpoint after codegen and before execution approval.**
|
|
205
|
-
When `SAFE_MODE=true` or `DRY_RUN=true`, `rp-import-codegen` must also write
|
|
206
|
-
`execution/review/code-safety-review.md`. The agent must perform this review itself by
|
|
207
|
-
inspecting the generated code and the mapping artifacts before asking the user for final
|
|
208
|
-
approval. That artifact must verify the generated code, not just the plan: every
|
|
209
|
-
relevant writer path passes `safeModeOptions` into the shared Wix runtime or direct REST
|
|
210
|
-
wrapper where applicable; dry-run uses the same code path with Wix calls skipped only at
|
|
211
|
-
the shared boundary; dry-run reports do not claim live writes happened; and the resolved
|
|
212
|
-
safe-mode replacement paths match the mapping artifacts. If the review finds any gap,
|
|
213
|
-
fix the code and regenerate the review artifact before surfacing it. The user approves
|
|
214
|
-
whether to proceed after the review passes; the user is not responsible for performing
|
|
215
|
-
the review itself.
|
|
216
|
-
- **Record every material decision** in the project artifacts
|
|
217
|
-
(`mapping/review/mapping-plan.md`, `mapping/review/mapping-summary.md`,
|
|
218
|
-
`setup/setup-verification.json`, `execution-log.md`).
|
|
219
|
-
- **Promote verified write contracts before continuing.** When same-session live
|
|
220
|
-
verification changes a Wix target write assumption, require a machine-readable
|
|
221
|
-
`contract-ledger-proposal.json`, promote the accepted proposal into shared
|
|
222
|
-
`rp-target-wix` domain metadata in the same session, or record an explicit deferral
|
|
223
|
-
reason. Generated code may rely on promoted ledger entries, not unreviewed local probe
|
|
224
|
-
output.
|
|
225
|
-
- **Keep execution review artifacts fresh.** `execution/review/import-plan.md` must have
|
|
226
|
-
freshness metadata covering the source schema, mapping plan, setup verification,
|
|
227
|
-
generated import code revision/hash, and target contract ledger revision. Before live
|
|
228
|
-
import and final reporting, check this metadata; if stale, regenerate the import plan or
|
|
229
|
-
write `execution/review/import-plan-delta.md` and make completion reporting reference
|
|
230
|
-
the latest accepted plan/delta.
|
|
231
|
-
- **Be non-destructive and idempotent:** never delete or overwrite existing user content;
|
|
232
|
-
dedupe by source ID; resume rather than restart. Do not assume native Wix entity IDs can
|
|
233
|
-
be preserved or client-assigned. When the target API assigns IDs server-side, the
|
|
234
|
-
workflow must maintain a durable local `sourceId -> targetId` crosswalk under
|
|
235
|
-
`migrations/<project>/state/crosswalk/` for resume and relationship resolution. CMS
|
|
236
|
-
`ImportCrosswalk` is optional site-local mirror/seed data for existing-site flows, not
|
|
237
|
-
the runtime source of truth.
|
|
238
|
-
- **Preserve public URL intent as local state:** for every migrated public routed entity,
|
|
239
|
-
mapping must capture route/base-path and slug policy, and import execution must write
|
|
240
|
-
local URL preservation artifacts under `migrations/<project>/state/url-preservation/`.
|
|
241
|
-
The current import phase records base paths, URL ledger rows, unresolved route rows, and
|
|
242
|
-
redirect plans, but does not apply Wix redirects or configure site routing.
|
|
243
|
-
- **Halt to needs-user only for:** a missing/invalid required input or credential; a
|
|
244
|
-
genuinely manual step with no API (e.g. storage-plan upgrade); or a systemic failure /
|
|
245
|
-
data-loss risk. When halting, write the reason to the artifacts and surface it — never
|
|
246
|
-
silently proceed and never silently stop.
|
|
247
|
-
|
|
248
|
-
## Step 1: Resolve the active project
|
|
249
|
-
|
|
250
|
-
Resolve `<migrations-root>` first: use `REPLATFORM_MIGRATIONS_DIR` when set (absolute or
|
|
251
|
-
relative to cwd); otherwise default to `migrations/` under the host project's cwd. See
|
|
252
|
-
`CONVENTIONS.md`.
|
|
253
|
-
|
|
254
|
-
Determine `<migrations-root>/<project>/` using this order:
|
|
255
|
-
|
|
256
|
-
1. Explicit project name provided by the user.
|
|
257
|
-
2. Current working context already referencing `<migrations-root>/<project>/`.
|
|
258
|
-
3. If exactly one project exists under `<migrations-root>/`, use it.
|
|
259
|
-
4. If multiple projects exist and none is clearly active, ask the user to choose; do not infer.
|
|
260
|
-
|
|
261
|
-
## Step 2: Inspect project artifacts
|
|
262
|
-
|
|
263
|
-
Look for these artifacts first:
|
|
264
|
-
|
|
265
|
-
- `config/wix.env`
|
|
266
|
-
- `orchestration/run.json`
|
|
267
|
-
- `orchestration/checkpoints.json`
|
|
268
|
-
- `orchestration/decisions.json`
|
|
269
|
-
- `orchestration/approvals.json`
|
|
270
|
-
- `config/source.<platform>.env` once the source platform is known
|
|
271
|
-
- `source-profile.md`
|
|
272
|
-
- `source-schema.json`
|
|
273
|
-
- `discovery/run.json`
|
|
274
|
-
- `discovery/entities/index.json`
|
|
275
|
-
- `mapping/mapping-plan.json`
|
|
276
|
-
- `mapping/review/mapping-summary.md`
|
|
277
|
-
- `setup/setup-plan.json`
|
|
278
|
-
- `setup/setup-requirements.json`
|
|
279
|
-
- `setup/setup-verification.json`
|
|
280
|
-
- `execution/execution-manifest.json`
|
|
281
|
-
- `execution/review/code-safety-review.md`
|
|
282
|
-
- `execution/completion-report.json`
|
|
283
|
-
- `execution/review/import-plan.md`
|
|
284
|
-
- generated code under `src/setup/`, `src/extract/`, `src/import/`
|
|
285
|
-
- `execution-log.md`
|
|
286
|
-
|
|
287
|
-
Reuse existing files if they already exist. Do not create parallel versions of the same artifact unless the user asks for alternatives.
|
|
288
|
-
|
|
289
|
-
Inspect only the active project's artifacts for resume and inference. Sibling
|
|
290
|
-
`migrations/<other-project>/` directories are out of scope and must not influence the
|
|
291
|
-
current run.
|
|
292
|
-
|
|
293
|
-
Treat each artifact as a complete checkpoint only when it is well-formed (e.g.
|
|
294
|
-
`source-schema.json` parses and contains at least one entity; required JSON artifacts parse
|
|
295
|
-
and contain their required top-level fields; markdown review artifacts are non-empty and
|
|
296
|
-
not truncated). A malformed or partial artifact means the stage
|
|
297
|
-
that produces it did NOT finish — re-run that stage rather than treating the file
|
|
298
|
-
as present. Skills should finish writing an artifact in one pass so a half-written
|
|
299
|
-
file is never mistaken for a completed one.
|
|
300
|
-
|
|
301
|
-
`execution-log.md` is not an authoritative resume source. Use it for chronology and
|
|
302
|
-
operator/debug context only. Resume state must come from the orchestration JSON artifacts
|
|
303
|
-
plus the active phase artifacts.
|
|
304
|
-
|
|
305
|
-
## Step 2.1: Verify project-local config files before discovery
|
|
306
|
-
|
|
307
|
-
Before source discovery, make the migration project's config explicit. Any value that a
|
|
308
|
-
skill, generated script, or setup step expects as an environment variable must have a
|
|
309
|
-
home in a project-local config file under `migrations/<project>/config/`.
|
|
310
|
-
|
|
311
|
-
Use `.env` syntax (`KEY=value`) so humans can edit the files and generated scripts can
|
|
312
|
-
load them without extra dependencies.
|
|
313
|
-
|
|
314
|
-
## Secret-safe config handling
|
|
315
|
-
|
|
316
|
-
Treat these as **secret-bearing files** once they may contain real user values:
|
|
317
|
-
|
|
318
|
-
- `migrations/<project>/config/wix.env`
|
|
319
|
-
- `migrations/<project>/config/source.<platform>.env`
|
|
320
|
-
- any equivalent local env/toml/json file carrying auth tokens, passwords, API keys, or
|
|
321
|
-
application credentials
|
|
322
|
-
|
|
323
|
-
Rules:
|
|
324
|
-
|
|
325
|
-
- Never print or paste the contents of those files into tool output, chat, artifacts, or
|
|
326
|
-
logs.
|
|
327
|
-
- Do not read them with whole-file commands that echo contents verbatim (`cat`, broad
|
|
328
|
-
`sed`, `head`, `tail`, broad globs) after they may be populated.
|
|
329
|
-
- Verify them with secret-safe checks only: file exists, required keys exist, and each key
|
|
330
|
-
is `present` / `blank` / `missing`.
|
|
331
|
-
- If a file must be created as a template, create it with empty values and from that point
|
|
332
|
-
forward treat it as secret-bearing even if some values are still blank.
|
|
333
|
-
- When reporting status, name keys only; never include values, partial values, or
|
|
334
|
-
redaction mistakes such as printing `KEY=value` lines.
|
|
335
|
-
|
|
336
|
-
Always create/verify:
|
|
337
|
-
|
|
338
|
-
- `config/wix.env`
|
|
339
|
-
- `WIX_SITE_STRATEGY=`
|
|
340
|
-
- `WIX_SITE_ID=`
|
|
341
|
-
- `WIX_AUTH_TOKEN=`
|
|
342
|
-
|
|
343
|
-
After the source system is identified or inferred, choose the source acquisition path
|
|
344
|
-
when the platform supports multiple modes. For Shopify URL-based migrations, ask whether
|
|
345
|
-
to use the Shopify Admin API or only publicly available storefront data. For WordPress /
|
|
346
|
-
WooCommerce URL-based migrations, ask whether to import only publicly available content
|
|
347
|
-
or also include private/authenticated data. Only the private/authenticated choice should
|
|
348
|
-
lead to a credentials request. Treat user-provided files/exports as a separate ingestion
|
|
349
|
-
flow that begins from those files, not from a site URL probe.
|
|
350
|
-
|
|
351
|
-
After the acquisition path is chosen, create/verify the adapter-specific source config.
|
|
352
|
-
For WordPress / WooCommerce:
|
|
353
|
-
|
|
354
|
-
- `config/source.wordpress.env`
|
|
355
|
-
- `WP_BASE_URL=`
|
|
356
|
-
- `WP_USERNAME=`
|
|
357
|
-
- `WP_APPLICATION_PASSWORD=`
|
|
358
|
-
- `WC_CONSUMER_KEY=` (optional; only when WooCommerce does not accept the WordPress
|
|
359
|
-
Application Password)
|
|
360
|
-
- `WC_CONSUMER_SECRET=` (optional; same condition)
|
|
361
|
-
|
|
362
|
-
### File-provided runs (CSV)
|
|
363
|
-
|
|
364
|
-
When the user provides one or more CSV/export files instead of a site URL, the run is
|
|
365
|
-
file-based from the start. There is **no acquisition-mode fork and no credentials request**.
|
|
366
|
-
|
|
367
|
-
- Record `sourcePlatform=csv`, `sourceMode=files_only`, and **every** input file path in
|
|
368
|
-
`fileInputPaths` (an array) in `orchestration/decisions.json`. Preflight requires no source
|
|
369
|
-
env keys for `csv`; it checks that `fileInputPaths` is non-empty instead. Until it is, the
|
|
370
|
-
run sits in `awaiting_files`.
|
|
371
|
-
- Create/verify `config/source.csv.env` with optional keys only:
|
|
372
|
-
|
|
373
|
-
```bash
|
|
374
|
-
CSV_INPUT_ROOT=
|
|
375
|
-
CSV_DELIMITER=
|
|
376
|
-
CSV_ENCODING=
|
|
377
|
-
CSV_VENDOR=
|
|
378
|
-
CSV_MEDIA_URL_REWRITE_FROM=
|
|
379
|
-
CSV_MEDIA_URL_REWRITE_TO=
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
Unlike `source.wordpress.env`, this file is **not secret-bearing** — it holds
|
|
383
|
-
delimiter/encoding/vendor/rewrite hints only. Regular file handling applies. Every key is
|
|
384
|
-
optional: blank means auto-detect, so a blank file never blocks discovery.
|
|
385
|
-
- Discovery then uses the `rp-source-csv` adapter, which identifies the vendor (Shopify,
|
|
386
|
-
WooCommerce, Magento, BigCommerce, or `custom`) from the header row. Ask the user to name
|
|
387
|
-
the vendor only if the adapter reports a low-confidence or near-miss detection.
|
|
388
|
-
|
|
389
|
-
Workflow:
|
|
390
|
-
|
|
391
|
-
1. If `config/wix.env` is missing, create it with empty keys, the requested dry-run mode,
|
|
392
|
-
and safe mode enabled:
|
|
393
|
-
|
|
394
|
-
```bash
|
|
395
|
-
WIX_SITE_STRATEGY=
|
|
396
|
-
WIX_SITE_ID=
|
|
397
|
-
WIX_AUTH_TOKEN=
|
|
398
|
-
DRY_RUN=false
|
|
399
|
-
SAFE_MODE=true
|
|
400
|
-
SAFE_MODE_PHONE_NUMBER=+972 50 0000000
|
|
401
|
-
```
|
|
402
|
-
|
|
403
|
-
Safe mode replaces outbound Wix email/phone write values with deterministic mock values
|
|
404
|
-
unless the user explicitly sets `SAFE_MODE=false` before mapping.
|
|
405
|
-
Dry-run is disabled by default; `DRY_RUN=true` or `--dry-run` runs the same generated
|
|
406
|
-
setup/import entrypoints while skipping Wix calls at the shared Wix boundary.
|
|
407
|
-
If the user asks to start, create, prepare, or run a migration "in dry-run mode",
|
|
408
|
-
write `DRY_RUN=true` into `config/wix.env` during scaffolding and carry that mode into
|
|
409
|
-
the execution-plan report. Do not later override it with `--no-dry-run` except for the
|
|
410
|
-
allowed new-site creation step or after explicit user approval to leave dry-run.
|
|
411
|
-
2. Ask for the source site/app URL before asking for the platform. Try to infer the
|
|
412
|
-
platform from that URL or from a lightweight probe of the source (for example, a known
|
|
413
|
-
REST index, platform-specific headers, or HTML/application markers). Only ask the user
|
|
414
|
-
to identify the platform if detection is inconclusive.
|
|
415
|
-
3. If the inferred platform offers multiple acquisition modes, ask the user to choose the
|
|
416
|
-
right one before requesting credentials.
|
|
417
|
-
- For Shopify URL-based migrations, the fork is: `Shopify Admin API` vs `public
|
|
418
|
-
storefront data only`.
|
|
419
|
-
- For WordPress / WooCommerce URL-based migrations, the fork is: `public content only`
|
|
420
|
-
vs `also include private/authenticated data`.
|
|
421
|
-
- For the WordPress / WooCommerce `public content only` path, do **not** ask for a
|
|
422
|
-
username, application password, or WooCommerce keys before discovery/import. Proceed
|
|
423
|
-
unauthenticated and make clear that the run will include only public data.
|
|
424
|
-
- For the WordPress / WooCommerce `also include private/authenticated data` path, ask
|
|
425
|
-
for the required credentials after the user selects that mode.
|
|
426
|
-
Do not ask about manual exports at this step; exports/files are a separate flow used
|
|
427
|
-
when the user provides files instead of a site URL (see "File-provided runs (CSV)").
|
|
428
|
-
4. Before asking for any Wix site ID, ask whether the destination should be a `new site`
|
|
429
|
-
or an `existing site`, and record that as `WIX_SITE_STRATEGY`.
|
|
430
|
-
- If the user chooses `existing`, ask for `WIX_SITE_ID` later when it is the next
|
|
431
|
-
missing Wix detail.
|
|
432
|
-
- If the user chooses `new`, do not ask for an existing site ID; route to the site
|
|
433
|
-
creation step and fill `WIX_SITE_ID` only after the new site exists.
|
|
434
|
-
- For `new site`, the next question should be about the kind of Wix site to create
|
|
435
|
-
(for example standard Wix site vs Wix Studio vs headless, or another site-creation
|
|
436
|
-
fork required by the active tooling) rather than asking for a site ID that does not
|
|
437
|
-
exist yet.
|
|
438
|
-
- RePlatform destinations are **Wix Managed Headless** sites. Create them with the **Wix
|
|
439
|
-
CLI headless scaffold** — see "Headless site creation" below. The site id comes from the
|
|
440
|
-
scaffolded `wix.config.json`, not from an API key, so do **not** ask for a site-creation
|
|
441
|
-
API key here; the only prerequisite is that the Wix CLI is logged in
|
|
442
|
-
(`npx @wix/cli@latest login`).
|
|
443
|
-
5. Once the platform and acquisition mode are known, create the matching
|
|
444
|
-
`config/source.<platform>.env` with empty keys and ask for missing required values one
|
|
445
|
-
at a time.
|
|
446
|
-
6. Treat blank required keys as `needs-user`; do not start discovery if the missing value
|
|
447
|
-
would make discovery incomplete. Optional keys may remain blank when the adapter says
|
|
448
|
-
they are optional.
|
|
449
|
-
7. Generated scripts should load project-local config first, then process environment,
|
|
450
|
-
with real environment variables allowed to override file values. Blank config values
|
|
451
|
-
must never overwrite non-empty environment variables.
|
|
452
|
-
|
|
453
|
-
Never print secret values back to the user. It is fine to say a required secret is
|
|
454
|
-
present or missing.
|
|
455
|
-
|
|
456
|
-
## Headless site creation
|
|
457
|
-
|
|
458
|
-
When `WIX_SITE_STRATEGY=new`, site creation happens before setup/import. **Both delivery
|
|
459
|
-
modes create the site the same way** (see "Delivery mode"); `management` just stops before
|
|
460
|
-
the frontend build.
|
|
461
|
-
|
|
462
|
-
**Create the site with the Wix CLI headless scaffold — not the account-level Projects API.**
|
|
463
|
-
The Projects API (`POST /funnel/projects/v1/create`) was the prior default but is
|
|
464
|
-
**deprecated for this workflow**: in testing it produced sites that were **not** genuinely
|
|
465
|
-
headless and it silently dropped the `apps[]` install list. The CLI scaffold
|
|
466
|
-
(`npm create @wix/new@latest headless`, the same path the `wix-headless` skill uses) is the
|
|
467
|
-
verified way to get a real Wix Managed Headless site.
|
|
468
|
-
|
|
469
|
-
**Method (delegate to the `wix-headless` scaffold):**
|
|
470
|
-
|
|
471
|
-
- **Prerequisite:** the Wix CLI must be logged in **to the account the user intends the site
|
|
472
|
-
to live on**. Check `npx @wix/cli@latest whoami`; if logged out, halt to needs-user to run
|
|
473
|
-
`npx @wix/cli@latest login` (interactive — it prints a URL + code; it cannot be done from a
|
|
474
|
-
raw API key). This replaces the old "site-creation API key" input — headless creation is
|
|
475
|
-
CLI-authenticated, tied to the logged-in Wix account.
|
|
476
|
-
- **Confirm the account BEFORE scaffolding — this is a mandatory gate, not a nicety.** The
|
|
477
|
-
CLI silently creates the site on whatever account it is logged into, with no error if it's
|
|
478
|
-
the wrong one. Show the user the `whoami` email and confirm it is the intended Wix account.
|
|
479
|
-
If it is not (e.g. a personal Gmail account instead of the user's business account), halt to
|
|
480
|
-
needs-user: `npx @wix/cli@latest logout` then `login` as the correct account, and re-verify.
|
|
481
|
-
Do not scaffold against an unconfirmed account. **Use one account consistently for the whole
|
|
482
|
-
run** — the same CLI account creates the site *and* mints the import write token; never mix
|
|
483
|
-
in a separate `WIX_AUTH_TOKEN` API key that belongs to a different account (a create/import
|
|
484
|
-
account split silently writes to the wrong place or 404/403s).
|
|
485
|
-
- **Scaffold inside the active migration project** with the Wix CLI create command (this is
|
|
486
|
-
the primary, self-contained path — it needs no other skill installed). Run it from
|
|
487
|
-
`migrations/<project>/` and use `--folder-name frontend` unless the project artifacts
|
|
488
|
-
explicitly name a different scaffold folder. The command creates the `frontend/`
|
|
489
|
-
subfolder; it does not replace the migration folder or become the migration root:
|
|
490
|
-
|
|
491
|
-
```bash
|
|
492
|
-
npm create @wix/new@latest -- headless \
|
|
493
|
-
--business-name "<Brand Name>" \
|
|
494
|
-
--folder-name frontend \
|
|
495
|
-
--site-template commerce --no-publish --skip-install
|
|
496
|
-
```
|
|
497
|
-
|
|
498
|
-
This creates a real headless site and writes `frontend/wix.config.json` with `appId` and
|
|
499
|
-
`siteId`. This is the one step that may run live while the rest of the migration
|
|
500
|
-
remains in dry-run mode. Run the `npm create` command above directly —
|
|
501
|
-
`wix-headless` no longer ships a `scripts/scaffold.sh` wrapper, and this path
|
|
502
|
-
deliberately needs no other skill installed.
|
|
503
|
-
- **`--site-template commerce` is load-bearing when the migration carries a product
|
|
504
|
-
catalog — never scaffold `blank`.** `--site-template` accepts
|
|
505
|
-
`commerce|scheduler|registration|blank`, and **passing it bare, with no value, means
|
|
506
|
-
`blank`** ("no business solution preconfigured"). On a blank site, installing Wix Stores
|
|
507
|
-
afterwards through the App Installation API provisions **Catalog V1**, which this workflow
|
|
508
|
-
does not support at all — the Stores primitives in `rp-target-wix` are V3-only. A site's
|
|
509
|
-
catalog version is **fixed at provisioning** — there is no in-place V1 → V3 switch — so a
|
|
510
|
-
blank scaffold silently costs the whole site and forces a rebuild. The `commerce` template
|
|
511
|
-
is Commerce (Wix Stores) and provisions Stores on **Catalog V3** at creation. In `website`
|
|
512
|
-
mode, treat its pages as scaffolding to restyle, not as the delivered design.
|
|
513
|
-
- **Exactly one destination site per migration.** Site creation happens **once**. Before
|
|
514
|
-
scaffolding, read `WIX_SITE_ID` from `config/wix.env` — non-empty means the site already
|
|
515
|
-
exists, so do **not** scaffold again: not to retry a failed step, not to "start clean",
|
|
516
|
-
not after an error. **Never create a probe, test, or throwaway site** to verify what a
|
|
517
|
-
template or an install produced — every site lands in the user's real Wix account, stays
|
|
518
|
-
visible there, and has to be deleted by hand. Verify on the migration's own site with the
|
|
519
|
-
read-only catalog-version check below. If the site is genuinely unusable (e.g. it came up
|
|
520
|
-
`V1_CATALOG`), halt to needs-user with the site id and ask to approve a replacement rather
|
|
521
|
-
than rebuilding silently; on approval, write the new id into `config/wix.env` and report
|
|
522
|
-
the abandoned site id as safe to delete.
|
|
523
|
-
- **Record ids from `wix.config.json`:** persist `siteId` into `config/wix.env` as
|
|
524
|
-
`WIX_SITE_ID`, and keep `appId` in project artifacts. Construct the dashboard URL from the
|
|
525
|
-
site's `metaSiteId` (resolve it via `ListWixSites`/site query when needed).
|
|
526
|
-
- **Auth for later site-level writes is a CLI token, not a raw API key.** Mint it without
|
|
527
|
-
printing the secret to the transcript by running `scripts/mint-token.sh` from the
|
|
528
|
-
migration project root. The canonical copy lives at
|
|
529
|
-
`skills/replatform/resources/rp-execute-setup/scripts/mint-token.sh`; codegen copies it
|
|
530
|
-
into each migration project at scaffolding time. Run it via Bash:
|
|
531
|
-
|
|
532
|
-
```bash
|
|
533
|
-
bash migrations/<project>/scripts/mint-token.sh
|
|
534
|
-
```
|
|
535
|
-
|
|
536
|
-
Token shape: `OauthNG.JWS.<base64>.<base64>.<sig>` — a single line on stdout with no JSON
|
|
537
|
-
wrapper. Send it as a `Bearer` token (`Authorization: Bearer <token>`, plus
|
|
538
|
-
`wix-site-id: <siteId>`). The generated import client must send it as a Bearer token.
|
|
539
|
-
(`WIX_AUTH_TOKEN` is no longer a create-time API key; if set, it is the site write
|
|
540
|
-
credential the generated code consumes.)
|
|
541
|
-
|
|
542
|
-
**Do not** run `npx @wix/cli@latest token` raw in a Bash tool call — it prints the
|
|
543
|
-
credential to stdout which lands in the transcript. Always route through `mint-token.sh`.
|
|
544
|
-
|
|
545
|
-
**Wix Stores (and other apps) are NOT installed by the scaffold.** A freshly scaffolded
|
|
546
|
-
headless site has no Wix Stores — `stores/v3` returns `428 REQUIRED_APP_NOT_INSTALLED` until
|
|
547
|
-
Stores is installed. Install required apps as a distinct step after scaffolding, via the
|
|
548
|
-
same path `wix-headless` uses (its `SETUP.md` Step 3 → the `wix-manage` skill / app-install
|
|
549
|
-
API), authenticated with the CLI token. Verify installation (e.g. `stores/v3/products/count`
|
|
550
|
-
responds) before importing. Do not assume creation installed Stores.
|
|
551
|
-
|
|
552
|
-
**Then verify the catalog is V3 — before any Stores write.** Installing Stores does not
|
|
553
|
-
guarantee Catalog V3 (a `blank`-scaffolded site comes up V1). Gate on the read-only
|
|
554
|
-
Catalog Versioning API:
|
|
555
|
-
|
|
556
|
-
```bash
|
|
557
|
-
curl -s -H "Authorization: Bearer $WIX_AUTH_TOKEN" -H "wix-site-id: $WIX_SITE_ID" \
|
|
558
|
-
https://www.wixapis.com/stores/v3/provision/version
|
|
9
|
+
# wix-replatform
|
|
10
|
+
|
|
11
|
+
`wix-replatform` is the compact supervisor for a resumable source-to-Wix migration. It
|
|
12
|
+
selects one internal module for the active stage; it does not carry every stage procedure
|
|
13
|
+
in its own context.
|
|
14
|
+
|
|
15
|
+
## Always-active contract
|
|
16
|
+
|
|
17
|
+
- Resolve the active project under `migrations/<project>/` (or `REPLATFORM_MIGRATIONS_DIR`)
|
|
18
|
+
before inspecting or creating anything. Only that project's artifacts are authoritative.
|
|
19
|
+
- Preserve `EXPECTATIONS.md` at that project root. It is the user's free-form record of
|
|
20
|
+
how they expected the run to behave; initialization creates it once and never overwrites it.
|
|
21
|
+
- Start/resume `resources/rp-telemetry/` at the beginning of every run and finalize it at
|
|
22
|
+
a terminal state. Never hand-write telemetry events.
|
|
23
|
+
- Use orchestration JSON plus validated stage artifacts as resume authority. Logs and chat
|
|
24
|
+
history are diagnostic context only.
|
|
25
|
+
- Preserve user data: write idempotently, dedupe by source identity, resume rather than
|
|
26
|
+
restart, and never create a second destination site for a migration.
|
|
27
|
+
- Never print secrets, secret-bearing config contents, tokens, or credentials. Report only
|
|
28
|
+
key names and present/blank/missing status.
|
|
29
|
+
- Do not declare a migration complete from prose or a single artifact. The deterministic
|
|
30
|
+
router and aggregate completion artifact own terminal completion.
|
|
31
|
+
|
|
32
|
+
## CLI-launched runs and human actions
|
|
33
|
+
|
|
34
|
+
When a migration is started through `replatform`, the terminal is deliberately
|
|
35
|
+
non-interactive: do not use an agent question UI, ask for stdin, or wait for a person in the
|
|
36
|
+
current agent turn. The runner owns process lifecycle and emits only observed events; it does
|
|
37
|
+
not replace this skill's router or completion receipts.
|
|
38
|
+
|
|
39
|
+
When a human choice, review, approval, or manual prerequisite is needed, create a durable
|
|
40
|
+
request with `node skills/wix-replatform/scripts/user-action.js create --project <projectDir>
|
|
41
|
+
--request-file <request.json>`, then end the turn. Put only reviewed artifact paths in the
|
|
42
|
+
request. The person can later use `replatform requests`, `replatform show`, and
|
|
43
|
+
`replatform answer`; a resumed agent reads the answered request from
|
|
44
|
+
`orchestration/user-actions/`, never from reconstructed chat context.
|
|
45
|
+
|
|
46
|
+
Cancellation is not completion. If the runner has recorded `cancel_requested`, `canceled`, or
|
|
47
|
+
`interrupted`, preserve partial/recovery artifacts and let a later explicit `replatform resume`
|
|
48
|
+
route recovery. Never create aggregate migration completion from an aborted execution report.
|
|
49
|
+
|
|
50
|
+
## Pipeline
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
intake → destination → source inputs → preflight → (standard: discovery → mapping → codegen;
|
|
54
|
+
quick: adapter preflight → quick plan) → setup discovery → website handoff
|
|
55
|
+
→ safety review/approval → setup → import
|
|
56
|
+
→ storefront continuation (website only) → aggregate finalization
|
|
559
57
|
```
|
|
560
58
|
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
`
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
If
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
##
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
-
|
|
680
|
-
|
|
681
|
-
-
|
|
682
|
-
|
|
59
|
+
Delivery modes are `management` (backend only), `website` (frontend only), and
|
|
60
|
+
`management_and_website` (the integrated flow above). Accept user input `both` as
|
|
61
|
+
`management_and_website` and persist the canonical value.
|
|
62
|
+
|
|
63
|
+
For `deliveryMode=management`, aggregate finalization requires valid backend import
|
|
64
|
+
accounting. For `deliveryMode=management_and_website`, it additionally requires a current
|
|
65
|
+
`website/completion.json` with completed screenshot review, no unresolved critical/high
|
|
66
|
+
gaps, and release evidence. `execution/completion-report.json` is backend accounting,
|
|
67
|
+
never website-migration completion by itself.
|
|
68
|
+
|
|
69
|
+
## Route before acting
|
|
70
|
+
|
|
71
|
+
On every new or resumed turn:
|
|
72
|
+
|
|
73
|
+
1. Resolve the project and initialize/load its orchestration artifacts.
|
|
74
|
+
2. Run `node skills/wix-replatform/scripts/orchestration-route.js <projectDir>`.
|
|
75
|
+
3. Dispatch the `nextResource` to a Developer subagent instead of loading and following it
|
|
76
|
+
yourself. Give it the project directory and the resource to run; it follows that
|
|
77
|
+
resource's contract exactly as written, unchanged. Read back only its result — never its
|
|
78
|
+
transcript, tool output, or logs.
|
|
79
|
+
- A Developer subagent may fan out to its own sub-subagents, only when it is certain
|
|
80
|
+
doing so is harmless — read-only work with no shared state and no write to anything
|
|
81
|
+
durable — and only if the host agent happens to support it. It must never fan out for
|
|
82
|
+
anything that writes shared state; that stays one write at a time, exactly as each
|
|
83
|
+
resource's own contract already does today. If the host agent doesn't support nested
|
|
84
|
+
dispatch, the Developer just does the work itself, sequentially.
|
|
85
|
+
4. Dispatch a QA subagent to check the Developer's result against that resource's own
|
|
86
|
+
stated required outputs (its own "artifacts to create or update" or "## Output"
|
|
87
|
+
section, and any review/gap documents it defines). QA is read-only — it never writes or
|
|
88
|
+
calls Wix. If something's missing, dispatch a new Developer for the same resource with
|
|
89
|
+
QA's findings; otherwise the stage is done.
|
|
90
|
+
5. At the end of each pipeline phase (discovery, mapping, setup discovery, import, and so
|
|
91
|
+
on — see the pipeline above; a phase spans several resource-level stages), dispatch a QA
|
|
92
|
+
subagent to review that phase's documents as a whole (for example
|
|
93
|
+
`mapping/review/mapping-summary.md` and `mapping-gaps.json`, or
|
|
94
|
+
`execution/completion-report.json`) before routing to the next phase. This catches
|
|
95
|
+
anything a single per-task check could miss. For the import phase specifically, this
|
|
96
|
+
review must be entity-by-entity against the accepted mapping plan, not a skim of the
|
|
97
|
+
top-level status string — see `rp-execute-import`'s "Entity-by-entity QA" section. Any
|
|
98
|
+
run-fixing dispatch mid-phase (a crash fix, a slowness fix, a resumed pass) does not
|
|
99
|
+
itself satisfy this; run the phase-level QA again once the fix lands, since fixing one
|
|
100
|
+
entity's defect certifies nothing about its neighbors.
|
|
101
|
+
6. Route again after every stage boundary. Never decide the next stage from memory.
|
|
102
|
+
|
|
103
|
+
The router (`lib/orchestration-router.js`) is the only routing and resume authority. It
|
|
104
|
+
recomputes the route from decisions, approvals, preflight, `run.json` `status` and the phase
|
|
105
|
+
outputs on every call; `run.json.currentState` is diagnostic only, never a routing input.
|
|
106
|
+
|
|
107
|
+
- A recorded rejection stops the route in every mode, one-click included:
|
|
108
|
+
`execution_approval_rejected` is `blocked` before any setup or import write, and
|
|
109
|
+
`mapping_approval_rejected` returns to `rp-mapper` for a new plan.
|
|
110
|
+
- A gated output that exists but is unusable (`source_schema_invalid`, `mapping_plan_invalid`,
|
|
111
|
+
`setup_plan_invalid`, `setup_requirements_invalid`, `execution_manifest_invalid`) is
|
|
112
|
+
`blocked` with `errors` and the producer as `nextResource`. Do not re-run the producer
|
|
113
|
+
automatically; report the errors to the Import Operator and stop.
|
|
114
|
+
- The import routes (`missing_completion_report`, `quick_mode_import_required`) carry
|
|
115
|
+
`importProgress`. `interrupted` lists `recoveryArtifacts`: resume that import, which
|
|
116
|
+
reconciles before any create. Never start a second import.
|
|
117
|
+
|
|
118
|
+
If an artifact is malformed, partial, stale, or fails its validator, treat its producing
|
|
119
|
+
stage as incomplete and route to the producer. Do not make parallel replacement artifacts.
|
|
120
|
+
|
|
121
|
+
A user action whose reviewed artifacts changed after it was created is refused with
|
|
122
|
+
`user_action_stale` and stays pending. Create a new request from the current artifacts.
|
|
123
|
+
|
|
124
|
+
**Catching up a finished migration is a rerun, not a new project.** When the user asks to pull
|
|
125
|
+
in records that arrived or changed since the import — "the source kept selling", "these orders
|
|
126
|
+
are missing", "re-run it" — reuse the same project, destination, mapping, generated importer
|
|
127
|
+
and crosswalk, and route to `rp-execute-import` → "Rerunning an import for new and modified
|
|
128
|
+
records". Do not scaffold a second project or re-approve an unchanged mapping; a
|
|
129
|
+
mapping or scope *change* does go back through the existing gates. A rerun's revision conflicts
|
|
130
|
+
are user decisions even in 1-click mode.
|
|
131
|
+
|
|
132
|
+
## Demand-loaded module map
|
|
133
|
+
|
|
134
|
+
| Router situation | Dispatch |
|
|
135
|
+
|---|---|
|
|
136
|
+
| project, delivery mode, source mode, or grouped intake is unresolved | `resources/rp-project-intake/` |
|
|
137
|
+
| destination is absent, conflicting, or needs creation/adoption | `resources/rp-destination/` |
|
|
138
|
+
| source URL/files/config/acquisition mode/credentials are required, including source credentials said to exist already on another site | `resources/rp-source-inputs/` |
|
|
139
|
+
| deterministic preflight is missing or blocked | `resources/rp-preflight/` |
|
|
140
|
+
| quick mode needs platform resolution, endpoint preflight, plan, extraction, or import | selected `resources/rp-quick-<platform>/` |
|
|
141
|
+
| source schema is missing | `resources/rp-discovery/` and its selected source adapter |
|
|
142
|
+
| mapping is missing or needs review | `resources/rp-mapper/` |
|
|
143
|
+
| Wix requirements are missing | `resources/rp-setup-discovery/` |
|
|
144
|
+
| import code/review is missing or stale | `resources/rp-import-codegen/` |
|
|
145
|
+
| setup verification is missing | `resources/rp-execute-setup/` |
|
|
146
|
+
| backend completion report is missing | `resources/rp-execute-import/` |
|
|
147
|
+
| frontend-only work, or integrated website handoff/build/gap loop/release receipt is incomplete | `resources/rp-website-continuation/` |
|
|
148
|
+
| aggregate completion is missing | `resources/rp-execution-policy/` |
|
|
149
|
+
|
|
150
|
+
The resource named by the route is the complete stage contract, dispatched as described in
|
|
151
|
+
"Route before acting" — the main session itself never loads it directly. Only the
|
|
152
|
+
dispatched Developer loads source-file, secret, scaffolding, or storefront procedures, and
|
|
153
|
+
only for the stage that actually needs them; nothing about a stage where they're irrelevant
|
|
154
|
+
is loaded, by the main session or the Developer.
|
|
155
|
+
|
|
156
|
+
## Interaction policy
|
|
157
|
+
|
|
158
|
+
Normal mode asks only for a missing required input, a genuinely ambiguous active project,
|
|
159
|
+
or a mandatory write approval. Ask one question at a time unless a module says otherwise.
|
|
160
|
+
|
|
161
|
+
When the user says `add to expectations: <note>` (or an unambiguous natural-language
|
|
162
|
+
equivalent), append the note to the active project's `EXPECTATIONS.md` before continuing.
|
|
163
|
+
Use `scripts/expectations-ledger.js` so the entry retains the supplied statement plus safe
|
|
164
|
+
current context (stage/state, relevant project-relative artifacts, and known entity/field
|
|
165
|
+
labels). Do not treat this as approval or silently change a mapping. Never record secrets,
|
|
166
|
+
tokens, raw customer data, or raw source records; redact them if supplied and say so.
|
|
167
|
+
|
|
168
|
+
Before writes, preserve the mandatory execution-plan approval gate. Read-only discovery,
|
|
169
|
+
mapping, setup verification, code generation, and review happen before it.
|
|
170
|
+
|
|
171
|
+
## Quick management import mode
|
|
172
|
+
|
|
173
|
+
When `managementImportMode=quick`, select the platform adapter only after the deterministic
|
|
174
|
+
source probe identifies a compatible platform. Quick mode is a bounded public-data import:
|
|
175
|
+
the adapter's versioned `quick-mode.json` owns its source routes, entity graph, field matrix,
|
|
176
|
+
and exclusions. Do not run agentic discovery, mapping, or project-specific code generation for
|
|
177
|
+
the quick backend branch. Still run destination setup, application installation, Catalog-V3 and
|
|
178
|
+
notification safety checks, execution approval, shared write runtime, crosswalks, and completion
|
|
179
|
+
accounting. If no adapter qualifies, persist the unsupported-mode result and ask the user to
|
|
180
|
+
select standard mode; never silently fall back.
|
|
181
|
+
|
|
182
|
+
Halt only for missing/invalid required input, a manual action with no API, or a systemic
|
|
183
|
+
failure/data-loss risk. A halt must persist the code, evidence, owner, and exact unblock
|
|
184
|
+
action; never silently stop.
|
|
185
|
+
|
|
186
|
+
## 1-click mode
|
|
187
|
+
|
|
188
|
+
When explicitly requested by the user, record `automationMode=one_click` with
|
|
189
|
+
`source=user` and apply the following. A missing mode or a `one_click` value recorded as
|
|
190
|
+
`deterministic_inference`/`prior_artifact` is normal interactive mode and must not skip a
|
|
191
|
+
checkpoint:
|
|
192
|
+
|
|
193
|
+
- collect all still-missing intake values in one grouped request; then do not pause for
|
|
194
|
+
routine approvals;
|
|
195
|
+
- record mapping and execution approvals as `approved`, `decidedBy=agent`; skipping a
|
|
196
|
+
pause without state is invalid;
|
|
197
|
+
- for CSV/file-only runs, validate and accept the required sample preview as the agent;
|
|
198
|
+
without explicit user-authored one-click, pause for the normal mapping review, sample
|
|
199
|
+
preview validation, and execution approval;
|
|
200
|
+
- default to a new isolated site unless an existing destination is explicitly supplied or
|
|
201
|
+
already pinned, but never default the new site's type (Headless, Studio or Harmony): ask it
|
|
202
|
+
in the grouped intake; choose website scope deterministically from discovered route families;
|
|
203
|
+
- retry PATH/tool-resolution failures under the operator's compatible interactive login shell;
|
|
204
|
+
request required browser/network sandbox escalation and retry before calling it blocked;
|
|
205
|
+
- retry the obvious recovery before stopping: aligned shell first for PATH/tool failures,
|
|
206
|
+
then the required escalation retry for sandboxed browser or network/API failures;
|
|
207
|
+
- continue through the complete selected deliverable. In `management_and_website` mode that includes
|
|
208
|
+
frontend build, post-build gap analysis, bounded fix loop, and release receipt; when the
|
|
209
|
+
user selected facelift at intake, it also includes the separate post-clone facelift review;
|
|
210
|
+
- before yielding, re-route. A 1-click run is only `completed` with
|
|
211
|
+
`completion/migration-completion.json`, or `blocked` with a typed durable blocker.
|
|
212
|
+
|
|
213
|
+
Use the operator's compatible local Node/Yarn shell when recovering from a PATH or tool
|
|
214
|
+
resolution failure. Machine-specific shell paths belong only in local, git-excluded agent
|
|
215
|
+
instructions.
|
|
216
|
+
|
|
217
|
+
**Repo-local interactive shell contract:** a PATH/tool-resolution failure on first attempt may
|
|
218
|
+
mean the command ran under a plain, non-interactive shell that never sourced the operator's
|
|
219
|
+
Node/Yarn profile. Resolve the operator's compatible login shell from the local environment or
|
|
220
|
+
git-excluded agent instructions, verify that it is executable, and retry the exact same command
|
|
221
|
+
through that shell in interactive login mode so the profile that resolves `node`/`yarn`/`npx`
|
|
222
|
+
loads. Do not hardcode a machine-specific shell path in this public skill. Only escalate to a
|
|
223
|
+
durable blocker if the compatible-shell retry itself fails.
|
|
683
224
|
|
|
684
225
|
## Guardrails
|
|
685
226
|
|
|
686
|
-
-
|
|
687
|
-
-
|
|
688
|
-
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
227
|
+
- Never bypass a validator, approval-state update, verified notification mute, or
|
|
228
|
+
Catalog-V3 gate to make a stage appear finished.
|
|
229
|
+
- `website` means frontend only; `management_and_website` means the integrated backend and
|
|
230
|
+
frontend migration. Never hand the integrated migration destination to the frontend skill
|
|
231
|
+
or create a second frontend site in that mode.
|
|
232
|
+
- A Studio or Harmony destination (`targetSiteType`) is created and verified by
|
|
233
|
+
`rp-destination`'s coordinator and is never published, unpublished or handed to
|
|
234
|
+
`wix-headless-replatform`; its website and publication remain operator handoff items.
|
|
235
|
+
- Do not implement a storefront manually when `wix-headless-replatform` is unavailable;
|
|
236
|
+
persist a blocker with the exact required runtime capability.
|
|
237
|
+
- In management mode, still generate `website/handoff.*` after setup discovery so a later
|
|
238
|
+
storefront can start without repeating backend discovery.
|