- Add SHELL declaration to Makefile for bash compatibility
- Add check that release is run from main branch
- Use jq instead of grep -oP for JSON parsing in release.yml
- Move checkout before git ls-remote in create-release.yml
- Add --allow-empty to commit in create-release.yml
https://claude.ai/code/session_0158SxS2ATe6PL8zTpsoHRFn
Adds a "Create Release" workflow that can be triggered manually from the
Actions tab. It takes a version string, validates the format, checks for
duplicate tags, runs tests, updates manifest.json, commits, tags, and
pushes — which then triggers the existing release workflow to build and
publish the artifact.
https://claude.ai/code/session_0158SxS2ATe6PL8zTpsoHRFn
Update `make release` to write the version into manifest.json and commit
it before tagging, so the packaged artifact always carries the correct
version. Also add a CI guard in the release workflow that fails early if
the tag and manifest versions ever diverge.
https://claude.ai/code/session_0158SxS2ATe6PL8zTpsoHRFn