mcpField
A
agent-release-swarm

agent-release-swarm

github.com/ruvnetクラウド・DevOps80.0k1.1k 回インストール今日更新
リポジトリ

agent-release-swarm について

agent-release-swarmは、ソフトウェアチーム向けのリリース調整スキルです。変更履歴やバージョン計画からビルド、テスト、デプロイまでをエージェント群で進め、複数リポジトリのリリースや監視、ロールバックも扱います。

主な機能

  1. 01コミット分析と変更履歴の生成
  2. 02バージョン提案と破壊的変更の検出
  3. 03マルチプラットフォームのビルドとテスト調整
  4. 04複数の対象へのデプロイ調整
  5. 05リリース監視とロールバック対応

活用シーン

  1. 01定期的なソフトウェアリリースの準備
  2. 02複数リポジトリの同期リリース調整
  3. 03デプロイ監視と問題発生時のロールバック

MCP 対応

claude-flowのMCPツールで群のタスクを調整し、GitHubのMCPツールでブランチ作成、ファイルのプッシュ、Issueやプルリクエストの作成・マージを行います。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ruvnet/ruflo --skill agent-release-swarm

インストール後、Claude Code で/agent-release-swarmを入力して読み込まれたか確認します。

詳細


name: release-swarm description: 変更履歴の生成からマルチプラットフォームへのデプロイまで、あらゆる作業を担う AI スウォームを活用して、複雑なソフトウェアリリースをオーケストレーションします 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

リリーススウォーム - インテリジェントなリリース自動化

概要

変更履歴の生成からマルチプラットフォームへのデプロイまで、あらゆる作業を担う AI スウォームを活用して、複雑なソフトウェアリリースをオーケストレーションします。

主な機能

1. リリース計画
# 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
2. バージョン管理の自動化
# Smart version bumping
npx ruv-swarm github release-version \
  --strategy "semantic" \
  --analyze-changes \
  --check-breaking \
  --update-files
3. リリースのオーケストレーション
# 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"

リリース設定

リリース設定ファイル
# .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: [email protected]
    - discord: webhook-url

リリースエージェント

変更履歴エージェント
# 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

機能:

  • セマンティックコミットの分析
  • 破壊的変更の検出
  • コントリビューターのクレジット表記
  • 移行ガイドの生成
  • 多言語サポート
バージョンエージェント
# Determine next version
npx ruv-swarm github version-suggest \
  --current v1.2.3 \
  --analyze-commits \
  --check-compatibility \
  --suggest-pre-release

ロジック:

  • コミットメッセージを分析します
  • 破壊的変更を検出します
  • 適切なバージョンの引き上げを提案します
  • プレリリースを処理します
  • バージョン制約を検証します
ビルドエージェント
# Coordinate multi-platform builds
npx ruv-swarm github release-build \
  --platforms "linux,macos,windows" \
  --architectures "x64,arm64" \
  --parallel \
  --optimize-size

機能:

  • クロスプラットフォームコンパイル
  • ビルドの並列実行
  • アーティファクトの最適化
  • 依存関係のバンドル
  • ビルドキャッシュ
テストエージェント
# 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
デプロイエージェント
# Multi-target deployment
npx ruv-swarm github release-deploy \
  --targets "npm,docker,github,s3" \
  --staged-rollout \
  --monitor-metrics \
  --auto-rollback

高度な機能

1. 段階的なデプロイ
# 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. マルチリポジトリのリリース
# 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
3. ホットフィックスの自動化
# Emergency hotfix process
npx ruv-swarm github hotfix \
  --issue 789 \
  --target-version v1.2.4 \
  --cherry-pick-commits \
  --fast-track-deploy

リリースワークフロー

標準リリースフロー
# .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"
継続的デプロイ
# Automated deployment pipeline
npx ruv-swarm github cd-pipeline \
  --trigger "merge-to-main" \
  --auto-version \
  --deploy-on-success \
  --rollback-on-failure

リリースの検証

リリース前チェック
# 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
互換性テスト
# Test backward compatibility
npx ruv-swarm github compat-test \
  --previous-versions "v1.0,v1.1,v1.2" \
  --api-contracts \
  --data-migrations \
  --generate-report
セキュリティスキャン
# Security validation
npx ruv-swarm github release-security \
  --scan-dependencies \
  --check-secrets \
  --audit-permissions \
  --sign-artifacts

モニタリングとロールバック

リリースのモニタリング
# Monitor release health
npx ruv-swarm github release-monitor \
  --version v2.0.0 \
  --metrics "error-rate,latency,throughput" \
  --alert-thresholds \
  --duration 24h
ロールバックの自動化
# 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
リリース分析
# Analyze release performance
npx ruv-swarm github release-analytics \
  --version v2.0.0 \
  --compare-with v1.9.0 \
  --metrics "adoption,performance,stability" \
  --generate-insights

ドキュメント

ドキュメントの自動生成
# Update documentation
npx ruv-swarm github release-docs \
  --api-changes \
  --migration-guide \
  --example-updates \
  --publish-to "docs-site,wiki"
リリースノート

# 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!

ベストプラクティス

1. リリース計画
  • 定期的なリリースサイクル
  • 機能のフリーズ期間
  • ベータテスト段階
  • 明確なコミュニケーション
2. 自動化
  • 包括的な CI/CD
  • テストの自動化
  • 段階的なロールアウト
  • モニタリングとアラート
3. ドキュメント
  • 最新の変更履歴
  • 移行ガイド
  • API ドキュメント
  • サンプルの更新

統合例

NPM パッケージのリリース
# NPM package release
npx ruv-swarm github npm-release \
  --version patch \
  --test-all \
  --publish-beta \
  --tag-latest-on-success
Docker イメージのリリース
# 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 store release
npx ruv-swarm github mobile-release \
  --platforms "ios,android" \
  --build-release \
  --submit-review \
  --staged-rollout

緊急時の手順

ホットフィックスのプロセス
# Emergency hotfix
npx ruv-swarm github emergency-release \
  --severity critical \
  --bypass-checks security-only \
  --fast-track \
  --notify-all
ロールバック手順
# Immediate rollback
npx ruv-swarm github rollback \
  --to-version v1.9.9 \
  --reason "Critical bug in v2.0.0" \
  --preserve-data \
  --notify-users

関連項目:workflow-automation.md、multi-repo-swarm.md

コメント