跨仓库群智编排_agent-multi-repo-swarm
以下为本文档的中文说明
Agent Multi-Repo Swarm 是 ruvnet 开发的一项跨仓库群智编排技能,旨在协调 AI 代理在多个代码仓库之间的协同工作。该技能的核心能力是让 AI 代理能够跨越单个仓库的边界,在组织级别实现自动化和智能化的跨项目协作。其主要功能包括:跨仓库初始化——通过 GitHub CLI 列出组织中的仓库,筛选相关的前端、后端或共享仓库,获取仓库详情包括默认分支、编程语言和主题标签,然后基于这些上下文信息初始化群智系统;智能任务分配——根据仓库之间的依赖关系和变更影响范围,将任务分配给最合适的代理;跨仓库变更协调——当一个仓库的变更影响到其他仓库时,自动发现并同步相应的调整。该技能特别适用于拥有多个相关代码仓库的中大型开发团队、微服务架构下的协同开发场景、以及需要跨项目保持代码一致性和版本同步的组织。其核心特点包括:对 GitHub 仓库生态的深度集成、基于仓库元数据的智能决策、以及支持大规模多代理并行工作的架构设计。该技能将单仓库开发范式延伸至多仓库生态系统,有效解决了跨项目协作中的信息孤岛问题。该技能代表了软件工程自动化从单仓库到多仓库、从单代理到多代理的重要演进方向,为大型组织的 DevOps 实践提供了全新的智能化解决方案。
Multi-Repo Swarm - Cross-Repository Swarm Orchestration
Overview
Coordinate AI swarms across multiple repositories, enabling organization-wide automation and intelligent cross-project collaboration.
Core Features
1. Cross-Repo Initialization
# Initialize multi-repo swarm with gh CLI
# List organization repositories
REPOS=$(gh repo list org --limit 100 --json name,description,languages \\
--jq '.[] | select(.name | test("frontend|backend|shared"))')
# Get repository details
REPO_DETAILS=$(echo "$REPOS" | jq -r '.name' | while read -r repo; do
gh api repos$org/$repo --jq '{name, default_branch, languages, topics}'
done | jq -s '.')
# Initialize swarm with repository context
npx ruv-swarm github multi-repo-init \\
--repo-details "$REPO_DETAILS" \\
--repos "org$frontend,org$backend,org$shared" \\
--topology hierarchical \\
--shared-memory \\
--sync-strategy eventual
2. Repository Discovery
# Auto-discover related repositories with gh CLI
# Search organization repositories
REPOS=$(gh repo list my-organization --limit 100 \\
--json name,description,languages,topics \\
--jq '.[] | select(.languages | keys | contains(["TypeScript\
er, 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]
Repository Roles
// Define repository roles and responsibilities
{
"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"]
}
}
}
Orchestration Commands
Dependency Management
# Update dependencies across all repos with gh CLI
# Create tracking issue first
TRACKING_ISSUE=$(gh issue create \\
--title "Dependency Update: typescript@5.0.0" \\
--body "Tracking issue for updating TypeScript across all repositories" \\
--label "dependencies,tracking" \\
--json number -q .number)
# Get all repos with TypeScript
TS_REPOS=$(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
echo "$TS_REPOS" | while read -r repo; do
# Clone and update
gh repo clone org/$repo $tmp/$repo -- --depth=1
cd $tmp/$repo
# Update dependency
npm install --save-dev typescript@5.0.0
# Test changes
if npm test; then
# Create PR
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 to version 5.0.0\
\
Tracking: #$TRACKING_ISSUE" \\
--label "dependencies"
else
# Report failure
gh issue comment $TRACKING_ISSUE \\
--body "❌ Failed to update $repo - tests failing"
fi
cd -
done
Refactoring Operations
# Coordinate large-scale refactoring
npx ruv-swarm github multi-repo-refactor \\
--pattern "rename:OldAPI->NewAPI" \\
--analyze-impact \\
--create-migration-guide \\
--staged-rollout
Security Updates
# Coordinate security patches
npx ruv-swarm github multi-repo-security \\
--scan-all \\
--patch-vulnerabilities \\
--verify-fixes \\
--compliance-report
Communication Strategies
1. Webhook-Based Coordination
// webhook-coordinator.js
const { MultiRepoSwarm } = require('ruv-swarm');
const swarm = new MultiRepoSwarm({
webhook: {
url: 'https:/$swarm-coordinator.example.com',
secret: process.env.WEBHOOK_SECRET
}
});
// Handle cross-repo events
swarm.on('repo:update', async (event) => {
await swarm.propagate(event, {
to: event.dependencies,
strategy: 'eventual-consistency'
});
});
2. GraphQL Federation
# Federated schema for multi-repo queries
type Repository @key(fields: "id") {
id: ID!
name: String!
swarmStatus: SwarmStatus!
dependencies: [Repository!]!
agents: [Agent!]!
}
type SwarmStatus {
active: Boolean!
topology: Topology!
tasks: [Task!]!
memory: JSON!
}
3. Event Streaming
# 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
Advanced Features
1. Distributed Task Queue
# Create distributed task queue
npx ruv-swarm github multi-repo-queue \\
--backend redis \\
--workers 10 \\
-
-priority-routing \\
--dead-letter-queue
2. Cross-Repo Testing
# Run integration tests across repos
npx ruv-swarm github multi-repo-test \\
--setup-test-env \\
--link-services \\
--run-e2e \\
--tear-down
3. Monorepo Migration
# Assist in monorepo migration
npx ruv-swarm github to-monorepo \\
--analyze-repos \\
--suggest-structure \\
--preserve-history \\
--create-migration-prs
Monitoring & Visualization
Multi-Repo Dashboard
# Launch monitoring dashboard
npx ruv-swarm github multi-repo-dashboard \\
--port 3000 \\
--metrics "agent-activity,task-progress,memory-usage" \\
--real-time
Dependency Graph
# Visualize repo dependencies
npx ruv-swarm github dep-graph \\
--format mermaid \\
--include-agents \\
--show-data-flow
Health Monitoring
# Monitor swarm health across repos
npx ruv-swarm github health-check \\
--repos "org/*" \\
--check "connectivity,memory,agents" \\
--alert-on-issues
Synchronization Patterns
1. Eventually Consistent
// Eventual consistency for non-critical updates
{
"sync": {
"strategy": "eventual",
"max-lag": "5m",
"retry": {
"attempts": 3,
"backoff": "exponential"
}
}
}
2. Strong Consistency
// Strong consistency for critical operations
{
"sync": {
"strategy": "strong",
"consensus": "raft",
"quorum": 0.51,
"timeout": "30s"
}
}
3. Hybrid Approach
// Mix of consistency levels
{
"sync": {
"default": "eventual",
"overrides": {
"security-updates": "strong",
"dependency-updates": "strong",
"documentation": "eventual"
}
}
}
Use Cases
1. Microservices Coordination
# Coordinate microservices development
npx ruv-swarm github microservices \\
--services "auth,users,orders,payments" \\
--ensure-compatibility \\
--sync-contracts \\
--integration-tests
2. Library Updates
# Update shared library across consumers
npx ruv-swarm github lib-update \\
--library "org$shared-lib" \\
--version "2.0.0" \\
--find-consumers \\
--update-imports \\
--run-tests
3. Organization-Wide Changes
# Apply org-wide policy changes
npx ruv-swarm github org-policy \\
--policy "add-security-headers" \\
--repos "org/*" \\
--validate-compliance \\
--create-reports
Best Practices
1. Repository Organization
- Clear repository roles and boundaries
- Consistent naming conventions
- Documented dependencies
- Shared configuration standards
2. Communication
- Use appropriate sync strategies
- Implement circuit breakers
- Monitor latency and failures
- Clear error propagation
3. Security
- Secure cross-repo authentication
- Encrypted communication channels
- Audit trail for all operations
- Principle of least privilege
Performance Optimization
Caching Strategy
# Implement cross-repo caching
npx ruv-swarm github cache-strategy \\
--analyze-patterns \\
--suggest-cache-layers \\
--implement-invalidation
Parallel Execution
# Optimize parallel operations
npx ruv-swarm github parallel-optimize \\
--analyze-dependencies \\
--identify-parallelizable \\
--execute-optimal
Resource Pooling
# Pool resources across repos
npx ruv-swarm github resource-pool \\
--share-agents \\
--distribute-load \\
--monitor-usage
Troubleshooting
Connectivity Issues
# Diagnose connectivity problems
npx ruv-swarm github diagnose-connectivity \\
--test-all-repos \\
--check-permissions \\
--verify-webhooks
Memory Synchronization
# Debug memory sync issues
npx ruv-swarm github debug-memory \\
--check-consistency \\
--identify-conflicts \\
--repair-state
Performance Bottlenecks
# Identify performance issues
npx ruv-swarm github perf-analysis \\
--profile-operations \\
--identify-bottlenecks \\
--suggest-optimizations
Examples
Full-Stack Application Update
# Update full-stack application
npx ruv-swarm
github fullstack-update \\
--frontend "org$web-app" \\
--backend "org$api-server" \\
--database "org$db-migrations" \\
--coordinate-deployment
Cross-Team Collaboration
# Facilitate cross-team work
npx ruv-swarm github cross-team \\
--teams "frontend,backend,devops" \\
--task "implement-feature-x" \\
--assign-by-expertise \\
--track-progress
See also: swarm-pr.md, project-board-sync.md3d:[“ " , " "," ","L40”,null,{“content”:“$41”,“frontMatter”:{“name”:“agent-multi-repo-swarm”,“description”:“Agent skill for multi-repo-swarm - invoke with $agent-multi-repo-swarm”}}]
3e:[“KaTeX parse error: Expected '}', got 'EOF' at end of input: …,"children":[["”,“div”,null,{“className”:“flex items-center justify-between border-b border-border bg-muted/30 px-4 py-2.5”,“children”:[[“KaTeX parse error: Expected '}', got 'EOF' at end of input: …","children":["”,“span”,null,{“className”:“truncate text-xs font-medium text-muted-foreground”,“children”:“同仓库更多 Skills”}]}],[“KaTeX parse error: Expected 'EOF', got '}' at position 88: …ldren":"同仓库"}]]}̲],["”,“div”,null,{“className”:“p-4 sm:p-5”,“children”:[[“ " , " h 2 " , n u l l , " i d " : " r e l a t e d − s k i l l s − h e a d i n g " , " c l a s s N a m e " : " t e x t − 2 x l f o n t − s e m i b o l d t r a c k i n g − n o r m a l t e x t − f o r e g r o u n d " , " c h i l d r e n " : " 同仓库更多 S k i l l s " ] , [ " ","h2",null,{"id":"related-skills-heading","className":"text-2xl font-semibold tracking-normal text-foreground","children":"同仓库更多 Skills"}],[" ","h2",null,"id":"related−skills−heading","className":"text−2xlfont−semiboldtracking−normaltext−foreground","children":"同仓库更多Skills"],["”,“div”,null,{“className”:“mt-4 grid gap-3 sm:grid-cols-2”,“children”:[“ L 42 " , " L42"," L42","L43”,“ L 44 " , " L44"," L44","L45”,“ L 46 " , " L46"," L46","L47”]}]]}]]}]
48:I[206516,[“/_next/static/chunks/051aanbhrv4br.js”,“/_next/static/chunks/0mizr60h7ayzt.js”,“/_next/static/chunks/0v9lm1dmbdoo-.js”,“/_next/static/chunks/0rxr1j1j3j-.r.js”,“/_next/static/chunks/02ftybezfvqjd.js”,“/_next/static/chunks/0.v9ksvnnj8ia.js”,“/_next/static/chunks/0bn6id96nx3k.js",“/_next/static/chunks/13ybnhn37c.tc.js”,“/_next/static/chunks/0_fnrdtruz8uf.js”,“/_next/static/chunks/0r6l15utt1mwb.js”,“/_next/static/chunks/0dm9a5into854.js”,"/_next/static/chunks/07k6hqoibtcn.js”,“/next/static/chunks/0b4cao.4y…j.js”,“/_next/static/chunks/02i-n28z7kjd0.js”],“default”]
更多推荐



所有评论(0)