Thanks for thinking about contributing! This is a small library; nothing exotic about the workflow.
pnpm install
pnpm test:cipnpm install should succeed without prompts. If you see a "Run pnpm approve-builds" warning, your pnpm version is older than 10 — upgrade.
pnpm test:ci runs eslint, vitest, tsc, the build, and publint across both packages.
- Branch off
main. - Make your change. Add or update tests under
packages/react-start-toast/tests/. - Run
pnpm test:cilocally. Everything should be green. - Add a changeset describing what changed (see below).
- Open a PR. CI re-runs
pnpm test:ci. The "Version Packages" bot will pick up your changeset on merge.
Every user-facing change needs a changeset. Run:
pnpm changesetIt'll ask which packages changed and what kind of bump. While we're on 0.x, please:
- Pick
minorfor breaking API changes (in0.x, minor bumps are the breaking-change tier). - Pick
patchfor everything else — new exports, bug fixes, perf, docs that show up in the changelog. - Skip changesets entirely for repo-only changes that don't touch published behavior: CI tweaks, internal docs, example app changes, refactors with no API impact.
The changeset goes in .changeset/<name>.md. Write the description in the past tense, as if it's already in the changelog:
Fixed
redirectWithErrorswallowing the redirect location when called with a relative path.
Not:
This PR fixes a bug where…
Only packages/react-start-toast is published to npm. start-toast-core is workspace-internal — its code is bundled into the React adapter at build time. Changes to either flow through the same react-start-toast changeset.
pnpm --filter react-start-toast test:lib --watch— vitest in watch mode.pnpm --filter start-toast-example-basic dev— runs the example app against the workspace-linked lib. Useful for end-to-end manual testing.pnpm --filter start-toast-example-basic test:e2e— Playwright e2e tests against a built example.