跨仓库群智编排_agent-multi-repo-swarm
以下为本文档的中文说明Agent Multi-Repo Swarm 是 ruvnet 开发的一项跨仓库群智编排技能旨在协调 AI 代理在多个代码仓库之间的协同工作。该技能的核心能力是让 AI 代理能够跨越单个仓库的边界在组织级别实现自动化和智能化的跨项目协作。其主要功能包括跨仓库初始化——通过 GitHub CLI 列出组织中的仓库筛选相关的前端、后端或共享仓库获取仓库详情包括默认分支、编程语言和主题标签然后基于这些上下文信息初始化群智系统智能任务分配——根据仓库之间的依赖关系和变更影响范围将任务分配给最合适的代理跨仓库变更协调——当一个仓库的变更影响到其他仓库时自动发现并同步相应的调整。该技能特别适用于拥有多个相关代码仓库的中大型开发团队、微服务架构下的协同开发场景、以及需要跨项目保持代码一致性和版本同步的组织。其核心特点包括对 GitHub 仓库生态的深度集成、基于仓库元数据的智能决策、以及支持大规模多代理并行工作的架构设计。该技能将单仓库开发范式延伸至多仓库生态系统有效解决了跨项目协作中的信息孤岛问题。该技能代表了软件工程自动化从单仓库到多仓库、从单代理到多代理的重要演进方向为大型组织的 DevOps 实践提供了全新的智能化解决方案。Multi-Repo Swarm - Cross-Repository Swarm OrchestrationOverviewCoordinate AI swarms across multiple repositories, enabling organization-wide automation and intelligent cross-project collaboration.Core Features1. Cross-Repo Initialization# Initialize multi-repo swarm with gh CLI# List organization repositoriesREPOS$(gh repo list org--limit100--jsonname,description,languages\\--jq.[]|select(.name|test(frontend|backend|shared)))# Get repository detailsREPO_DETAILS$(echo$REPOS|jq-r.name|whileread-rrepo;dogh api repos$org/$repo--jq{name, default_branch, languages, topics}done|jq-s.)# Initialize swarm with repository contextnpx ruv-swarm github multi-repo-init\\--repo-details$REPO_DETAILS\\--reposorg$frontend,org$backend,org$shared\\--topologyhierarchical\\--shared-memory\\--sync-strategy eventual2. Repository Discovery# Auto-discover related repositories with gh CLI# Search organization repositoriesREPOS$(gh repo list my-organization--limit100\\--jsonname,description,languages,topics\\--jq.[]|select(.languages|keys|contains([TypeScript\er, tester]- name: backend url: github.com$my-org$backendrole: api agents:[architect, coder, tester]- name: shared url: github.com$my-org$sharedrole: 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 CommandsDependency Management# Update dependencies across all repos with gh CLI# Create tracking issue firstTRACKING_ISSUE$(gh issue create\\--titleDependency Update: typescript5.0.0\\--bodyTracking issue for updating TypeScript across all repositories\\--labeldependencies,tracking\\--jsonnumber-q.number)# Get all repos with TypeScriptTS_REPOS$(gh repo list org--limit100--jsonname|jq-r.[].name|\\whileread-rrepo;doifgh api repos$org/$repo$contents$package.json2$dev$null|\\jq-r.content|base64-d|grep-qtypescript;thenecho$repofidone)# Update each repositoryecho$TS_REPOS|whileread-rrepo;do# Clone and updategh repo clone org/$repo$tmp/$repo----depth1cd$tmp/$repo# Update dependencynpminstall--save-dev typescript5.0.0# Test changesifnpmtest;then# Create PRgitcheckout-bupdate-typescript-5gitaddpackage.json package-lock.jsongitcommit-mchore: Update TypeScript to 5.0.0 Part of #$TRACKING_ISSUEgitpush origin HEAD ghprcreate\\--titleUpdate TypeScript to 5.0.0\\--bodyUpdates TypeScript to version 5.0.0\ \ Tracking: #$TRACKING_ISSUE\\--labeldependencieselse# Report failuregh issue comment$TRACKING_ISSUE\\--body❌ Failed to update$repo- tests failingficd-doneRefactoring Operations# Coordinate large-scale refactoringnpx ruv-swarm github multi-repo-refactor\\--patternrename:OldAPI-NewAPI\\--analyze-impact\\--create-migration-guide\\--staged-rolloutSecurity Updates# Coordinate security patchesnpx ruv-swarm github multi-repo-security\\--scan-all\\--patch-vulnerabilities\\--verify-fixes\\--compliance-reportCommunication Strategies1. Webhook-Based Coordination// webhook-coordinator.jsconst{MultiRepoSwarm}require(ruv-swarm);constswarmnewMultiRepoSwarm({webhook:{url:https:/$swarm-coordinator.example.com,secret:process.env.WEBHOOK_SECRET}});// Handle cross-repo eventsswarm.on(repo:update,async(event){awaitswarm.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 coordinationkafka:brokers:[kafka1:9092,kafka2:9092]topics:swarm-events:partitions:10replication:3swarm-memory:partitions:5replication:3Advanced Features1. Distributed Task Queue# Create distributed task queuenpx ruv-swarm github multi-repo-queue\\--backendredis\\--workers10\\- -priority-routing\\--dead-letter-queue2. Cross-Repo Testing# Run integration tests across reposnpx ruv-swarm github multi-repo-test\\--setup-test-env\\--link-services\\--run-e2e\\--tear-down3. Monorepo Migration# Assist in monorepo migrationnpx ruv-swarm github to-monorepo\\--analyze-repos\\--suggest-structure\\--preserve-history\\--create-migration-prsMonitoring VisualizationMulti-Repo Dashboard# Launch monitoring dashboardnpx ruv-swarm github multi-repo-dashboard\\--port3000\\--metricsagent-activity,task-progress,memory-usage\\--real-timeDependency Graph# Visualize repo dependenciesnpx ruv-swarm github dep-graph\\--formatmermaid\\--include-agents\\--show-data-flowHealth Monitoring# Monitor swarm health across reposnpx ruv-swarm github health-check\\--reposorg/*\\--checkconnectivity,memory,agents\\--alert-on-issuesSynchronization Patterns1. 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 Cases1. Microservices Coordination# Coordinate microservices developmentnpx ruv-swarm github microservices\\--servicesauth,users,orders,payments\\--ensure-compatibility\\--sync-contracts\\--integration-tests2. Library Updates# Update shared library across consumersnpx ruv-swarm github lib-update\\--libraryorg$shared-lib\\--version2.0.0\\--find-consumers\\--update-imports\\--run-tests3. Organization-Wide Changes# Apply org-wide policy changesnpx ruv-swarm github org-policy\\--policyadd-security-headers\\--reposorg/*\\--validate-compliance\\--create-reportsBest Practices1. Repository OrganizationClear repository roles and boundariesConsistent naming conventionsDocumented dependenciesShared configuration standards2. CommunicationUse appropriate sync strategiesImplement circuit breakersMonitor latency and failuresClear error propagation3. SecuritySecure cross-repo authenticationEncrypted communication channelsAudit trail for all operationsPrinciple of least privilegePerformance OptimizationCaching Strategy# Implement cross-repo cachingnpx ruv-swarm github cache-strategy\\--analyze-patterns\\--suggest-cache-layers\\--implement-invalidationParallel Execution# Optimize parallel operationsnpx ruv-swarm github parallel-optimize\\--analyze-dependencies\\--identify-parallelizable\\--execute-optimalResource Pooling# Pool resources across reposnpx ruv-swarm github resource-pool\\--share-agents\\--distribute-load\\--monitor-usageTroubleshootingConnectivity Issues# Diagnose connectivity problemsnpx ruv-swarm github diagnose-connectivity\\--test-all-repos\\--check-permissions\\--verify-webhooksMemory Synchronization# Debug memory sync issuesnpx ruv-swarm github debug-memory\\--check-consistency\\--identify-conflicts\\--repair-statePerformance Bottlenecks# Identify performance issuesnpx ruv-swarm github perf-analysis\\--profile-operations\\--identify-bottlenecks\\--suggest-optimizationsExamplesFull-Stack Application Update# Update full-stack applicationnpx ruv-swarm github fullstack-update\\--frontendorg$web-app\\--backendorg$api-server\\--databaseorg$db-migrations\\--coordinate-deploymentCross-Team Collaboration# Facilitate cross-team worknpx ruv-swarm github cross-team\\--teamsfrontend,backend,devops\\--taskimplement-feature-x\\--assign-by-expertise\\--track-progressSee 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”]