/release
Production-ready release orchestrator with semantic versioning, changelog generation, and multi-platform distribution
How it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/release
Context preview
What this command does when you run it.
Production-ready release orchestrator with semantic versioning, changelog generation, and multi-platform distribution
Command definition
release.mdallowed-tools: Task, Read, Write, Edit, MultiEdit, Bash(git:*), Bash(gh:*), Bash(npm:*), Bash(cargo:*), Bash(go:*), Bash(mvn:*), Bash(gradle:*), Bash(deno:*), Bash(docker:*), Bash(jq:*), Bash(gdate:*), Bash(fd:*), Bash(rg:*), Bash(bat:*)
name: "Release"
description: "Production-ready release orchestrator with semantic versioning, changelog generation, and multi-platform distribution"
author: "wcygan"
tags: ["workflow","manage"]
version: "1.0.0"
created_at: "2025-07-14T00:00:00Z"
updated_at: "2025-07-14T00:00:00Z"
Context
- Session ID: !`gdate +%s%N 2>/dev/null || date +%s%N 2>/dev/null || echo "$(date +%s)$(jot -r 1 100000 999999 2>/dev/null || shuf -i 100000-999999 -n 1 2>/dev/null || echo $RANDOM$RANDOM)"`
- Target release: $ARGUMENTS
- Current directory: !`pwd`
- Git status: !`git status --porcelain`
- Current branch: !`git branch --show-current`
- Latest tag: !`git describe --tags --abbrev=0 2>/dev/null || echo "No tags found"`
- Uncommitted changes: !`git diff --name-only HEAD | wc -l | tr -d ' '` files
- Recent commits: !`git log --oneline -5 --format="%h %s"`
- Project structure: !`fd "(package\.json|Cargo\.toml|go\.mod|pom\.xml|build\.gradle|deno\.json)" . -d 2 | head -5 || echo "No build files detected"`
- Release tools status: !`echo "git: $(which git >/dev/null && echo ✓ || echo ✗) | gh: $(which gh >/dev/null && echo ✓ || echo ✗) | docker: $(which docker >/dev/null && echo ✓ || echo ✗) | jq: $(which jq >/dev/null && echo ✓ || echo ✗)"`
Your Task
STEP 1: Initialize comprehensive release session and validate environment
- CREATE session state file: `/tmp/release-session-$SESSION_ID.json`
- VALIDATE working directory is clean (no uncommitted changes)
- CONFIRM current branch is main/master or release branch
- CHECK required tools availability (git, gh, build tools)
- DETECT project type and build system from Context section
# Initialize release session state
echo '{
"sessionId": "'$SESSION_ID'",
"targetRelease": "'$ARGUMENTS'",
"projectType": "auto-detect",
"currentVersion": null,
"nextVersion": null,
"releaseType": "auto-detect",
"changelogGenerated": false,
"assetsBuilt": false,
"published": false
}' > /tmp/release-session-$SESSION_ID.jsonSTEP 2: Intelligent version analysis and semantic versioning strategy
TRY:
**Version Detection and Analysis:**
# Extract current version from project files
current_version=$(git describe --tags --abbrev=0 2>/dev/null | sed 's/^v//' || echo "0.0.0")
echo "📋 Current version detected: $current_version"
# Analyze commits since last release for semantic versioning
latest_tag=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
if [[ -n "$latest_tag" ]]; then
commits_since_tag=$(git log $latest_tag..HEAD --oneline)
echo "📝 Commits since $latest_tag:"
echo "$commits_since_tag"
else
echo "📝 No previous tags found - preparing initial release"
fi
**Semantic Version Bump Analysis:**
CASE commit_analysis: WHEN "breaking_changes_detected":
- DETERMINE major version bump (X.0.0)
- IDENTIFY breaking changes from commit messages
- FLAG need for migration guide generation
WHEN "new_features_detected":
- DETERMINE minor version bump (X.Y.0)
- EXTRACT feature list from conventional commits
- PREPARE feature highlighting for release notes
WHEN "bug_fixes_only":
- DETERMINE patch version bump (X.Y.Z)
- COMPILE bug fix list for changelog
- FOCUS on stability and reliability messaging
STEP 3: Parallel changelog generation and release notes creation
IF project_complexity == "large" OR commit_count > 50:
LAUNCH parallel sub-agents for comprehensive changelog generation:
- **Agent 1: Commit Analysis**: Parse all commits since last release, categorize by conventional commit types
- Focus: feat, fix, docs, style, refactor, perf, test, chore patterns
- Tools: git log parsing, conventional commit validation
- Output: Categorized commit manifest with issue linking
- **Agent 2: Breaking Changes Assessment**: Identify breaking changes and API modifications
- Focus: BREAKING CHANGE footers, exclamation marks in types, API removals
- Tools: git diff analysis, API surface comparison
- Output: Breaking changes summary with migration requirements
- **Agent 3: Security & Dependency Updates**: Track security fixes and dependency updates
- Focus: Security patches, vulnerability fixes, dependency upgrades
- Tools: Dependency file analysis, commit message scanning
- Output: Security update summary and impact assessment
- **Agent 4: Performance & Optimization**: Catalog performance improvements and optimizations
- Focus: Performance commits, optimization changes, benchmark improvements
- Tools: Performance-related commit analysis
- Output: Performance improvement summary
ELSE:
EXECUTE streamlined changelog generation:
# Generate structured changelog from git history
echo "📝 Generating changelog from git history..."
# Extract commits by type using conventional commit format
git log $latest_tag..HEAD --pretty=format:"%s" | while read commit; do
if [[ $commit =~ ^feat(\(.+\))?: ]]; then
echo "### Added" >> /tmp/changelog-$SESSION_ID.md
echo "- ${commit#feat*: }" >> /tmp/changelog-$SESSION_ID.md
elif [[ $commit =~ ^fix(\(.+\))?: ]]; then
echo "### Fixed" >> /tmp/changelog-$SESSION_ID.md
echo "- ${commit#fix*: }" >> /tmp/changelog-$SESSION_ID.md
elif [[ $commit =~ ^docs(\(.+\))?: ]]; then
echo "### Documentation" >> /tmp/changelog-$SESSION_ID.md
echo "- ${commit#docs*: }" >> /tmp/changelog-$SESSION_ID.md
fi
doneSTEP 4: Multi-language version updates with comprehensive build file management
CASE detected_project_type: WHEN "rust":
# Update Cargo.toml version
echo "🦀 Updating Rust project version to $next_version"
sed -i.bak "s/^version = \".*\"/version = \"$next_version\"/" Cargo.toml
# Update any version constants in source
if fd "version\.rs|main\.rs|lib\.rs" src/ | head -1 >/dev/null; then
rg "const VERSION
Read more
allowed-tools: Task, Read, Write, Edit, MultiEdit, Bash(git:*), Bash(gh:*), Bash(npm:*), Bash(cargo:*), Bash(go:*), Bash(mvn:*), Bash(gradle:*), Bash(deno:*), Bash(docker:*), Bash(jq:*), Bash(gdate:*), Bash(fd:*), Bash(rg:*), Bash(bat:*) name: "Release" description: "Production-ready release orchestrator with semantic versioning, changelog generation, and multi-platform distribution" author: "wcygan" tags: ["workflow","manage"] version: "1.0.0" created_at: "2025-07-14T00:00:00Z" updated_at: "2025-07-14T00:00:00Z"
Context
- Session ID: !`gdate +%s%N 2>/dev/null || date +%s%N 2>/dev/null || echo "$(date +%s)$(jot -r 1 100000 999999 2>/dev/null || shuf -i 100000-999999 -n 1 2>/dev/null || echo $RANDOM$RANDOM)"`
- Target release: $ARGUMENTS
- Current directory: !`pwd`
- Git status: !`git status --porcelain`
- Current branch: !`git branch --show-current`
- Latest tag: !`git describe --tags --abbrev=0 2>/dev/null || echo "No tags found"`
- Uncommitted changes: !`git diff --name-only HEAD | wc -l | tr -d ' '` files
- Recent commits: !`git log --oneline -5 --format="%h %s"`
- Project structure: !`fd "(package\.json|Cargo\.toml|go\.mod|pom\.xml|build\.gradle|deno\.json)" . -d 2 | head -5 || echo "No build files detected"`
- Release tools status: !`echo "git: $(which git >/dev/null && echo ✓ || echo ✗) | gh: $(which gh >/dev/null && echo ✓ || echo ✗) | docker: $(which docker >/dev/null && echo ✓ || echo ✗) | jq: $(which jq >/dev/null && echo ✓ || echo ✗)"`
Your Task
STEP 1: Initialize comprehensive release session and validate environment
- CREATE session state file: `/tmp/release-session-$SESSION_ID.json`
- VALIDATE working directory is clean (no uncommitted changes)
- CONFIRM current branch is main/master or release branch
- CHECK required tools availability (git, gh, build tools)
- DETECT project type and build system from Context section
# Initialize release session state
echo '{
"sessionId": "'$SESSION_ID'",
"targetRelease": "'$ARGUMENTS'",
"projectType": "auto-detect",
"currentVersion": null,
"nextVersion": null,
"releaseType": "auto-detect",
"changelogGenerated": false,
"assetsBuilt": false,
"published": false
}' > /tmp/release-session-$SESSION_ID.jsonSTEP 2: Intelligent version analysis and semantic versioning strategy
TRY:
**Version Detection and Analysis:**
# Extract current version from project files current_version=$(git describe --tags --abbrev=0 2>/dev/null | sed 's/^v//' || echo "0.0.0") echo "📋 Current version detected: $current_version" # Analyze commits since last release for semantic versioning latest_tag=$(git describe --tags --abbrev=0 2>/dev/null || echo "") if [[ -n "$latest_tag" ]]; then commits_since_tag=$(git log $latest_tag..HEAD --oneline) echo "📝 Commits since $latest_tag:" echo "$commits_since_tag" else echo "📝 No previous tags found - preparing initial release" fi
**Semantic Version Bump Analysis:**
CASE commit_analysis: WHEN "breaking_changes_detected":
- DETERMINE major version bump (X.0.0)
- IDENTIFY breaking changes from commit messages
- FLAG need for migration guide generation
WHEN "new_features_detected":
- DETERMINE minor version bump (X.Y.0)
- EXTRACT feature list from conventional commits
- PREPARE feature highlighting for release notes
WHEN "bug_fixes_only":
- DETERMINE patch version bump (X.Y.Z)
- COMPILE bug fix list for changelog
- FOCUS on stability and reliability messaging
STEP 3: Parallel changelog generation and release notes creation
IF project_complexity == "large" OR commit_count > 50:
LAUNCH parallel sub-agents for comprehensive changelog generation:
- **Agent 1: Commit Analysis**: Parse all commits since last release, categorize by conventional commit types
- Focus: feat, fix, docs, style, refactor, perf, test, chore patterns
- Tools: git log parsing, conventional commit validation
- Output: Categorized commit manifest with issue linking
- **Agent 2: Breaking Changes Assessment**: Identify breaking changes and API modifications
- Focus: BREAKING CHANGE footers, exclamation marks in types, API removals
- Tools: git diff analysis, API surface comparison
- Output: Breaking changes summary with migration requirements
- **Agent 3: Security & Dependency Updates**: Track security fixes and dependency updates
- Focus: Security patches, vulnerability fixes, dependency upgrades
- Tools: Dependency file analysis, commit message scanning
- Output: Security update summary and impact assessment
- **Agent 4: Performance & Optimization**: Catalog performance improvements and optimizations
- Focus: Performance commits, optimization changes, benchmark improvements
- Tools: Performance-related commit analysis
- Output: Performance improvement summary
ELSE:
EXECUTE streamlined changelog generation:
# Generate structured changelog from git history
echo "📝 Generating changelog from git history..."
# Extract commits by type using conventional commit format
git log $latest_tag..HEAD --pretty=format:"%s" | while read commit; do
if [[ $commit =~ ^feat(\(.+\))?: ]]; then
echo "### Added" >> /tmp/changelog-$SESSION_ID.md
echo "- ${commit#feat*: }" >> /tmp/changelog-$SESSION_ID.md
elif [[ $commit =~ ^fix(\(.+\))?: ]]; then
echo "### Fixed" >> /tmp/changelog-$SESSION_ID.md
echo "- ${commit#fix*: }" >> /tmp/changelog-$SESSION_ID.md
elif [[ $commit =~ ^docs(\(.+\))?: ]]; then
echo "### Documentation" >> /tmp/changelog-$SESSION_ID.md
echo "- ${commit#docs*: }" >> /tmp/changelog-$SESSION_ID.md
fi
doneSTEP 4: Multi-language version updates with comprehensive build file management
CASE detected_project_type: WHEN "rust":
# Update Cargo.toml version echo "🦀 Updating Rust project version to $next_version" sed -i.bak "s/^version = \".*\"/version = \"$next_version\"/" Cargo.toml # Update any version constants in source if fd "version\.rs|main\.rs|lib\.rs" src/ | head -1 >/dev/null; then rg "const VERSION
A lightweight (~46kB) and comprehensive CLI tool for managing Claude commands, configurations, and workflows.
Repo: kiliczsh/claude-cmd
Other commands on claude-cmd.
- /agent-browser-automation
Automate browser interactions for development testing using Puppeteer MCP
Open command - /agent-prep-merge
Prepare branches for merging across multiple worktrees and coordinate integration
Open command - /agent-persona-accessibility-expert
Transform into accessibility expert for WCAG compliance and inclusive design
Open command - /agent-persona-api-designer
Transform into an API design specialist who creates well-structured, developer-friendly APIs
Open command - /agent-persona-backend-specialist
Transform into backend specialist for scalable API and system design
Open command - /agent-persona-cloud-architect
Cloud architect persona for designing scalable, secure cloud infrastructure using modern cloud-native technologies
Open command

