release
Run pre-release validation and execute the release process
SKILL.md.agnostic-ai/skills/release/SKILL.md
GitHubRelease
Use ./release.sh from the repository root. It owns manifest and lockfile versions, build, checksum, changelog, commit, signed tags, GitHub release and latest. Fix the script when a step is missing; do not duplicate its flow.
- Run {{$SKILL:pre-release}} and reuse completed checks for unchanged content. Start on clean, current
mainand require CI success for that commit. - Use the user-selected version. Otherwise recommend a version from the changes and repository history; the script defaults to a minor bump. Performance and maintenance work can justify a minor release before 1.0. Confirm only if the version or publishing authorization is missing; an earlier selection and authorization remain valid.
- Preview
./release.sh <version> --dry-run. Finish validation and show the concrete preview before requesting any missing publishing approval. - Once authorized and green, run
./release.sh <version> --force. - Verify
gh release view <version>contains the binary and checksum; check the matchingnpm-publish.ymlrun, published npm version, installer checksum, andorigin/latestrelease commit. Report the release URL and any unfinished verification.
The dry run prints the previous dated changelog section because it does not rewrite files. The real run converts Unreleased first. Tags are annotated and respect tag.gpgsign; v0 points to the release commit. npm publishes through .github/workflows/npm-publish.yml on the GitHub release event.
If execution fails, inspect the completed steps before retrying. ./release.sh --rollback restores files from its saved backup; it does not undo already-pushed tags, commits or published artifacts.