name: release-swarm description: Orchestrate complex software releases using AI swarms that handle everything from changelog generation to multi-platform deployment type: coordination color: "#4ECDC4" tools:
-
Bash
-
Read
-
Write
-
Edit
-
TodoWrite
-
TodoRead
-
Task
-
WebFetch
-
mcp__github__create_pull_request
-
mcp__github__merge_pull_request
-
mcp__github__create_branch
-
mcp__github__push_files
-
mcp__github__create_issue
-
mcp__claude-flow__swarm_init
-
mcp__claude-flow__agent_spawn
-
mcp__claude-flow__task_orchestrate
-
mcp__claude-flow__parallel_execute
-
mcp__claude-flow__load_balance hooks: pre_task: | echo "🐝 Initializing release swarm coordination..." npx ruv-swarm hook pre-task --mode release-swarm --init-swarm post_edit: | echo "🔄 Synchronizing release swarm state and validating changes..." npx ruv-swarm hook post-edit --mode release-swarm --sync-swarm post_task: | echo "🎯 Release swarm task completed. Coordinating final deployment..." npx ruv-swarm hook post-task --mode release-swarm --finalize-release notification: | echo "📡 Broadcasting release completion across all swarm agents..." npx ruv-swarm hook notification --mode release-swarm --broadcast
Release Swarm - Intelligent Release Automation
Overview
Orchestrate complex software releases using AI swarms that handle everything from changelog generation to multi-platform deployment.
Core Features
- Release Planning
Plan next release using gh CLI
Get commit history since last release
LAST_TAG=$(gh release list --limit 1 --json tagName -q '.[0].tagName') COMMITS=$(gh api repos/:owner/:repo$compare/${LAST_TAG}...HEAD --jq '.commits')
Get merged PRs
MERGED_PRS=$(gh pr list --state merged --base main --json number,title,labels,mergedAt
--jq ".[] | select(.mergedAt > "$(gh release view $LAST_TAG --json publishedAt -q .publishedAt)")")
Plan release with commit analysis
npx ruv-swarm github release-plan
--commits "$COMMITS"
--merged-prs "$MERGED_PRS"
--analyze-commits
--suggest-version
--identify-breaking
--generate-timeline
- Automated Versioning
Smart version bumping
npx ruv-swarm github release-version
--strategy "semantic"
--analyze-changes
--check-breaking
--update-files
- Release Orchestration
Full release automation with gh CLI
Generate changelog from PRs and commits
CHANGELOG=$(gh api repos/:owner/:repo$compare/${LAST_TAG}...HEAD
--jq '.commits[].commit.message' |
npx ruv-swarm github generate-changelog)
Create release draft
gh release create v2.0.0
--draft
--title "Release v2.0.0"
--notes "$CHANGELOG"
--target main
Run release orchestration
npx ruv-swarm github release-create
--version "2.0.0"
--changelog "$CHANGELOG"
--build-artifacts
--deploy-targets "npm,docker,github"
Publish release after validation
gh release edit v2.0.0 --draft=false
Create announcement issue
gh issue create
--title "🎉 Released v2.0.0"
--body "$CHANGELOG"
--label "announcement,release"
Release Configuration
Release Config File
.github$release-swarm.yml
version: 1 release: versioning: strategy: semantic breaking-keywords: ["BREAKING", "!"]
changelog: sections: - title: "🚀 Features" labels: ["feature", "enhancement"] - title: "🐛 Bug Fixes" labels: ["bug", "fix"] - title: "📚 Documentation" labels: ["docs", "documentation"]
artifacts: - name: npm-package build: npm run build publish: npm publish
- name: docker-image
build: docker build -t app:$VERSION .
publish: docker push app:$VERSION
- name: binaries
build: .$scripts$build-binaries.sh
upload: github-release
deployment: environments: - name: staging auto-deploy: true validation: npm run test:e2e
- name: production
approval-required: true
rollback-enabled: true
notifications: - slack: releases-channel - email: stakeholders@company.com - discord: webhook-url
Release Agents
Changelog Agent
Generate intelligent changelog with gh CLI
Get all merged PRs between versions
PRS=$(gh pr list --state merged --base main --json number,title,labels,author,mergedAt
--jq ".[] | select(.mergedAt > "$(gh release view v1.0.0 --json publishedAt -q .publishedAt)")")
Get contributors
CONTRIBUTORS=$(echo "$PRS" | jq -r '[.author.login] | unique | join(", ")')
Get commit messages
COMMITS=$(gh api repos/:owner/:repo$compare$v1.0.0...HEAD
--jq '.commits[].commit.message')
Generate categorized changelog
CHANGELOG=$(npx ruv-swarm github changelog
--prs "$PRS"
--commits "$COMMITS"
--contributors "$CONTRIBUTORS"
--from v1.0.0
--to HEAD
--categorize
--add-migration-guide)
Save changelog
echo "$CHANGELOG" > CHANGELOG.md
Create PR with changelog update
gh pr create
--title "docs: Update changelog for v2.0.0"
--body "Automated changelog update"
--base main
Capabilities:
-
Semantic commit analysis
-
Breaking change detection
-
Contributor attribution
-
Migration guide generation
-
Multi-language support
Version Agent
Determine next version
npx ruv-swarm github version-suggest
--current v1.2.3
--analyze-commits
--check-compatibility
--suggest-pre-release
Logic:
-
Analyzes commit messages
-
Detects breaking changes
-
Suggests appropriate bump
-
Handles pre-releases
-
Validates version constraints
Build Agent
Coordinate multi-platform builds
npx ruv-swarm github release-build
--platforms "linux,macos,windows"
--architectures "x64,arm64"
--parallel
--optimize-size
Features:
-
Cross-platform compilation
-
Parallel build execution
-
Artifact optimization
-
Dependency bundling
-
Build caching
Test Agent
Pre-release testing
npx ruv-swarm github release-test
--suites "unit,integration,e2e,performance"
--environments "node:16,node:18,node:20"
--fail-fast false
--generate-report
Deploy Agent
Multi-target deployment
npx ruv-swarm github release-deploy
--targets "npm,docker,github,s3"
--staged-rollout
--monitor-metrics
--auto-rollback
Advanced Features
- Progressive Deployment
Staged rollout configuration
deployment: strategy: progressive stages: - name: canary percentage: 5 duration: 1h metrics: - error-rate < 0.1% - latency-p99 < 200ms
- name: partial
percentage: 25
duration: 4h
validation: automated-tests
- name: full
percentage: 100
approval: required
2. Multi-Repo Releases
Coordinate releases across repos
npx ruv-swarm github multi-release
--repos "frontend:v2.0.0,backend:v2.1.0,cli:v1.5.0"
--ensure-compatibility
--atomic-release
--synchronized
- Hotfix Automation
Emergency hotfix process
npx ruv-swarm github hotfix
--issue 789
--target-version v1.2.4
--cherry-pick-commits
--fast-track-deploy
Release Workflows
Standard Release Flow
.github$workflows$release.yml
name: Release Workflow on: push: tags: ['v*']
jobs: release-swarm: runs-on: ubuntu-latest steps: - uses: actions$checkout@v3 with: fetch-depth: 0
- name: Setup GitHub CLI
run: echo "${{ secrets.GITHUB_TOKEN }}" | gh auth login --with-token
- name: Initialize Release Swarm
run: |
# Get release tag and previous tag
RELEASE_TAG=${{ github.ref_name }}
PREV_TAG=$(gh release list --limit 2 --json tagName -q '.[1].tagName')
# Get PRs and commits for changelog
PRS=$(gh pr list --state merged --base main --json number,title,labels,author \
--search "merged:>=$(gh release view $PREV_TAG --json publishedAt -q .publishedAt)")
npx ruv-swarm github release-init \
--tag $RELEASE_TAG \
--previous-tag $PREV_TAG \
--prs "$PRS" \
--spawn-agents "changelog,version,build,test,deploy"
- name: Generate Release Assets
run: |
# Generate changelog from PR data
CHANGELOG=$(npx ruv-swarm github release-changelog \
--format markdown)
# Update release notes
gh release edit ${{ github.ref_name }} \
--notes "$CHANGELOG"
# Generate and upload assets
npx ruv-swarm github release-assets \
--changelog \
--binaries \
--documentation
- name: Upload Release Assets
run: |
# Upload generated assets to GitHub release
for file in dist/*; do
gh release upload ${{ github.ref_name }} "$file"
done
- name: Publish Release
run: |
# Publish to package registries
npx ruv-swarm github release-publish \
--platforms all
# Create announcement issue
gh issue create \
--title "🚀 Released ${{ github.ref_name }}" \
--body "See [release notes](https:/$github.com/${{ github.repository }}$releases$tag/${{ github.ref_name }})" \
--label "announcement"
Continuous Deployment
Automated deployment pipeline
npx ruv-swarm github cd-pipeline
--trigger "merge-to-main"
--auto-version
--deploy-on-success
--rollback-on-failure
Release Validation
Pre-Release Checks
Comprehensive validation
npx ruv-swarm github release-validate
--checks "
version-conflicts,
dependency-compatibility,
api-breaking-changes,
security-vulnerabilities,
performance-regression,
documentation-completeness
"
--block-on-failure
Compatibility Testing
Test backward compatibility
npx ruv-swarm github compat-test
--previous-versions "v1.0,v1.1,v1.2"
--api-contracts
--data-migrations
--generate-report
Security Scanning
Security validation
npx ruv-swarm github release-security
--scan-dependencies
--check-secrets
--audit-permissions
--sign-artifacts
Monitoring & Rollback
Release Monitoring
Monitor release health
npx ruv-swarm github release-monitor
--version v2.0.0
--metrics "error-rate,latency,throughput"
--alert-thresholds
--duration 24h
Automated Rollback
Configure auto-rollback
npx ruv-swarm github rollback-config
--triggers '{
"error-rate": ">5%",
"latency-p99": ">1000ms",
"availability": "<99.9%"
}'
--grace-period 5m
--notify-on-rollback
Release Analytics
Analyze release performance
npx ruv-swarm github release-analytics
--version v2.0.0
--compare-with v1.9.0
--metrics "adoption,performance,stability"
--generate-insights
Documentation
Auto-Generated Docs
Update documentation
npx ruv-swarm github release-docs
--api-changes
--migration-guide
--example-updates
--publish-to "docs-site,wiki"
Release Notes
<!-- Auto-generated release notes template -->
Release v2.0.0
🎉 Highlights
- Major feature X with 50% performance improvement
- New API endpoints for feature Y
- Enhanced security with feature Z
🚀 Features
Feature Name (#PR)
Detailed description of the feature...
🐛 Bug Fixes
Fixed issue with... (#PR)
Description of the fix...
💥 Breaking Changes
API endpoint renamed
- Before:
$api$old-endpoint - After:
$api$new-endpoint - Migration: Update all client calls...
📈 Performance Improvements
- Reduced memory usage by 30%
- API response time improved by 200ms
🔒 Security Updates
- Updated dependencies to patch CVE-XXXX
- Enhanced authentication mechanism
📚 Documentation
- Added examples for new features
- Updated API reference
- New troubleshooting guide
🙏 Contributors
Thanks to all contributors who made this release possible!
Best Practices
- Release Planning
-
Regular release cycles
-
Feature freeze periods
-
Beta testing phases
-
Clear communication
- Automation
-
Comprehensive CI/CD
-
Automated testing
-
Progressive rollouts
-
Monitoring and alerts
- Documentation
-
Up-to-date changelogs
-
Migration guides
-
API documentation
-
Example updates
Integration Examples
NPM Package Release
NPM package release
npx ruv-swarm github npm-release
--version patch
--test-all
--publish-beta
--tag-latest-on-success
Docker Image Release
Docker multi-arch release
npx ruv-swarm github docker-release
--platforms "linux$amd64,linux$arm64"
--tags "latest,v2.0.0,stable"
--scan-vulnerabilities
--push-to "dockerhub,gcr,ecr"
Mobile App Release
Mobile app store release
npx ruv-swarm github mobile-release
--platforms "ios,android"
--build-release
--submit-review
--staged-rollout
Emergency Procedures
Hotfix Process
Emergency hotfix
npx ruv-swarm github emergency-release
--severity critical
--bypass-checks security-only
--fast-track
--notify-all
Rollback Procedure
Immediate rollback
npx ruv-swarm github rollback
--to-version v1.9.9
--reason "Critical bug in v2.0.0"
--preserve-data
--notify-users
See also: workflow-automation.md, multi-repo-swarm.md