mcpField
Q
qe-github-multi-repo

qe-github-multi-repo

github.com/proffesor-for-testing開発51981 回インストール今日更新
リポジトリ

qe-github-multi-repo について

qe-github-multi-repoは、複数のプロジェクトやパッケージを管理するチーム向けに、GitHubリポジトリ間の開発調整を支援するスキルです。エージェント連携、依存関係の同期、構成整理、リポジトリ横断テストを扱います。

主な機能

  1. 01リポジトリ横断のエージェント調整
  2. 02パッケージのバージョンと依存関係の同期
  3. 03リポジトリ構成分析とテンプレート
  4. 04パッケージ横断の統合テスト調整
  5. 05依存関係更新とリファクタリングの連携

活用シーン

  1. 01マイクロサービスの契約と統合テストの調整
  2. 02共有ライブラリの更新を利用先へ反映
  3. 03組織内リポジトリへの共通ポリシー適用

インストール

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

$npx skills add https://github.com/proffesor-for-testing/agentic-qe --skill qe-github-multi-repo

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

詳細

GitHub マルチリポジトリ連携スキル

概要

群知能、パッケージの同期、リポジトリアーキテクチャの最適化を組み合わせた、高度なマルチリポジトリ連携システムです。このスキルにより、組織全体の自動化、プロジェクト間のコラボレーション、スケーラブルなリポジトリ管理が可能になります。

主な機能

🔄 マルチリポジトリの群連携

分散開発ワークフローのための、リポジトリ間のAI群オーケストレーションです。

📦 パッケージ同期

複数のパッケージ間で、依存関係をインテリジェントに解決し、バージョンを調整します。

🏗️ リポジトリアーキテクチャ

スケーラブルなプロジェクトのために、構造の最適化とテンプレート管理を行います。

🔗 統合管理

パッケージ間の統合テストとデプロイを連携します。

クイックスタート

マルチリポジトリ連携の初期化
# Basic swarm initialization
npx claude-flow skill run github-multi-repo init \
  --repos "org/frontend,org/backend,org/shared" \
  --topology hierarchical

# Advanced initialization with synchronization
npx claude-flow skill run github-multi-repo init \
  --repos "org/frontend,org/backend,org/shared" \
  --topology mesh \
  --shared-memory \
  --sync-strategy eventual
パッケージの同期
# Synchronize package versions and dependencies
npx claude-flow skill run github-multi-repo sync \
  --packages "claude-code-flow,ruv-swarm" \
  --align-versions \
  --update-docs
アーキテクチャの最適化
# Analyze and optimize repository structure
npx claude-flow skill run github-multi-repo optimize \
  --analyze-structure \
  --suggest-improvements \
  --create-templates

機能

1. リポジトリ間の群オーケストレーション
リポジトリの検出
// Auto-discover related repositories with gh CLI
const REPOS = Bash(`gh repo list my-organization --limit 100 \
  --json name,description,languages,topics \
  --jq '.[] | select(.languages | keys | contains(["TypeScript"]))'`)

// Analyze repository dependencies
const DEPS = Bash(`gh repo list my-organization --json name | \
  jq -r '.[].name' | while read -r repo; do
    gh api repos/my-organization/$repo/contents/package.json \
      --jq '.content' 2>/dev/null | base64 -d | jq '{name, dependencies}'
  done | jq -s '.'`)

// Initialize swarm with discovered repositories
mcp__claude-flow__swarm_init({
  topology: "hierarchical",
  maxAgents: 8,
  metadata: { repos: REPOS, dependencies: DEPS }
})
同期操作
// Execute synchronized changes across repositories
[Parallel Multi-Repo Operations]:
  // Spawn coordination agents
  Task("Repository Coordinator", "Coordinate changes across all repositories", "coordinator")
  Task("Dependency Analyzer", "Analyze cross-repo dependencies", "analyst")
  Task("Integration Tester", "Validate cross-repo changes", "tester")

  // Get matching repositories
  Bash(`gh repo list org --limit 100 --json name \
    --jq '.[] | select(.name | test("-service$")) | .name' > /tmp/repos.txt`)

  // Execute task across repositories
  Bash(`cat /tmp/repos.txt | while read -r repo; do
    gh repo clone org/$repo /tmp/$repo -- --depth=1
    cd /tmp/$repo

    # Apply changes
    npm update
    npm test

    # Create PR if successful
    if [ $? -eq 0 ]; then
      git checkout -b update-dependencies-$(date +%Y%m%d)
      git add -A
      git commit -m "chore: Update dependencies"
      git push origin HEAD
      gh pr create --title "Update dependencies" --body "Automated update" --label "dependencies"
    fi
  done`)

  // Track all operations
  TodoWrite { todos: [
    { id: "discover", content: "Discover all service repositories", status: "completed" },
    { id: "update", content: "Update dependencies", status: "completed" },
    { id: "test", content: "Run integration tests", status: "in_progress" },
    { id: "pr", content: "Create pull requests", status: "pending" }
  ]}
