| name | sync-makeswift |
|---|---|
| description | Sync the `integrations/makeswift` branch with `canary` in the Catalyst monorepo. Use when the user says "/sync-makeswift", "sync makeswift", "sync integrations/makeswift", or asks to bring `integrations/makeswift` up to date with `canary`. |
Execute the following phases in order. Pause for user input where indicated.
git fetch origin
git checkout -B sync-integrations-makeswift origin/integrations/makeswift
git merge origin/canaryIf the merge completes cleanly, skip to changeset cleanup. Otherwise, resolve conflicts.
core/package.json: thenamefield MUST stay@bigcommerce/catalyst-makeswift. Theversionfield MUST stay at the latest published@bigcommerce/catalyst-makeswiftversion (check what's onorigin/integrations/makeswift, notcanary).core/CHANGELOG.md: the latest release entry MUST match the latest published@bigcommerce/catalyst-makeswiftversion.pnpm-lock.yaml: accept canary's version (git checkout --theirs pnpm-lock.yaml), then regenerate withpnpm install --no-frozen-lockfile.- For all other conflicts, prefer canary's structure/patterns while preserving makeswift-specific additions (imports, components, config).
After resolving all conflicts, stage everything and verify no unresolved conflicts remain:
git add <resolved files>
git diff --name-only --diff-filter=U # should return emptyRemove any .changeset/*.md files that do NOT target @bigcommerce/catalyst-makeswift. Read each changeset file and delete any that reference @bigcommerce/catalyst-core or other packages. Amend the removals into the merge commit.
git commit --no-editIf changesets were removed after the initial commit, amend them in (git commit --amend --no-edit) rather than creating a separate commit.
git push origin sync-integrations-makeswiftOpen a PR into integrations/makeswift (not canary):
- Title:
sync \integrations/makeswift` with `canary`` - Body: summarize what came from canary, list conflict resolutions, and include this notice:
Do not squash or rebase-and-merge this PR. Use a true merge commit or rebase locally to preserve the merge base between
canaryandintegrations/makeswift.
Stop here. Tell the user the PR is ready for review and wait for them to confirm approval before continuing.
git fetch origin
git checkout -B integrations/makeswift origin/integrations/makeswift
git rebase sync-integrations-makeswift
git push origin integrations/makeswift --force-with-leaseThis closes the PR automatically. Confirm with the user that the push succeeded and the PR closed.
Switch back to canary and delete the local branches that are no longer needed:
git checkout canary
git pull
git branch -D sync-integrations-makeswift integrations/makeswift