Release Skill
Create a new release for the cryptobot-python package.
Usage
/release <version>
Where <version> is the new semantic version (e.g., 0.4.2, 0.5.0, 1.0.0).
Instructions
When the user invokes this skill with a version number, perform the following steps:
Validate the version: Ensure the version follows semantic versioning (X.Y.Z format). Reject pre-release or build metadata suffixes unless the user explicitly requests them.
Update version files:
- Update the
versionfield inpyproject.toml:sed -i '' 's/^version = ".*"/version = "<version>"/' pyproject.toml - Update
__version__incryptobot/__init__.py:sed -i '' 's/__version__ = ".*"/__version__ = "<version>"/' cryptobot/__init__.py - Verify both files match:
grep 'version' pyproject.toml | head -1 grep '__version__' cryptobot/__init__.py
- Update the
Ask for release notes: Ask the user what changes should be included in the release notes.
Update HISTORY.md: Add a new entry at the top of the History section with the version number, today's date, and the release notes provided by the user.
Run tests: Execute
make testto ensure all tests pass before proceeding. Do not continue if tests fail.Create commit:
git add pyproject.toml cryptobot/__init__.py HISTORY.md git commit -m "chore(release): prepare v<version> release"Create tag:
git tag -a "v<version>" -m "v<version>"Push commit and tag:
git push origin main git push origin "v<version>"Create GitHub release:
gh release create "v<version>" --title "v<version>" --notes "<release-notes>"Use the release notes from the HISTORY.md entry. For multi-line notes, use
--notes-filewith a temporary file instead.Report completion: Provide the user with a summary of files changed and a link to the GitHub release.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.