2. パッケージ同期
バージョンの調整
// Synchronize package dependencies and versions
[Complete Package Sync]:
  // Initialize sync swarm
  mcp__claude-flow__swarm_init({ topology: "mesh", maxAgents: 5 })

  // Spawn sync agents
  Task("Sync Coordinator", "Coordinate version alignment", "coordinator")
  Task("Dependency Analyzer", "Analyze dependencies", "analyst")
  Task("Integration Tester", "Validate synchronization", "tester")

  // Read package states
  Read("/workspaces/ruv-FANN/claude-code-flow/claude-code-flow/package.json")
  Read("/workspaces/ruv-FANN/ruv-swarm/npm/package.json")

  // Align versions using gh CLI
  Bash(`gh api repos/:owner/:repo/git/refs \
    -f ref='refs/heads/sync/package-alignment' \
    -f sha=$(gh api repos/:owner/:repo/git/refs/heads/main --jq '.object.sha')`)

  // Update package.json files
  Bash(`gh api repos/:owner/:repo/contents/package.json \
    --method PUT \
    -f message="feat: Align Node.js version requirements" \
    -f branch="sync/package-alignment" \
    -f content="$(cat aligned-package.json | base64)"`)

  // Store sync state
  mcp__claude-flow__memory_usage({
    action: "store",
    key: "sync/packages/status",
    value: {
      timestamp: Date.now(),
      packages_synced: ["claude-code-flow", "ruv-swarm"],
      status: "synchronized"
    }
  })
ドキュメントの同期
// Synchronize CLAUDE.md files across packages
[Documentation Sync]:
  // Get source documentation
  Bash(`gh api repos/:owner/:repo/contents/ruv-swarm/docs/CLAUDE.md \
    --jq '.content' | base64 -d > /tmp/claude-source.md`)

  // Update target documentation
  Bash(`gh api repos/:owner/:repo/contents/claude-code-flow/CLAUDE.md \
    --method PUT \
    -f message="docs: Synchronize CLAUDE.md" \
    -f branch="sync/documentation" \
    -f content="$(cat /tmp/claude-source.md | base64)"`)

  // Track sync status
  mcp__claude-flow__memory_usage({
    action: "store",
    key: "sync/documentation/status",
    value: { status: "synchronized", files: ["CLAUDE.md"] }
  })
パッケージ間の統合
// Coordinate feature implementation across packages
[Cross-Package Feature]:
  // Push changes to all packages
  mcp__github__push_files({
    branch: "feature/github-integration",
    files: [
      {
        path: "claude-code-flow/.claude/commands/github/github-modes.md",
        content: "[GitHub modes documentation]"
      },
      {
        path: "ruv-swarm/src/github-coordinator/hooks.js",
        content: "[GitHub coordination hooks]"
      }
    ],
    message: "feat: Add GitHub workflow integration"
  })

  // Create coordinated PR
  Bash(`gh pr create \
    --title "Feature: GitHub Workflow Integration" \
    --body "## 🚀 GitHub Integration

### Features
- ✅ Multi-repo coordination
- ✅ Package synchronization
- ✅ Architecture optimization

### Testing
- [x] Package dependency verification
- [x] Integration tests
- [x] Cross-package compatibility"`)
3. リポジトリアーキテクチャ
構造の分析
// Analyze and optimize repository structure
[Architecture Analysis]:
  // Initialize architecture swarm
  mcp__claude-flow__swarm_init({ topology: "hierarchical", maxAgents: 6 })

  // Spawn architecture agents
  Task("Senior Architect", "Analyze repository structure", "architect")
  Task("Structure Analyst", "Identify optimization opportunities", "analyst")
  Task("Performance Optimizer", "Optimize structure for scalability", "optimizer")
  Task("Best Practices Researcher", "Research architecture patterns", "researcher")

  // Analyze current structures
  LS("/workspaces/ruv-FANN/claude-code-flow/claude-code-flow")
  LS("/workspaces/ruv-FANN/ruv-swarm/npm")

  // Search for best practices
  Bash(`gh search repos "language:javascript template architecture" \
    --limit 10 \
    --json fullName,description,stargazersCount \
    --sort stars \
    --order desc`)

  // Store analysis results
  mcp__claude-flow__memory_usage({
    action: "store",
    key: "architecture/analysis/results",
    value: {
      repositories_analyzed: ["claude-code-flow", "ruv-swarm"],
      optimization_areas: ["structure", "workflows", "templates"],
      recommendations: ["standardize_structure", "improve_workflows"]
    }
  })
