Changesets and releases
This package uses Changesets to version and publish. Each pull request states its own version bump; nobody edits package.json by hand.
Adding a changeset
After you make a change that should be released, run:
bash
npx changesetThis asks you:
- Which packages changed (there is only one:
@kaelyx/ts-kit). - Whether the change is a
patch,minor, ormajorbump. - A summary of the change, written for the changelog.
It writes a Markdown file into .changeset/. Commit this file as part of your pull request.
A pull request that adds a function, fixes a bug, or changes public behaviour needs a changeset. A pull request that only touches docs, tests, or internal tooling usually does not.
Choosing a bump
- patch: a bug fix, or an internal change with no effect on the public API.
- minor: a new function, or a new backwards-compatible option.
- major: a change to an existing function's signature or behaviour. Before
1.0.0, treat any breaking change as a minor bump instead (see the version policy below).
What happens after merge
- Merging a pull request with a changeset to
maintriggers.github/workflows/release.yml. - The Changesets GitHub Action opens (or updates) a "Version Packages" pull request, with the new version number and an updated
CHANGELOG.md, computed from every pending changeset. - Merging that version pull request runs
npm run buildand publishes the package to npm using npm trusted publishing (GitHub OIDC, so no npm token is stored in the repository).
You do not run npm publish yourself. Publishing only happens through the release workflow.
Version policy
- Use
0.xversions until the naming and API rules in this plan are accepted as permanent. - Move to
1.0.0once the shape of the API is stable. - After
1.0.0, a change to a function's signature is a major version.