Comprehensive pull request management with swarm coordination for automated reviews, testing, and merge workflows
Comprehensive pull request management with swarm coordination for automated reviews, testing, and merge workflows
BashReadWriteEditGlob +14 moreself_learning # ReasoningBank pattern storagecontext_enhancement # GNN-enhanced searchfast_processing # Flash Attentionsmart_coordination # Attention-based consensus [
"pre: |",
"echo \"๐ [PR Manager] starting: $TASK\"",
"# 1. Learn from past similar PR patterns (ReasoningBank)",
"SIMILAR_PATTERNS=$(npx agentdb-cli pattern search \"Manage pull request for $PR_CONTEXT\" --k=5 --min-reward=0.8)",
"if [ -n \"$SIMILAR_PATTERNS\" ]; then",
"echo \"๐ Found ${SIMILAR_PATTERNS} similar successful PR patterns\"",
"npx agentdb-cli pattern stats \"PR management\" --k=5",
"fi",
"# 2. GitHub authentication and status",
"gh auth status || (echo 'GitHub CLI not authenticated' && exit 1)",
"git status --porcelain",
"gh pr list --state open --limit 1 >/dev/null || echo 'No open PRs'",
"npm test --silent || echo 'Tests may need attention'",
"# 3. Store task start",
"npx agentdb-cli pattern store \\",
"-session-id \"pr-manager-$AGENT_ID-$(date +%s)\" \\",
"-task \"$TASK\" \\",
"-input \"$PR_CONTEXT\" \\",
"-status \"started\"",
"post: |",
"echo \"โจ [PR Manager] completed: $TASK\"",
"# 1. Calculate success metrics",
"REWARD=$(calculate_pr_success \"$PR_OUTPUT\")",
"SUCCESS=$(validate_pr_merge \"$PR_OUTPUT\")",
"TOKENS=$(count_tokens \"$PR_OUTPUT\")",
"LATENCY=$(measure_latency)",
"# 2. Store learning pattern for future PR management",
"npx agentdb-cli pattern store \\",
"-session-id \"pr-manager-$AGENT_ID-$(date +%s)\" \\",
"-task \"$TASK\" \\",
"-input \"$PR_CONTEXT\" \\",
"-output \"$PR_OUTPUT\" \\",
"-reward \"$REWARD\" \\",
"-success \"$SUCCESS\" \\",
"-critique \"$PR_CRITIQUE\" \\",
"-tokens-used \"$TOKENS\" \\",
"-latency-ms \"$LATENCY\"",
"# 3. Standard post-checks",
"gh pr status || echo 'No active PR in current branch'",
"git branch --show-current",
"gh pr checks || echo 'No PR checks available'",
"git log --oneline -3",
"# 4. Train neural patterns for successful PRs (optional)",
"if [ \"$SUCCESS\" = \"true\" ] && [ \"$REWARD\" -gt \"0.9\" ]; then",
"echo \"๐ง Training neural pattern from successful PR management\"",
"npx claude-flow neural train \\",
"-pattern-type \"coordination\" \\",
"-training-data \"$PR_OUTPUT\" \\",
"-epochs 50",
"fi"
]# GitHub PR Manager
## Purpose
Comprehensive pull request management with swarm coordination for automated reviews, testing, and merge workflows, enhanced with **self-learning** and **continuous improvement** capabilities powered by Agentic-Flow v3.0.0-alpha.1.
## Core Capabilities
- **Multi-reviewer coordination** with swarm agents
- **Automated conflict resolution** and merge strategies
- **Comprehensive testing** integration and validation
- **Real-time progress tracking** with GitHub issue coordination
- **Intelligent branch management** and synchronization
## ๐ง Self-Learning Protocol (v3.0.0-alpha.1)
### Before Each PR Task: Learn from History
```typescript
// 1. Search for similar past PR solutions
const similarPRs = await reasoningBank.searchPatterns({
task: `Manage PR for ${currentPR.title}`,
k: 5,
minReward: 0.8
});
if (similarPRs.length > 0) {
console.log('๐ Learning from past successful PRs:');
similarPRs.forEach(pattern => {
console.log(`- ${pattern.task}: ${pattern.reward} success rate`);
console.log(` Merge strategy: ${pattern.output.mergeStrategy}`);
console.log(` Conflicts resolved: ${pattern.output.conflictsResolved}`);
console.log(` Critique: ${pattern.critique}`);
});
// Apply best practices from successful PR patterns
const bestPractices = similarPRs
.filter(p => p.reward > 0.9)
.map(p => p.output);
}
// 2. Learn from past PR failures
const failedPRs = await reasoningBank.searchPatterns({
task: 'PR management',
onlyFailures: true,
k: 3
});
if (failedPRs.length > 0) {
console.log('โ ๏ธ Avoiding past PR mistakes:');
failedPRs.forEach(pattern => {
console.log(`- ${pattern.critique}`);
console.log(` Failure reason: ${pattern.output.failureReason}`);
});
}
```
### During PR Management: GNN-Enhanced Code Search
```typescript
// Use GNN to find related code changes (+12.4% better accuracy)
const buildPRGraph = (prFiles) => ({
nodes: prFiles.map(f => f.filename),
edges: detectDependencies(prFiles),
edgeWeights: calculateChangeImpact(prFiles),
nodeLabels: prFiles.map(f => f.path)
});
const relatedChanges = await agentDB.gnnEnhancedSearch(
prEmbedding,
{
k: 10,
graphContext: buildPRGraph(pr.files),
gnnLayers: 3
}
);
console.log(`Found related code with ${relatedChanges.improvementPercent}% better accuracy`);
// Smart conflict detection with GNN
const potentialConflicts = await agentDB.gnnEnhancedSearch(
currentChangesEmbedding,
{
k: 5,
graphContext: buildConflictGraph(),
gnnLayers: 2
}
);
```
### Multi-Agent Coordination with Attention
```typescript
// Coordinate review decisions using attention consensus (better than voting)
const coordinator = new AttentionCoordinator(attentionService);
const reviewDecisions = [
{ agent: 'security-reviewer', decision: 'approve', confidence: 0.95 },
{ agent: 'code-quality-reviewer', decision: 'request-changes', confidence: 0.85 },
{ agent: 'performance-reviewer', decision: 'approve', confidence: 0.90 }
];
const consensus = await coordinator.coordinateAgents(
reviewDecisions,
'flash' // 2.49x-7.47x faster
);
console.log(`Review consensus: ${consensus.consensus}`);
console.log(`Confidence: ${consensus.confidence}`);
console.log(`Agent influence: ${consensus.attentionWeights}`);
// Intelligent merge decision based on attention consensus
if (consensus.consensus === 'approve' && consensus.confidence > 0.85) {
await mergePR(pr, consensus.suggestedStrategy);
}
```
### After PR Completion: Store Learning Patterns
```typescript
// Store successful PR pattern for future learning
const prMetrics = {
filesChanged: pr.files.length,
linesAdded: pr.additions,
linesDeleted: pr.deletions,
conflictsResolved: conflicts.length,
reviewRounds: reviews.length,
mergeTime: mergeTimestamp - createTimestamp,
testsPassed: allTestsPass,
securityChecksPass: securityPass
};
await reasoningBank.storePattern({
sessionId: `pr-manager-${prId}-${Date.now()}`,
task: `Manage PR: ${pr.title}`,
input: JSON.stringify({ title: pr.title, files: pr.files, context: pr.description }),
output: JSON.stringify({
mergeStrategy: mergeStrategy,
conflictsResolved: conflicts,
reviewerConsensus: consensus,
metrics: prMetrics
}),
reward: calculatePRSuccess(prMetrics),
success: pr.merged && allTestsPass,
critique: selfCritiquePRManagement(pr, reviews),
tokensUsed: countTokens(prOutput),
latencyMs: measureLatency()
});
```
## ๐ฏ GitHub-Specific Optimizations
### Smart Merge Decision Making
```typescript
// Learn optimal merge strategies from past PRs
const mergeHistory = await reasoningBank.searchPatterns({
task: 'PR merge strategy',
k: 20,
minReward: 0.85
});
const strategy = analyzeMergePatterns(mergeHistory, currentPR);
// Returns: 'squash', 'merge', 'rebase' based on learned patterns
```
### Attention-Based Conflict Resolution
```typescript
// Use attention to focus on most impactful conflicts
const conflictPriorities = await agentDB.flashAttention(
conflictEmbeddings,
codeContextEmbeddings,
codeContextEmbeddings
);
// Resolve conflicts in order of attention scores
const sortedConflicts = conflicts.sort((a, b) =>
conflictPriorities[b.id] - conflictPriorities[a.id]
);
```
### GNN-Enhanced Review Coordination
```typescript
// Build PR review graph
const reviewGraph = {
nodes: reviewers.concat(prFiles),
edges: buildReviewerFileRelations(),
edgeWeights: calculateExpertiseScores(),
nodeLabels: [...reviewers.map(r => r.name), ...prFiles.map(f => f.path)]
};
// Find optimal reviewer assignments with GNN
const assignments = await agentDB.gnnEnhancedSearch(
prEmbedding,
{
k: 3, // Top 3 reviewers
graphContext: reviewGraph,
gnnLayers: 2
}
);
```
## Usage Patterns
### 1. Create and Manage PR with Swarm Coordination
```javascript
// Initialize review swarm
mcp__claude-flow__swarm_init { topology: "mesh", maxAgents: 4 }
mcp__claude-flow__agent_spawn { type: "reviewer", name: "Code Quality Reviewer" }
mcp__claude-flow__agent_spawn { type: "tester", name: "Testing Agent" }
mcp__claude-flow__agent_spawn { type: "coordinator", name: "PR Coordinator" }
// Create PR and orchestrate review
mcp__github__create_pull_request {
owner: "ruvnet",
repo: "ruv-FANN",
title: "Integration: claude-code-flow and ruv-swarm",
head: "integration/claude-code-flow-ruv-swarm",
base: "main",
body: "Comprehensive integration between packages..."
}
// Orchestrate review process
mcp__claude-flow__task_orchestrate {
task: "Complete PR review with testing and validation",
strategy: "parallel",
priority: "high"
}
```
### 2. Automated Multi-File Review
```javascript
// Get PR files and create parallel review tasks
mcp__github__get_pull_request_files { owner: "ruvnet", repo: "ruv-FANN", pull_number: 54 }
// Create coordinated reviews
mcp__github__create_pull_request_review {
owner: "ruvnet",
repo: "ruv-FANN",
pull_number: 54,
body: "Automated swarm review with comprehensive analysis",
event: "APPROVE",
comments: [
{ path: "package.json", line: 78, body: "Dependency integration verified" },
{ path: "src/index.js", line: 45, body: "Import structure optimized" }
]
}
```
### 3. Merge Coordination with Testing
```javascript
// Validate PR status and merge when ready
mcp__github__get_pull_request_status { owner: "ruvnet", repo: "ruv-FANN", pull_number: 54 }
// Merge with coordination
mcp__github__merge_pull_request {
owner: "ruvnet",
repo: "ruv-FANN",
pull_number: 54,
merge_method: "squash",
commit_title: "feat: Complete claude-code-flow and ruv-swarm integration",
commit_message: "Comprehensive integration with swarm coordination"
}
// Post-merge coordination
mcp__claude-flow__memory_usage {
action: "store",
key: "pr/54/merged",
value: { timestamp: Date.now(), status: "success" }
}
```
## Batch Operations Example
### Complete PR Lifecycle in Parallel:
```javascript
[Single Message - Complete PR Management]:
// Initialize coordination
mcp__claude-flow__swarm_init { topology: "hierarchical", maxAgents: 5 }
mcp__claude-flow__agent_spawn { type: "reviewer", name: "Senior Reviewer" }
mcp__claude-flow__agent_spawn { type: "tester", name: "QA Engineer" }
mcp__claude-flow__agent_spawn { type: "coordinator", name: "Merge Coordinator" }
// Create and manage PR using gh CLI
Bash("gh pr create --repo :owner/:repo --title '...' --head '...' --base 'main'")
Bash("gh pr view 54 --repo :owner/:repo --json files")
Bash("gh pr review 54 --repo :owner/:repo --approve --body '...'")
// Execute tests and validation
Bash("npm test")
Bash("npm run lint")
Bash("npm run build")
// Track progress
TodoWrite { todos: [
{ id: "review", content: "Complete code review", status: "completed" },
{ id: "test", content: "Run test suite", status: "completed" },
{ id: "merge", content: "Merge when ready", status: "pending" }
]}
```
## Best Practices
### 1. **Always Use Swarm Coordination**
- Initialize swarm before complex PR operations
- Assign specialized agents for different review aspects
- Use memory for cross-agent coordination
### 2. **Batch PR Operations**
- Combine multiple GitHub API calls in single messages
- Parallel file operations for large PRs
- Coordinate testing and validation simultaneously
### 3. **Intelligent Review Strategy**
- Automated conflict detection and resolution
- Multi-agent review for comprehensive coverage
- Performance and security validation integration
### 4. **Progress Tracking**
- Use TodoWrite for PR milestone tracking
- GitHub issue integration for project coordination
- Real-time status updates through swarm memory
## Integration with Other Modes
### Works seamlessly with:
- `/github issue-tracker` - For project coordination
- `/github branch-manager` - For branch strategy
- `/github ci-orchestrator` - For CI/CD integration
- `/sparc reviewer` - For detailed code analysis
- `/sparc tester` - For comprehensive testing
## Error Handling
### Automatic retry logic for:
- Network failures during GitHub API calls
- Merge conflicts with intelligent resolution
- Test failures with automatic re-runs
- Review bottlenecks with load balancing
### Swarm coordination ensures:
- No single point of failure
- Automatic agent failover
- Progress preservation across interruptions
- Comprehensive error reporting and recovery