テンプレートの作成
// Create standardized repository template
[Template Creation]:
  // Create template repository
  mcp__github__create_repository({
    name: "claude-project-template",
    description: "Standardized template for Claude Code projects",
    private: false,
    autoInit: true
  })

  // Push template structure
  mcp__github__push_files({
    repo: "claude-project-template",
    files: [
      {
        path: ".claude/commands/github/github-modes.md",
        content: "[GitHub modes template]"
      },
      {
        path: ".claude/config.json",
        content: JSON.stringify({
          version: "1.0",
          mcp_servers: {
            "ruv-swarm": {
              command: "npx",
              args: ["ruv-swarm", "mcp", "start"]
            }
          }
        })
      },
      {
        path: "CLAUDE.md",
        content: "[Standardized CLAUDE.md]"
      },
      {
        path: "package.json",
        content: JSON.stringify({
          name: "claude-project-template",
          engines: { node: ">=20.0.0" },
          dependencies: { "ruv-swarm": "^1.0.11" }
        })
      }
    ],
    message: "feat: Create standardized template"
  })
リポジトリ間の標準化
// Synchronize structure across repositories
[Structure Standardization]:
  const repositories = ["claude-code-flow", "ruv-swarm", "claude-extensions"]

  // Update common files across all repositories
  repositories.forEach(repo => {
    mcp__github__create_or_update_file({
      repo: "ruv-FANN",
      path: `${repo}/.github/workflows/integration.yml`,
      content: `name: Integration Tests
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with: { node-version: '20' }
      - run: npm install && npm test`,
      message: "ci: Standardize integration workflow",
      branch: "structure/standardization"
    })
  })
4. オーケストレーションワークフロー
依存関係の管理
// Update dependencies across all repositories
[Organization-Wide Dependency Update]:
  // Create tracking issue
  TRACKING_ISSUE=$(Bash(`gh issue create \
    --title "Dependency Update: [email protected]" \
    --body "Tracking TypeScript update across all repositories" \
    --label "dependencies,tracking" \
    --json number -q .number`))

  // Find all TypeScript repositories
  TS_REPOS=$(Bash(`gh repo list org --limit 100 --json name | \
    jq -r '.[].name' | while read -r repo; do
      if gh api repos/org/$repo/contents/package.json 2>/dev/null | \
         jq -r '.content' | base64 -d | grep -q '"typescript"'; then
        echo "$repo"
      fi
    done`))

  // Update each repository
  Bash(`echo "$TS_REPOS" | while read -r repo; do
    gh repo clone org/$repo /tmp/$repo -- --depth=1
    cd /tmp/$repo

    npm install --save-dev [email protected]

    if npm test; then
      git checkout -b update-typescript-5
      git add package.json package-lock.json
      git commit -m "chore: Update TypeScript to 5.0.0

Part of #$TRACKING_ISSUE"

      git push origin HEAD
      gh pr create \
        --title "Update TypeScript to 5.0.0" \
        --body "Updates TypeScript\n\nTracking: #$TRACKING_ISSUE" \
        --label "dependencies"
    else
      gh issue comment $TRACKING_ISSUE \
        --body "❌ Failed to update $repo - tests failing"
    fi
  done`)
リファクタリング操作
// Coordinate large-scale refactoring
[Cross-Repo Refactoring]:
  // Initialize refactoring swarm
  mcp__claude-flow__swarm_init({ topology: "mesh", maxAgents: 8 })

  // Spawn specialized agents
  Task("Refactoring Coordinator", "Coordinate refactoring across repos", "coordinator")
  Task("Impact Analyzer", "Analyze refactoring impact", "analyst")
  Task("Code Transformer", "Apply refactoring changes", "coder")
  Task("Migration Guide Creator", "Create migration documentation", "documenter")
  Task("Integration Tester", "Validate refactored code", "tester")

  // Execute refactoring
  mcp__claude-flow__task_orchestrate({
    task: "Rename OldAPI to NewAPI across all repositories",
    strategy: "sequential",
    priority: "high"
  })
