بنقرة واحدة
release
Cut a new Helix release — bump version, update CHANGELOG, tag, and optionally push a GitHub release
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Cut a new Helix release — bump version, update CHANGELOG, tag, and optionally push a GitHub release
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | release |
| description | Cut a new Helix release — bump version, update CHANGELOG, tag, and optionally push a GitHub release |
| user-invocable | true |
Guide the user through cutting a new Helix release interactively.
Run git status to confirm the working tree is clean. If there are uncommitted changes, warn the user and stop:
"Your working tree has uncommitted changes. Please commit or stash them before releasing."
Also run git log --oneline -5 to show recent commits as context.
Read the current version from pyproject.toml (version = "..." under [project]).
Ask the user what kind of release this is:
Compute the new version from the current one using semver rules, or use the custom value the user provides.
Confirm with the user before proceeding:
"Releasing v{NEW_VERSION} (was {CURRENT_VERSION}). Continue? [y/N]"
Before touching any files, verify the codebase is clean.
Linter:
.venv/bin/ruff check .
If ruff reports errors, stop and tell the user:
"Linter errors found. Fix them before releasing." Show the errors. Do not proceed until they are resolved.
Unit tests:
.venv/bin/python3 -m pytest tests/ -q
If any tests fail, stop and tell the user:
"Tests are failing. Fix them before releasing." Show the failure summary. Do not proceed until all tests pass.
Only continue to Step 4 when both linter and tests are clean.
pyproject.tomlEdit pyproject.toml, replacing the version = "..." line under [project] with the new version.
CHANGELOG.mdRead CHANGELOG.md.
## [Unreleased] section."The [Unreleased] section is empty. Add your changes there first, or continue anyway to create an empty release entry." Ask them to confirm.
## [Unreleased] with two blocks:
## [Unreleased]
---
## [{NEW_VERSION}] — {TODAY_DATE}
Where {TODAY_DATE} is today's date in YYYY-MM-DD format.[Unreleased] under the new version heading.Stage both files and create a commit:
git add pyproject.toml CHANGELOG.md
git commit -m "chore: release v{NEW_VERSION}"
Then create an annotated tag:
git tag -a "v{NEW_VERSION}" -m "Release v{NEW_VERSION}"
Ask the user:
"Push the commit and tag to origin? [y/N]"
If yes:
git push origin main
git push origin "v{NEW_VERSION}"
Ask the user:
"Create a GitHub release for v{NEW_VERSION}? [y/N]"
If yes, extract the changelog content for this version (everything between the new version heading and the next --- separator) and run:
gh release create "v{NEW_VERSION}" \
--title "v{NEW_VERSION}" \
--notes "{CHANGELOG_SECTION}"
If gh is not installed, tell the user to install the GitHub CLI or create the release manually at https://github.com/88hours/helix-community/releases/new.
Print a summary:
Released v{NEW_VERSION}
ruff clean
tests N passed
pyproject.toml updated
CHANGELOG.md updated
git tag v{NEW_VERSION}
pushed yes/no
GitHub release yes/no