Release Skill
Perform a full release for this project.
Process
- •Ensure you are on
mainand up to date:bashgit checkout main git pull
- •Run the changelog task to auto-determine the next version:
bash
uvx --from taskipy task changelog
- •Read
CHANGELOG.mdand extract the new version number from the latest heading. - •Present the changelog diff to the user for review. Wait for user approval before continuing.
- •Update
__version__insrc/gale_shapley_algorithm/__init__.pyto match the new version (without thevprefix). - •Stage and commit:
bash
git add CHANGELOG.md src/gale_shapley_algorithm/__init__.py git commit -m "chore: Release version X.Y.Z"
- •Push, tag, push the tag, and create the GitHub release:
bash
git push git tag vX.Y.Z git push --tags gh release create vX.Y.Z --generate-notes
Important
- •Always wait for user approval after showing the changelog diff before committing.
- •The version in
__init__.pymust match the tag without thevprefix (e.g.,__version__ = "1.2.0"and tagv1.2.0). - •Only changelog-relevant commit types appear:
build,deps,feat,fix,refactor. - •If there are no releasable commits since the last tag, inform the user and stop.