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/{{ python_package_import_name }}/__init__.pyto match the new version (without thevprefix). - •Stage and commit:
bash
git add CHANGELOG.md src/{{ python_package_import_name }}/__init__.py git commit -m "chore: Release version X.Y.Z" - •Push, tag, and push the tag:
bash
git push git tag vX.Y.Z git push --tags
- •The GitHub Actions release workflow will automatically create a GitHub release from the tag.
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.