セキュリティアップデート
// Coordinate security patches
[Security Patch Deployment]:
  // Scan all repositories
  Bash(`gh repo list org --limit 100 --json name | jq -r '.[].name' | \
    while read -r repo; do
      gh repo clone org/$repo /tmp/$repo -- --depth=1
      cd /tmp/$repo
      npm audit --json > /tmp/audit-$repo.json
    done`)

  // Apply patches
  Bash(`for repo in /tmp/audit-*.json; do
    if [ $(jq '.vulnerabilities | length' $repo) -gt 0 ]; then
      cd /tmp/$(basename $repo .json | sed 's/audit-//')
      npm audit fix

      if npm test; then
        git checkout -b security/patch-$(date +%Y%m%d)
        git add -A
        git commit -m "security: Apply security patches"
        git push origin HEAD
        gh pr create --title "Security patches" --label "security"
      fi
    fi
  done`)

設定

マルチリポジトリ設定ファイル
# .swarm/multi-repo.yml
version: 1
organization: my-org

repositories:
  - name: frontend
    url: github.com/my-org/frontend
    role: ui
    agents: [coder, designer, tester]

  - name: backend
    url: github.com/my-org/backend
    role: api
    agents: [architect, coder, tester]

  - name: shared
    url: github.com/my-org/shared
    role: library
    agents: [analyst, coder]

coordination:
  topology: hierarchical
  communication: webhook
  memory: redis://shared-memory

dependencies:
  - from: frontend
    to: [backend, shared]
  - from: backend
    to: [shared]
リポジトリの役割
{
  "roles": {
    "ui": {
      "responsibilities": ["user-interface", "ux", "accessibility"],
      "default-agents": ["designer", "coder", "tester"]
    },
    "api": {
      "responsibilities": ["endpoints", "business-logic", "data"],
      "default-agents": ["architect", "coder", "security"]
    },
    "library": {
      "responsibilities": ["shared-code", "utilities", "types"],
      "default-agents": ["analyst", "coder", "documenter"]
    }
  }
}

通信戦略

1. Webhook ベースの連携
const { MultiRepoSwarm } = require('ruv-swarm');

const swarm = new MultiRepoSwarm({
  webhook: {
    url: 'https://swarm-coordinator.example.com',
    secret: process.env.WEBHOOK_SECRET
  }
});

swarm.on('repo:update', async (event) => {
  await swarm.propagate(event, {
    to: event.dependencies,
    strategy: 'eventual-consistency'
  });
});
2. イベントストリーミング
# Kafka configuration for real-time coordination
kafka:
  brokers: ['kafka1:9092', 'kafka2:9092']
  topics:
    swarm-events:
      partitions: 10
      replication: 3
    swarm-memory:
      partitions: 5
      replication: 3

同期パターン

1. 結果整合性
{
  "sync": {
    "strategy": "eventual",
    "max-lag": "5m",
    "retry": {
      "attempts": 3,
      "backoff": "exponential"
    }
  }
}
2. 強整合性
{
  "sync": {
    "strategy": "strong",
    "consensus": "raft",
    "quorum": 0.51,
    "timeout": "30s"
  }
}
3. ハイブリッド方式
{
  "sync": {
    "default": "eventual",
    "overrides": {
      "security-updates": "strong",
      "dependency-updates": "strong",
      "documentation": "eventual"
    }
  }
}

ユースケース

1. マイクロサービスの連携
npx claude-flow skill run github-multi-repo microservices \
  --services "auth,users,orders,payments" \
  --ensure-compatibility \
  --sync-contracts \
  --integration-tests
2. ライブラリの更新
npx claude-flow skill run github-multi-repo lib-update \
  --library "org/shared-lib" \
  --version "2.0.0" \
  --find-consumers \
  --update-imports \
  --run-tests
3. 組織全体に及ぶ変更
npx claude-flow skill run github-multi-repo org-policy \
  --policy "add-security-headers" \
  --repos "org/*" \
  --validate-compliance \
  --create-reports

アーキテクチャパターン

モノレポ構造
ruv-FANN/
├── packages/
│   ├── claude-code-flow/
│   │   ├── src/
│   │   ├── .claude/
│   │   └── package.json
│   ├── ruv-swarm/
│   │   ├── src/
│   │   ├── wasm/
│   │   └── package.json
│   └── shared/
│       ├── types/
│       ├── utils/
│       └── config/
├── tools/
│   ├── build/
│   ├── test/
│   └── deploy/
├── docs/
│   ├── architecture/
│   ├── integration/
│   └── examples/
└── .github/
    ├── workflows/
    ├── templates/
    └── actions/
コマンド構造
.claude/
├── commands/
│   ├── github/
│   │   ├── github-modes.md
│   │   ├── pr-manager.md
│   │   ├── issue-tracker.md
│   │   └── sync-coordinator.md
│   ├── sparc/
│   │   ├── sparc-modes.md
│   │   ├── coder.md
│   │   └── tester.md
│   └── swarm/
│       ├── coordination.md
│       └── orchestration.md
├── templates/
│   ├── issue.md
│   ├── pr.md
│   └── project.md
└── config.json

