After every change, you must:
- Run
yarn build— rebuild any changed packages. - Run relevant tests — ensure all affected test suites pass. Read ./CONTRIBUTING.md for how to run tests.
- Check for type errors — run the TypeScript compiler to verify there are no type errors.
- Check for lint and formatting errors — run the linter and formatter to ensure code quality.
Package versions are calendar versions: the major.minor of the npm
version is the Shopify API version (2026.10.x → API version 2026-10,
derived at build time — see packages/ui-extensions-tester/src/api-version.ts).
- Never mark a changeset
major. A major bump rolls the calendar year (2026.10.0→2027.0.0→ API version "2027-00", which doesn't exist), breaks the tester's version check on every PR, and publishes an RC that is semver-higher than the branch's own final release. Breaking changes are already gated by API version; declare themminorand describe the break in the changeset text. - On RC branches (
.changeset/pre.jsonpresent), released changeset files are retained and keep contributing to version computation until pre-mode exits — correcting a bad version requires fixing the changeset file itself, not justpackage.json.
When working on ui-extensions-tester, ALWAYS read packages/ui-extensions-tester/AGENTS.md.