Contributing #
Intrepid Ibex uses Changesets to track release intent and update the app version.
Versioning #
The current app is version 1.0.0.
Use semantic versioning:
patch: bug fixes, small visual fixes, copy changes, and internal maintenance.minor: new user-facing features that preserve existing behavior.major: breaking route, data, storage, or workflow changes.
This is a private static app, not an npm package. Changesets is still used to keep package.json and the changelog honest.
Adding a Changeset #
When a pull request changes user-visible behavior, data behavior, routes, build output, or public docs, add a changeset:
pnpm changeset
Pick intrepid-ibex, choose the bump type, and write a short summary in user-facing terms.
Do not add a changeset for:
- test-only changes
- local tooling tweaks with no user-facing effect
- refactors that do not change behavior
When in doubt, add a patch changeset. It is cheaper to have a clear changelog entry than to lose release context.
Cutting a Version #
To prepare a release:
pnpm version
That runs changeset version, consumes pending files in .changeset/, updates
package.json, and updates the changelog.
Then run the normal checks:
pnpm check
pnpm test:unit
pnpm build
Commit the version changes with the source changes they describe. Do not publish to npm.
Display Versions #
The app may display a build label like:
v1.0.0.dev-47+gc125759
The base 1.0.0 comes from package.json. The dev count and git hash should be generated at build time from git metadata.