Detect breaking changes and recommend version bump
Analyze commit history to detect breaking changes and recommend semantic version bumps. Use when preparing releases to determine if you need a MAJOR, MINOR, or PATCH version update based on conventional commits and API changes.
/plugin marketplace add vanman2024/dev-lifecycle-marketplace/plugin install versioning@dev-lifecycle-marketplace[--from=tag] [--detailed]šØ EXECUTION NOTICE FOR CLAUDE
When you invoke this command via SlashCommand, the system returns THESE INSTRUCTIONS below.
YOU are the executor. This is NOT an autonomous subprocess.
Immediately after SlashCommand returns, start executing Phase 0, then Phase 1, etc.
See @CLAUDE.md section "SlashCommand Execution - YOU Are The Executor" for detailed explanation.
CRITICAL: All generated files must follow security rules:
@docs/security/SECURITY-RULES.md
Key requirements:
your_service_key_here.env files with .gitignore.env.example with placeholders onlyArguments: $ARGUMENTS
Goal: Analyze commit history to detect breaking changes, categorize commits, and recommend appropriate semantic version bump
Core Principles:
Use: !{skill version-manager} when needed for templates and validation scripts.
Parse arguments and determine analysis scope:
Actions:
--from=<tag>: Start analysis from specific tag (default: last tag)--detailed: Enable detailed analysis with changelog-generator agentgit rev-parse --git-dir--from specified: Use provided tag as starting pointgit describe --tags --abbrev=0 --match "v*" 2>/dev/nullgit rev-list --max-parents=0 HEADGet commits in analysis range:
Actions:
git log <from>..<to> --pretty=format:"%H|%h|%s|%b"Scan commits for breaking change indicators:
Actions:
Explicit Breaking Changes:
!: feat!:, fix!:, refactor!:BREAKING CHANGE: or BREAKING-CHANGE: footerImplicit Breaking Changes (code analysis):
Store findings with commit references and descriptions
Categorize all commits by conventional type:
Actions:
^feat: or ^feat\(.+\): - count and collect^fix: or ^fix\(.+\): - count and collect^perf: or ^perf\(.+\): - count and collect^(chore|docs|ci|test|style|refactor): - count onlyDetermine appropriate version bump:
Actions:
Apply semantic versioning rules:
Calculate risk level:
Determine confidence level:
If --detailed flag provided, invoke changelog-generator:
Actions:
--detailed flag is presentTask(changelog-generator, "Generate changelog for range: <from>..<to>")Present findings in structured format:
Actions:
Display report with sections:
Display recommendation:
Display next steps:
/versioning:bump <type>Include documentation links: semver.org, conventionalcommits.org
If --detailed flag was used, append full changelog from agent
Handle analysis failures gracefully:
--from tag ā Exit with "Tag not found: <tag>"Provide helpful error messages and suggested fixes for each scenario.