Power Release
All-in-one command covering create, flow, release, branch. Includes structured workflows, validation checks, and reusable patterns for git.
Power Release
Create a Git Flow release branch with version bumping, changelog generation, and pre-release checks.
When to Use This Command
Run this command when you need to:
- Cut a release branch from develop to stabilize code before deploying to production
- Bump version numbers across package files, update changelogs, and prepare release notes
- Run comprehensive pre-release validation including tests, linting, and build verification
Consider alternatives when:
- You use continuous deployment and ship every commit on main without formal release branches
- You need to create a patch release which should use the hotfix workflow instead
Quick Start
Configuration
name: power-release type: command category: git
Example Invocation
claude command:run power-release --version "2.5.0"
Example Output
Creating release branch...
Current version: 2.4.3
Target version: 2.5.0
Commits since v2.4.3: 23
Branch: release/2.5.0
Base: develop (commit c91d8f2)
Tracking: origin/release/2.5.0
Version bump:
package.json: 2.4.3 -> 2.5.0
build.gradle: 2.4.3 -> 2.5.0
Changelog generated:
12 features, 8 fixes, 3 chores added to CHANGELOG.md
Pre-release checks: All passing
Tests: 284 passed, 0 failed
Lint: 0 errors, 0 warnings
Build: success (42s)
Core Concepts
Release Process Overview
| Aspect | Details |
|---|---|
| Source | Branches from develop when features for the release are complete |
| Version | Follows semantic versioning with major.minor.patch format |
| Changelog | Auto-generated from conventional commit messages since last release |
| Validation | Runs full test suite, linter, and production build before proceeding |
| Freeze | Only bug fixes are allowed on the release branch, no new features |
Release Workflow
develop: --*--*--*--*--*--------*--*-->
| /
release: *--fix--*
| \
main: --*----------+---------*-[v2.5.0]-->
v2.4.3 branch merge+tag
Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
| version | string | (required) | Target version number following semver format |
| bump-files | string[] | auto-detect | List of files containing version numbers to update |
| changelog | boolean | true | Auto-generate changelog from commit history |
| run-checks | boolean | true | Run tests, lint, and build before creating release |
| draft-notes | boolean | true | Create draft GitHub release notes automatically |
Best Practices
-
Freeze feature development - Once the release branch is cut only bug fixes should go into it. New features must target the next release by merging into develop instead.
-
Use conventional commits - Consistent commit message formats like
feat:,fix:, andchore:enable accurate automatic changelog generation that saves hours of manual documentation work. -
Test on release branch specifically - Do not assume passing tests on develop means the release is stable. Dependencies, environment variables, and build configs may differ on the release branch.
-
Coordinate with QA early - Notify your QA team when the release branch is cut so they can begin testing immediately. The release branch is their stable target for validation.
-
Keep the release branch short-lived - A release branch that lingers for weeks accumulates drift from develop. Aim to stabilize and finish within a few days at most.
Common Issues
-
Version conflict in package files - If multiple package files have different versions the command flags the inconsistency. Align them manually before retrying the release creation.
-
Changelog includes commits from previous release - This happens when tags are missing or misplaced. Verify that the previous release tag exists on the correct commit in the history.
-
Build fails on release branch but passes on develop - Release branches sometimes expose environment-specific issues. Check for hardcoded paths, missing env variables, or dev-only dependencies that are present in the develop environment but not in the release build pipeline.
-
Changelog categories are wrong - If commits use non-standard prefixes like
add:instead offeat:, the changelog generator may miscategorize them. Standardize commit message prefixes across the team and configure the changelog parser to recognize your project's specific conventions.
Reviews
No reviews yet. Be the first to review this template!
Similar Templates
Git Commit Message Generator
Generates well-structured conventional commit messages by analyzing staged changes. Follows Conventional Commits spec with scope detection.
React Component Scaffolder
Scaffolds a complete React component with TypeScript types, Tailwind styles, Storybook stories, and unit tests. Follows project conventions automatically.
CI/CD Pipeline Generator
Generates GitHub Actions workflows for CI/CD including linting, testing, building, and deploying. Detects project stack automatically.