Skip to main content
ClaudeWave
Skill1.2k estrellas del repoactualizado today

release-dry-run

The release-dry-run Claude Code skill analyzes uncommitted changes since the last git release tag and recommends a semantic version bump. Use this skill before publishing a new release to review what has changed, categorize modifications as breaking changes, new features, or bug fixes, and determine whether a major, minor, or patch version increment is appropriate.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/dyoshikawa/rulesync /tmp/release-dry-run && cp -r /tmp/release-dry-run/.rulesync/skills/release-dry-run ~/.claude/skills/release-dry-run
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

This is a dry run command for release. It will summarize the changes since the last release and suggest the appropriate version bump based on semantic versioning.

## Steps

1. Get the latest release tag.
   - Run `git fetch --tags` to ensure all tags are available.
   - Run `git describe --tags --abbrev=0` to get the latest tag.
   - Assign the result to $latest_tag.

2. Compare code changes between the latest tag and the current HEAD.
   - Run `git log ${latest_tag}..HEAD --oneline` to get the commit list.
   - Run `git diff ${latest_tag}..HEAD --stat` to get the file change statistics.

3. Analyze the changes and create a summary in the following format:

   ```
   ## Changes Summary

   ### Commits since ${latest_tag}
   - List of commits with their messages

   ### Changed Files
   - Summary of file changes (added, modified, deleted)

   ### Change Categories
   - **Breaking Changes**: List any breaking changes (API changes, removed features, etc.)
   - **New Features**: List new features added
   - **Bug Fixes**: List bug fixes
   - **Other Changes**: List other changes (refactoring, documentation, tests, etc.)
   ```

4. Based on the analysis, suggest the appropriate version bump following semantic versioning rules:
   - **MAJOR** (X.0.0): Breaking changes that are not backward compatible
     - Removed or renamed public APIs
     - Changed behavior of existing features
     - Dropped support for older Node.js versions
   - **MINOR** (x.Y.0): New features that are backward compatible
     - New CLI commands or options
     - New configuration options
     - New tool support
   - **PATCH** (x.y.Z): Bug fixes and minor improvements
     - Bug fixes
     - Documentation updates
     - Internal refactoring without API changes
     - Dependency updates (unless they cause breaking changes)

5. Output the final recommendation in the following format:

   ```
   ## Version Bump Recommendation

   Current version: ${latest_tag}
   Recommended bump: MAJOR / MINOR / PATCH
   Suggested new version: vX.Y.Z

   ### Reasoning
   - Explain why this version bump is recommended based on the changes.
   ```

**Note**: This is a dry run only. No files will be modified and no commits will be made.