bump-version
Bump the SkillKeeper version and prepare the release commit. Tagging and pushing remain separate, deliberate steps.
Steps
1. Require a clean working tree
Run git status --short. If there is any output, stop and ask the developer
to commit or stash first. The bump must be reviewable as an isolated diff.
2. Run the bump script
Run node scripts/bump-version.mjs <version> with the target version (for
example 0.1.0-rc.1). The script:
- writes
<version>into the root and all workspacepackage.jsonfiles, and - promotes
## DevelopmentinCHANGES.mdto## Version <version>, leaving a fresh empty## Developmentblock above it.
If the script exits non-zero, report the error and stop.
3. Review the diff
Run git diff and confirm the version bump touched exactly these files:
- the 3
package.jsonfiles (root,packages/i18n,apps/desktop), apps/desktop/src-tauri/tauri.conf.json(the Tauri bundle version),Cargo.toml(the workspace version every crate inherits), andCHANGES.md(the promoted## Version <v>section plus a fresh empty## Development).
No other files changed. (The old TS domain/CLI packages are gone since the
Tauri migration, so there are only 3 package.json files, not the former set.)
4. Create the release commit
git add -A
git commit -m "release: <version>"
Do NOT create a tag or push. Cutting the tag is a separate, explicit step performed only after the release gate passes.
Which branch the eventual tag belongs on depends on the version you just set:
- A release candidate (
<version>-rc.<n>) is tagged ondevelop. It exists to exercise the release pipeline before the work reaches the release branch, and it publishes as a GitHub pre-release, which the one-line installers ignore. - A final release (no pre-release suffix) is tagged on
main, afterdevelopmerges there.
scripts/check-tag-branch.mjs enforces this in the pipeline's first job, so a
final tag pushed from develop fails before anything is built. Run it locally
before pushing a tag to find out cheaply:
node scripts/check-tag-branch.mjs v<version>