Pre-operation Checks
Verify working tree is clean and current branch matches hotfix/* per ${CLAUDE_PLUGIN_ROOT}/references/invariants.md .
Phase 1: Identify Version
Goal: Determine hotfix version from current branch or argument.
Actions:
-
If $ARGUMENTS provided, use it as version (strip 'v' prefix if present)
-
Otherwise, extract from current branch: git branch --show-current (strip hotfix/ prefix)
-
Store clean version without 'v' prefix (e.g., "1.0.1")
Phase 2: Pre-finish Checks
Goal: Run tests before finishing.
Actions:
-
Identify test commands (check package.json, Makefile, etc.)
-
Run tests if available; exit if tests fail
Phase 3: Update Changelog
Goal: Generate changelog from commits.
Actions:
-
Get previous tag: git tag --sort=-v:refname | head -1
-
Collect commits per ${CLAUDE_PLUGIN_ROOT}/references/changelog-generation.md
-
Update CHANGELOG.md per ${CLAUDE_PLUGIN_ROOT}/examples/changelog.md
-
Commit: chore: update changelog for v$VERSION with Co-Authored-By footer
Phase 4: Finish Hotfix
Goal: Complete hotfix using git-flow-next CLI.
Actions:
-
Run git flow hotfix finish $VERSION --tagname "v$VERSION" -m "Release v$VERSION"
-
Verify current branch: git branch --show-current (should be on develop)
-
Push all: git push origin main develop --tags