監視と可視化

マルチリポジトリダッシュボード
npx claude-flow skill run github-multi-repo dashboard \
  --port 3000 \
  --metrics "agent-activity,task-progress,memory-usage" \
  --real-time
依存関係グラフ
npx claude-flow skill run github-multi-repo dep-graph \
  --format mermaid \
  --include-agents \
  --show-data-flow
ヘルスモニタリング
npx claude-flow skill run github-multi-repo health-check \
  --repos "org/*" \
  --check "connectivity,memory,agents" \
  --alert-on-issues

ベストプラクティス

1. リポジトリの編成
  • リポジトリの役割と境界を明確にする
  • 一貫した命名規則を使用する
  • 依存関係を文書化する
  • 設定標準を共有する
2. 通信
  • 適切な同期戦略を使用する
  • サーキットブレーカーを実装する
  • レイテンシーと障害を監視する
  • エラーの伝播を明確にする
3. セキュリティ
  • リポジトリ間の認証を安全にする
  • 通信チャネルを暗号化する
  • すべての操作の監査証跡を残す
  • 最小権限の原則に従う
4. バージョン管理
  • セマンティックバージョニングを調整する
  • 依存関係の互換性を検証する
  • バージョン更新の調整を自動化する
5. テストの統合
  • パッケージ間のテストを検証する
  • 統合テストを自動化する
  • パフォーマンスのリグレッションを検出する

パフォーマンス最適化

キャッシュ戦略
npx claude-flow skill run github-multi-repo cache-strategy \
  --analyze-patterns \
  --suggest-cache-layers \
  --implement-invalidation
並列実行
npx claude-flow skill run github-multi-repo parallel-optimize \
  --analyze-dependencies \
  --identify-parallelizable \
  --execute-optimal
リソースプーリング
npx claude-flow skill run github-multi-repo resource-pool \
  --share-agents \
  --distribute-load \
  --monitor-usage

トラブルシューティング

接続の問題
npx claude-flow skill run github-multi-repo diagnose-connectivity \
  --test-all-repos \
  --check-permissions \
  --verify-webhooks
メモリの同期
npx claude-flow skill run github-multi-repo debug-memory \
  --check-consistency \
  --identify-conflicts \
  --repair-state
パフォーマンスのボトルネック
npx claude-flow skill run github-multi-repo perf-analysis \
  --profile-operations \
  --identify-bottlenecks \
  --suggest-optimizations

高度な機能

1. 分散タスクキュー
npx claude-flow skill run github-multi-repo queue \
  --backend redis \
  --workers 10 \
  --priority-routing \
  --dead-letter-queue
2. リポジトリ間のテスト
npx claude-flow skill run github-multi-repo test \
  --setup-test-env \
  --link-services \
  --run-e2e \
  --tear-down
3. モノレポへの移行
npx claude-flow skill run github-multi-repo to-monorepo \
  --analyze-repos \
  --suggest-structure \
  --preserve-history \
  --create-migration-prs

例

フルスタックアプリケーションの更新
npx claude-flow skill run github-multi-repo fullstack-update \
  --frontend "org/web-app" \
  --backend "org/api-server" \
  --database "org/db-migrations" \
  --coordinate-deployment
チーム間のコラボレーション
npx claude-flow skill run github-multi-repo cross-team \
  --teams "frontend,backend,devops" \
  --task "implement-feature-x" \
  --assign-by-expertise \
  --track-progress

メトリクスとレポート

同期品質メトリクス
  • パッケージのバージョン調整率
  • ドキュメントの一貫性スコア
  • 統合テストの成功率
  • 同期の完了時間
アーキテクチャ健全性メトリクス
  • リポジトリ構造の一貫性スコア
  • ドキュメントのカバレッジ率
  • リポジトリ間の統合成功率
  • テンプレートの採用率と使用状況
自動レポート
  • 週次の同期状況レポート
  • 依存関係のずれの検出
  • ドキュメントの乖離アラート
  • 統合の健全性監視

統合ポイント

Related Skills
  • github-workflow - GitHub workflow automation
  • github-pr - Pull request management
  • sparc-architect - Architecture design
  • sparc-optimizer - Performance optimization
Related Commands
  • /github sync-coordinator - Cross-repo synchronization
  • /github release-manager - Coordinated releases
  • /github repo-architect - Repository optimization
  • /sparc architect - Detailed architecture design

Support and Resources


Version: 1.0.0 Last Updated: 2025-10-19 Maintainer: Claude Flow Team

コメント