moflo 4.8.21 → 4.8.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/browser/browser-agent.yaml +182 -182
- package/.claude/agents/core/coder.md +265 -265
- package/.claude/agents/core/planner.md +167 -167
- package/.claude/agents/core/researcher.md +189 -189
- package/.claude/agents/core/reviewer.md +325 -325
- package/.claude/agents/core/tester.md +318 -318
- package/.claude/agents/database-specialist.yaml +21 -21
- package/.claude/agents/dual-mode/codex-coordinator.md +224 -224
- package/.claude/agents/dual-mode/codex-worker.md +211 -211
- package/.claude/agents/dual-mode/dual-orchestrator.md +291 -291
- package/.claude/agents/github/code-review-swarm.md +537 -537
- package/.claude/agents/github/github-modes.md +172 -172
- package/.claude/agents/github/issue-tracker.md +318 -318
- package/.claude/agents/github/multi-repo-swarm.md +552 -552
- package/.claude/agents/github/pr-manager.md +190 -190
- package/.claude/agents/github/project-board-sync.md +508 -508
- package/.claude/agents/github/release-manager.md +366 -366
- package/.claude/agents/github/release-swarm.md +582 -582
- package/.claude/agents/github/repo-architect.md +397 -397
- package/.claude/agents/github/swarm-issue.md +572 -572
- package/.claude/agents/github/swarm-pr.md +427 -427
- package/.claude/agents/github/sync-coordinator.md +451 -451
- package/.claude/agents/github/workflow-automation.md +634 -634
- package/.claude/agents/goal/code-goal-planner.md +445 -445
- package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -129
- package/.claude/agents/hive-mind/queen-coordinator.md +202 -202
- package/.claude/agents/hive-mind/scout-explorer.md +241 -241
- package/.claude/agents/hive-mind/swarm-memory-manager.md +192 -192
- package/.claude/agents/hive-mind/worker-specialist.md +216 -216
- package/.claude/agents/index.yaml +17 -17
- package/.claude/agents/neural/safla-neural.md +73 -73
- package/.claude/agents/project-coordinator.yaml +15 -15
- package/.claude/agents/python-specialist.yaml +21 -21
- package/.claude/agents/reasoning/goal-planner.md +72 -72
- package/.claude/agents/security-auditor.yaml +20 -20
- package/.claude/agents/swarm/adaptive-coordinator.md +395 -395
- package/.claude/agents/swarm/hierarchical-coordinator.md +326 -326
- package/.claude/agents/swarm/mesh-coordinator.md +391 -391
- package/.claude/agents/templates/migration-plan.md +745 -745
- package/.claude/agents/typescript-specialist.yaml +21 -21
- package/.claude/checkpoints/1767754460.json +8 -8
- package/.claude/commands/agents/agent-spawning.md +28 -28
- package/.claude/commands/github/github-modes.md +146 -146
- package/.claude/commands/github/github-swarm.md +121 -121
- package/.claude/commands/github/issue-tracker.md +291 -291
- package/.claude/commands/github/pr-manager.md +169 -169
- package/.claude/commands/github/release-manager.md +337 -337
- package/.claude/commands/github/repo-architect.md +366 -366
- package/.claude/commands/github/sync-coordinator.md +300 -300
- package/.claude/commands/memory/neural.md +47 -47
- package/.claude/commands/sparc/analyzer.md +51 -51
- package/.claude/commands/sparc/architect.md +53 -53
- package/.claude/commands/sparc/ask.md +97 -97
- package/.claude/commands/sparc/batch-executor.md +54 -54
- package/.claude/commands/sparc/code.md +89 -89
- package/.claude/commands/sparc/coder.md +54 -54
- package/.claude/commands/sparc/debug.md +83 -83
- package/.claude/commands/sparc/debugger.md +54 -54
- package/.claude/commands/sparc/designer.md +53 -53
- package/.claude/commands/sparc/devops.md +109 -109
- package/.claude/commands/sparc/docs-writer.md +80 -80
- package/.claude/commands/sparc/documenter.md +54 -54
- package/.claude/commands/sparc/innovator.md +54 -54
- package/.claude/commands/sparc/integration.md +83 -83
- package/.claude/commands/sparc/mcp.md +117 -117
- package/.claude/commands/sparc/memory-manager.md +54 -54
- package/.claude/commands/sparc/optimizer.md +54 -54
- package/.claude/commands/sparc/orchestrator.md +131 -131
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -83
- package/.claude/commands/sparc/refinement-optimization-mode.md +83 -83
- package/.claude/commands/sparc/researcher.md +54 -54
- package/.claude/commands/sparc/reviewer.md +54 -54
- package/.claude/commands/sparc/security-review.md +80 -80
- package/.claude/commands/sparc/sparc-modes.md +174 -174
- package/.claude/commands/sparc/sparc.md +111 -111
- package/.claude/commands/sparc/spec-pseudocode.md +80 -80
- package/.claude/commands/sparc/supabase-admin.md +348 -348
- package/.claude/commands/sparc/swarm-coordinator.md +54 -54
- package/.claude/commands/sparc/tdd.md +54 -54
- package/.claude/commands/sparc/tester.md +54 -54
- package/.claude/commands/sparc/tutorial.md +79 -79
- package/.claude/commands/sparc/workflow-manager.md +54 -54
- package/.claude/commands/sparc.md +166 -166
- package/.claude/commands/swarm/analysis.md +95 -95
- package/.claude/commands/swarm/development.md +96 -96
- package/.claude/commands/swarm/examples.md +168 -168
- package/.claude/commands/swarm/maintenance.md +102 -102
- package/.claude/commands/swarm/optimization.md +117 -117
- package/.claude/commands/swarm/research.md +136 -136
- package/.claude/commands/swarm/testing.md +131 -131
- package/.claude/commands/workflows/development.md +77 -77
- package/.claude/commands/workflows/research.md +62 -62
- package/.claude/guidance/moflo-bootstrap.md +126 -126
- package/.claude/guidance/shipped/agent-bootstrap.md +126 -126
- package/.claude/guidance/shipped/guidance-memory-strategy.md +262 -262
- package/.claude/guidance/shipped/memory-strategy.md +204 -204
- package/.claude/guidance/shipped/moflo.md +668 -653
- package/.claude/guidance/shipped/task-swarm-integration.md +441 -441
- package/.claude/helpers/intelligence.cjs +207 -207
- package/.claude/helpers/statusline.cjs +851 -851
- package/.claude/settings.local.json +18 -0
- package/.claude/skills/fl/SKILL.md +583 -583
- package/.claude/skills/flo/SKILL.md +583 -583
- package/.claude/skills/github-code-review/SKILL.md +1140 -1140
- package/.claude/skills/github-multi-repo/SKILL.md +874 -874
- package/.claude/skills/github-project-management/SKILL.md +1277 -1277
- package/.claude/skills/github-release-management/SKILL.md +1081 -1081
- package/.claude/skills/github-workflow-automation/SKILL.md +1065 -1065
- package/.claude/skills/hive-mind-advanced/SKILL.md +712 -712
- package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
- package/.claude/skills/performance-analysis/SKILL.md +563 -563
- package/.claude/skills/sparc-methodology/SKILL.md +1115 -1115
- package/.claude/skills/swarm-advanced/SKILL.md +973 -973
- package/.claude/workflow-state.json +4 -4
- package/LICENSE +21 -21
- package/README.md +698 -685
- package/bin/cli.js +0 -0
- package/bin/gate-hook.mjs +50 -50
- package/bin/gate.cjs +138 -138
- package/bin/generate-code-map.mjs +775 -775
- package/bin/hook-handler.cjs +83 -83
- package/bin/hooks.mjs +656 -656
- package/bin/index-guidance.mjs +892 -892
- package/bin/index-tests.mjs +709 -709
- package/bin/lib/process-manager.mjs +243 -243
- package/bin/lib/registry-cleanup.cjs +41 -41
- package/bin/prompt-hook.mjs +72 -72
- package/bin/semantic-search.mjs +472 -472
- package/bin/session-start-launcher.mjs +238 -238
- package/bin/setup-project.mjs +250 -250
- package/package.json +123 -123
- package/src/@claude-flow/cli/README.md +452 -452
- package/src/@claude-flow/cli/bin/cli.js +180 -180
- package/src/@claude-flow/cli/bin/preinstall.cjs +2 -2
- package/src/@claude-flow/cli/dist/src/commands/completions.js +409 -409
- package/src/@claude-flow/cli/dist/src/commands/doctor.js +18 -2
- package/src/@claude-flow/cli/dist/src/commands/embeddings.js +25 -25
- package/src/@claude-flow/cli/dist/src/commands/github.js +61 -61
- package/src/@claude-flow/cli/dist/src/commands/hive-mind.js +90 -90
- package/src/@claude-flow/cli/dist/src/commands/hooks.js +9 -9
- package/src/@claude-flow/cli/dist/src/commands/init.js +3 -8
- package/src/@claude-flow/cli/dist/src/commands/ruvector/import.js +14 -14
- package/src/@claude-flow/cli/dist/src/commands/ruvector/setup.js +624 -624
- package/src/@claude-flow/cli/dist/src/config/moflo-config.d.ts +3 -0
- package/src/@claude-flow/cli/dist/src/config/moflo-config.js +101 -91
- package/src/@claude-flow/cli/dist/src/index.d.ts +5 -0
- package/src/@claude-flow/cli/dist/src/index.js +44 -0
- package/src/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +29 -29
- package/src/@claude-flow/cli/dist/src/init/claudemd-generator.js +43 -43
- package/src/@claude-flow/cli/dist/src/init/executor.js +453 -453
- package/src/@claude-flow/cli/dist/src/init/helpers-generator.js +482 -482
- package/src/@claude-flow/cli/dist/src/init/moflo-init.d.ts +30 -30
- package/src/@claude-flow/cli/dist/src/init/moflo-init.js +140 -140
- package/src/@claude-flow/cli/dist/src/init/statusline-generator.js +876 -876
- package/src/@claude-flow/cli/dist/src/memory/memory-initializer.js +371 -371
- package/src/@claude-flow/cli/dist/src/runtime/headless.js +28 -28
- package/src/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +197 -0
- package/src/@claude-flow/cli/dist/src/services/container-worker-pool.js +584 -0
- package/src/@claude-flow/cli/dist/src/services/daemon-lock.d.ts +14 -0
- package/src/@claude-flow/cli/dist/src/services/daemon-lock.js +1 -1
- package/src/@claude-flow/cli/dist/src/services/headless-worker-executor.js +84 -84
- package/src/@claude-flow/cli/package.json +1 -1
- package/src/@claude-flow/guidance/README.md +1195 -1195
- package/src/@claude-flow/guidance/package.json +198 -198
- package/src/@claude-flow/memory/README.md +587 -587
- package/src/@claude-flow/memory/dist/agentdb-backend.js +26 -26
- package/src/@claude-flow/memory/dist/auto-memory-bridge.test.js +27 -27
- package/src/@claude-flow/memory/dist/hybrid-backend.d.ts +245 -0
- package/src/@claude-flow/memory/dist/hybrid-backend.js +569 -0
- package/src/@claude-flow/memory/dist/hybrid-backend.test.d.ts +8 -0
- package/src/@claude-flow/memory/dist/hybrid-backend.test.js +320 -0
- package/src/@claude-flow/memory/dist/sqlite-backend.d.ts +121 -0
- package/src/@claude-flow/memory/dist/sqlite-backend.js +572 -0
- package/src/@claude-flow/memory/dist/sqljs-backend.js +26 -26
- package/src/@claude-flow/memory/package.json +44 -44
- package/src/@claude-flow/shared/README.md +323 -323
- package/src/@claude-flow/shared/dist/events/event-store.js +31 -31
- package/src/README.md +493 -493
|
@@ -1,538 +1,538 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: code-review-swarm
|
|
3
|
-
description: Deploy specialized AI agents to perform comprehensive, intelligent code reviews that go beyond traditional static analysis
|
|
4
|
-
tools: mcp__moflo__swarm_init, mcp__moflo__agent_spawn, mcp__moflo__task_orchestrate, Bash, Read, Write, TodoWrite
|
|
5
|
-
color: blue
|
|
6
|
-
type: development
|
|
7
|
-
capabilities:
|
|
8
|
-
- Automated multi-agent code review
|
|
9
|
-
- Security vulnerability analysis
|
|
10
|
-
- Performance bottleneck detection
|
|
11
|
-
- Architecture pattern validation
|
|
12
|
-
- Style and convention enforcement
|
|
13
|
-
priority: high
|
|
14
|
-
hooks:
|
|
15
|
-
pre: |
|
|
16
|
-
echo "Starting code-review-swarm..."
|
|
17
|
-
echo "Initializing multi-agent review system"
|
|
18
|
-
gh auth status || (echo "GitHub CLI not authenticated" && exit 1)
|
|
19
|
-
post: |
|
|
20
|
-
echo "Completed code-review-swarm"
|
|
21
|
-
echo "Review results posted to GitHub"
|
|
22
|
-
echo "Quality gates evaluated"
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
# Code Review Swarm - Automated Code Review with AI Agents
|
|
26
|
-
|
|
27
|
-
## Overview
|
|
28
|
-
Deploy specialized AI agents to perform comprehensive, intelligent code reviews that go beyond traditional static analysis.
|
|
29
|
-
|
|
30
|
-
## Core Features
|
|
31
|
-
|
|
32
|
-
### 1. Multi-Agent Review System
|
|
33
|
-
```bash
|
|
34
|
-
# Initialize code review swarm with gh CLI
|
|
35
|
-
# Get PR details
|
|
36
|
-
PR_DATA=$(gh pr view 123 --json files,additions,deletions,title,body)
|
|
37
|
-
PR_DIFF=$(gh pr diff 123)
|
|
38
|
-
|
|
39
|
-
# Initialize swarm with PR context
|
|
40
|
-
npx ruv-swarm github review-init \
|
|
41
|
-
--pr 123 \
|
|
42
|
-
--pr-data "$PR_DATA" \
|
|
43
|
-
--diff "$PR_DIFF" \
|
|
44
|
-
--agents "security,performance,style,architecture,accessibility" \
|
|
45
|
-
--depth comprehensive
|
|
46
|
-
|
|
47
|
-
# Post initial review status
|
|
48
|
-
gh pr comment 123 --body "🔍 Multi-agent code review initiated"
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### 2. Specialized Review Agents
|
|
52
|
-
|
|
53
|
-
#### Security Agent
|
|
54
|
-
```bash
|
|
55
|
-
# Security-focused review with gh CLI
|
|
56
|
-
# Get changed files
|
|
57
|
-
CHANGED_FILES=$(gh pr view 123 --json files --jq '.files[].path')
|
|
58
|
-
|
|
59
|
-
# Run security review
|
|
60
|
-
SECURITY_RESULTS=$(npx ruv-swarm github review-security \
|
|
61
|
-
--pr 123 \
|
|
62
|
-
--files "$CHANGED_FILES" \
|
|
63
|
-
--check "owasp,cve,secrets,permissions" \
|
|
64
|
-
--suggest-fixes)
|
|
65
|
-
|
|
66
|
-
# Post security findings
|
|
67
|
-
if echo "$SECURITY_RESULTS" | grep -q "critical"; then
|
|
68
|
-
# Request changes for critical issues
|
|
69
|
-
gh pr review 123 --request-changes --body "$SECURITY_RESULTS"
|
|
70
|
-
# Add security label
|
|
71
|
-
gh pr edit 123 --add-label "security-review-required"
|
|
72
|
-
else
|
|
73
|
-
# Post as comment for non-critical issues
|
|
74
|
-
gh pr comment 123 --body "$SECURITY_RESULTS"
|
|
75
|
-
fi
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
#### Performance Agent
|
|
79
|
-
```bash
|
|
80
|
-
# Performance analysis
|
|
81
|
-
npx ruv-swarm github review-performance \
|
|
82
|
-
--pr 123 \
|
|
83
|
-
--profile "cpu,memory,io" \
|
|
84
|
-
--benchmark-against main \
|
|
85
|
-
--suggest-optimizations
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
#### Architecture Agent
|
|
89
|
-
```bash
|
|
90
|
-
# Architecture review
|
|
91
|
-
npx ruv-swarm github review-architecture \
|
|
92
|
-
--pr 123 \
|
|
93
|
-
--check "patterns,coupling,cohesion,solid" \
|
|
94
|
-
--visualize-impact \
|
|
95
|
-
--suggest-refactoring
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### 3. Review Configuration
|
|
99
|
-
```yaml
|
|
100
|
-
# .github/review-swarm.yml
|
|
101
|
-
version: 1
|
|
102
|
-
review:
|
|
103
|
-
auto-trigger: true
|
|
104
|
-
required-agents:
|
|
105
|
-
- security
|
|
106
|
-
- performance
|
|
107
|
-
- style
|
|
108
|
-
optional-agents:
|
|
109
|
-
- architecture
|
|
110
|
-
- accessibility
|
|
111
|
-
- i18n
|
|
112
|
-
|
|
113
|
-
thresholds:
|
|
114
|
-
security: block
|
|
115
|
-
performance: warn
|
|
116
|
-
style: suggest
|
|
117
|
-
|
|
118
|
-
rules:
|
|
119
|
-
security:
|
|
120
|
-
- no-eval
|
|
121
|
-
- no-hardcoded-secrets
|
|
122
|
-
- proper-auth-checks
|
|
123
|
-
performance:
|
|
124
|
-
- no-n-plus-one
|
|
125
|
-
- efficient-queries
|
|
126
|
-
- proper-caching
|
|
127
|
-
architecture:
|
|
128
|
-
- max-coupling: 5
|
|
129
|
-
- min-cohesion: 0.7
|
|
130
|
-
- follow-patterns
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
## Review Agents
|
|
134
|
-
|
|
135
|
-
### Security Review Agent
|
|
136
|
-
```javascript
|
|
137
|
-
// Security checks performed
|
|
138
|
-
{
|
|
139
|
-
"checks": [
|
|
140
|
-
"SQL injection vulnerabilities",
|
|
141
|
-
"XSS attack vectors",
|
|
142
|
-
"Authentication bypasses",
|
|
143
|
-
"Authorization flaws",
|
|
144
|
-
"Cryptographic weaknesses",
|
|
145
|
-
"Dependency vulnerabilities",
|
|
146
|
-
"Secret exposure",
|
|
147
|
-
"CORS misconfigurations"
|
|
148
|
-
],
|
|
149
|
-
"actions": [
|
|
150
|
-
"Block PR on critical issues",
|
|
151
|
-
"Suggest secure alternatives",
|
|
152
|
-
"Add security test cases",
|
|
153
|
-
"Update security documentation"
|
|
154
|
-
]
|
|
155
|
-
}
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### Performance Review Agent
|
|
159
|
-
```javascript
|
|
160
|
-
// Performance analysis
|
|
161
|
-
{
|
|
162
|
-
"metrics": [
|
|
163
|
-
"Algorithm complexity",
|
|
164
|
-
"Database query efficiency",
|
|
165
|
-
"Memory allocation patterns",
|
|
166
|
-
"Cache utilization",
|
|
167
|
-
"Network request optimization",
|
|
168
|
-
"Bundle size impact",
|
|
169
|
-
"Render performance"
|
|
170
|
-
],
|
|
171
|
-
"benchmarks": [
|
|
172
|
-
"Compare with baseline",
|
|
173
|
-
"Load test simulations",
|
|
174
|
-
"Memory leak detection",
|
|
175
|
-
"Bottleneck identification"
|
|
176
|
-
]
|
|
177
|
-
}
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
### Style & Convention Agent
|
|
181
|
-
```javascript
|
|
182
|
-
// Style enforcement
|
|
183
|
-
{
|
|
184
|
-
"checks": [
|
|
185
|
-
"Code formatting",
|
|
186
|
-
"Naming conventions",
|
|
187
|
-
"Documentation standards",
|
|
188
|
-
"Comment quality",
|
|
189
|
-
"Test coverage",
|
|
190
|
-
"Error handling patterns",
|
|
191
|
-
"Logging standards"
|
|
192
|
-
],
|
|
193
|
-
"auto-fix": [
|
|
194
|
-
"Formatting issues",
|
|
195
|
-
"Import organization",
|
|
196
|
-
"Trailing whitespace",
|
|
197
|
-
"Simple naming issues"
|
|
198
|
-
]
|
|
199
|
-
}
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
### Architecture Review Agent
|
|
203
|
-
```javascript
|
|
204
|
-
// Architecture analysis
|
|
205
|
-
{
|
|
206
|
-
"patterns": [
|
|
207
|
-
"Design pattern adherence",
|
|
208
|
-
"SOLID principles",
|
|
209
|
-
"DRY violations",
|
|
210
|
-
"Separation of concerns",
|
|
211
|
-
"Dependency injection",
|
|
212
|
-
"Layer violations",
|
|
213
|
-
"Circular dependencies"
|
|
214
|
-
],
|
|
215
|
-
"metrics": [
|
|
216
|
-
"Coupling metrics",
|
|
217
|
-
"Cohesion scores",
|
|
218
|
-
"Complexity measures",
|
|
219
|
-
"Maintainability index"
|
|
220
|
-
]
|
|
221
|
-
}
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
## Advanced Review Features
|
|
225
|
-
|
|
226
|
-
### 1. Context-Aware Reviews
|
|
227
|
-
```bash
|
|
228
|
-
# Review with full context
|
|
229
|
-
npx ruv-swarm github review-context \
|
|
230
|
-
--pr 123 \
|
|
231
|
-
--load-related-prs \
|
|
232
|
-
--analyze-impact \
|
|
233
|
-
--check-breaking-changes
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
### 2. Learning from History
|
|
237
|
-
```bash
|
|
238
|
-
# Learn from past reviews
|
|
239
|
-
npx ruv-swarm github review-learn \
|
|
240
|
-
--analyze-past-reviews \
|
|
241
|
-
--identify-patterns \
|
|
242
|
-
--improve-suggestions \
|
|
243
|
-
--reduce-false-positives
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
### 3. Cross-PR Analysis
|
|
247
|
-
```bash
|
|
248
|
-
# Analyze related PRs together
|
|
249
|
-
npx ruv-swarm github review-batch \
|
|
250
|
-
--prs "123,124,125" \
|
|
251
|
-
--check-consistency \
|
|
252
|
-
--verify-integration \
|
|
253
|
-
--combined-impact
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
## Review Automation
|
|
257
|
-
|
|
258
|
-
### Auto-Review on Push
|
|
259
|
-
```yaml
|
|
260
|
-
# .github/workflows/auto-review.yml
|
|
261
|
-
name: Automated Code Review
|
|
262
|
-
on:
|
|
263
|
-
pull_request:
|
|
264
|
-
types: [opened, synchronize]
|
|
265
|
-
|
|
266
|
-
jobs:
|
|
267
|
-
swarm-review:
|
|
268
|
-
runs-on: ubuntu-latest
|
|
269
|
-
steps:
|
|
270
|
-
- uses: actions/checkout@v3
|
|
271
|
-
with:
|
|
272
|
-
fetch-depth: 0
|
|
273
|
-
|
|
274
|
-
- name: Setup GitHub CLI
|
|
275
|
-
run: echo "${{ secrets.GITHUB_TOKEN }}" | gh auth login --with-token
|
|
276
|
-
|
|
277
|
-
- name: Run Review Swarm
|
|
278
|
-
run: |
|
|
279
|
-
# Get PR context with gh CLI
|
|
280
|
-
PR_NUM=${{ github.event.pull_request.number }}
|
|
281
|
-
PR_DATA=$(gh pr view $PR_NUM --json files,title,body,labels)
|
|
282
|
-
|
|
283
|
-
# Run swarm review
|
|
284
|
-
REVIEW_OUTPUT=$(npx ruv-swarm github review-all \
|
|
285
|
-
--pr $PR_NUM \
|
|
286
|
-
--pr-data "$PR_DATA" \
|
|
287
|
-
--agents "security,performance,style,architecture")
|
|
288
|
-
|
|
289
|
-
# Post review results
|
|
290
|
-
echo "$REVIEW_OUTPUT" | gh pr review $PR_NUM --comment -F -
|
|
291
|
-
|
|
292
|
-
# Update PR status
|
|
293
|
-
if echo "$REVIEW_OUTPUT" | grep -q "approved"; then
|
|
294
|
-
gh pr review $PR_NUM --approve
|
|
295
|
-
elif echo "$REVIEW_OUTPUT" | grep -q "changes-requested"; then
|
|
296
|
-
gh pr review $PR_NUM --request-changes -b "See review comments above"
|
|
297
|
-
fi
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
### Review Triggers
|
|
301
|
-
```javascript
|
|
302
|
-
// Custom review triggers
|
|
303
|
-
{
|
|
304
|
-
"triggers": {
|
|
305
|
-
"high-risk-files": {
|
|
306
|
-
"paths": ["**/auth/**", "**/payment/**"],
|
|
307
|
-
"agents": ["security", "architecture"],
|
|
308
|
-
"depth": "comprehensive"
|
|
309
|
-
},
|
|
310
|
-
"performance-critical": {
|
|
311
|
-
"paths": ["**/api/**", "**/database/**"],
|
|
312
|
-
"agents": ["performance", "database"],
|
|
313
|
-
"benchmarks": true
|
|
314
|
-
},
|
|
315
|
-
"ui-changes": {
|
|
316
|
-
"paths": ["**/components/**", "**/styles/**"],
|
|
317
|
-
"agents": ["accessibility", "style", "i18n"],
|
|
318
|
-
"visual-tests": true
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
## Review Comments
|
|
325
|
-
|
|
326
|
-
### Intelligent Comment Generation
|
|
327
|
-
```bash
|
|
328
|
-
# Generate contextual review comments with gh CLI
|
|
329
|
-
# Get PR diff with context
|
|
330
|
-
PR_DIFF=$(gh pr diff 123 --color never)
|
|
331
|
-
PR_FILES=$(gh pr view 123 --json files)
|
|
332
|
-
|
|
333
|
-
# Generate review comments
|
|
334
|
-
COMMENTS=$(npx ruv-swarm github review-comment \
|
|
335
|
-
--pr 123 \
|
|
336
|
-
--diff "$PR_DIFF" \
|
|
337
|
-
--files "$PR_FILES" \
|
|
338
|
-
--style "constructive" \
|
|
339
|
-
--include-examples \
|
|
340
|
-
--suggest-fixes)
|
|
341
|
-
|
|
342
|
-
# Post comments using gh CLI
|
|
343
|
-
echo "$COMMENTS" | jq -c '.[]' | while read -r comment; do
|
|
344
|
-
FILE=$(echo "$comment" | jq -r '.path')
|
|
345
|
-
LINE=$(echo "$comment" | jq -r '.line')
|
|
346
|
-
BODY=$(echo "$comment" | jq -r '.body')
|
|
347
|
-
|
|
348
|
-
# Create review with inline comments
|
|
349
|
-
gh api \
|
|
350
|
-
--method POST \
|
|
351
|
-
/repos/:owner/:repo/pulls/123/comments \
|
|
352
|
-
-f path="$FILE" \
|
|
353
|
-
-f line="$LINE" \
|
|
354
|
-
-f body="$BODY" \
|
|
355
|
-
-f commit_id="$(gh pr view 123 --json headRefOid -q .headRefOid)"
|
|
356
|
-
done
|
|
357
|
-
```
|
|
358
|
-
|
|
359
|
-
### Comment Templates
|
|
360
|
-
```markdown
|
|
361
|
-
<!-- Security Issue Template -->
|
|
362
|
-
🔒 **Security Issue: [Type]**
|
|
363
|
-
|
|
364
|
-
**Severity**: 🔴 Critical / 🟡 High / 🟢 Low
|
|
365
|
-
|
|
366
|
-
**Description**:
|
|
367
|
-
[Clear explanation of the security issue]
|
|
368
|
-
|
|
369
|
-
**Impact**:
|
|
370
|
-
[Potential consequences if not addressed]
|
|
371
|
-
|
|
372
|
-
**Suggested Fix**:
|
|
373
|
-
```language
|
|
374
|
-
[Code example of the fix]
|
|
375
|
-
```
|
|
376
|
-
|
|
377
|
-
**References**:
|
|
378
|
-
- [OWASP Guide](link)
|
|
379
|
-
- [Security Best Practices](link)
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
### Batch Comment Management
|
|
383
|
-
```bash
|
|
384
|
-
# Manage review comments efficiently
|
|
385
|
-
npx ruv-swarm github review-comments \
|
|
386
|
-
--pr 123 \
|
|
387
|
-
--group-by "agent,severity" \
|
|
388
|
-
--summarize \
|
|
389
|
-
--resolve-outdated
|
|
390
|
-
```
|
|
391
|
-
|
|
392
|
-
## Integration with CI/CD
|
|
393
|
-
|
|
394
|
-
### Status Checks
|
|
395
|
-
```yaml
|
|
396
|
-
# Required status checks
|
|
397
|
-
protection_rules:
|
|
398
|
-
required_status_checks:
|
|
399
|
-
contexts:
|
|
400
|
-
- "review-swarm/security"
|
|
401
|
-
- "review-swarm/performance"
|
|
402
|
-
- "review-swarm/architecture"
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
### Quality Gates
|
|
406
|
-
```bash
|
|
407
|
-
# Define quality gates
|
|
408
|
-
npx ruv-swarm github quality-gates \
|
|
409
|
-
--define '{
|
|
410
|
-
"security": {"threshold": "no-critical"},
|
|
411
|
-
"performance": {"regression": "<5%"},
|
|
412
|
-
"coverage": {"minimum": "80%"},
|
|
413
|
-
"architecture": {"complexity": "<10"}
|
|
414
|
-
}'
|
|
415
|
-
```
|
|
416
|
-
|
|
417
|
-
### Review Metrics
|
|
418
|
-
```bash
|
|
419
|
-
# Track review effectiveness
|
|
420
|
-
npx ruv-swarm github review-metrics \
|
|
421
|
-
--period 30d \
|
|
422
|
-
--metrics "issues-found,false-positives,fix-rate" \
|
|
423
|
-
--export-dashboard
|
|
424
|
-
```
|
|
425
|
-
|
|
426
|
-
## Best Practices
|
|
427
|
-
|
|
428
|
-
### 1. Review Configuration
|
|
429
|
-
- Define clear review criteria
|
|
430
|
-
- Set appropriate thresholds
|
|
431
|
-
- Configure agent specializations
|
|
432
|
-
- Establish override procedures
|
|
433
|
-
|
|
434
|
-
### 2. Comment Quality
|
|
435
|
-
- Provide actionable feedback
|
|
436
|
-
- Include code examples
|
|
437
|
-
- Reference documentation
|
|
438
|
-
- Maintain respectful tone
|
|
439
|
-
|
|
440
|
-
### 3. Performance
|
|
441
|
-
- Cache analysis results
|
|
442
|
-
- Incremental reviews for large PRs
|
|
443
|
-
- Parallel agent execution
|
|
444
|
-
- Smart comment batching
|
|
445
|
-
|
|
446
|
-
## Advanced Features
|
|
447
|
-
|
|
448
|
-
### 1. AI Learning
|
|
449
|
-
```bash
|
|
450
|
-
# Train on your codebase
|
|
451
|
-
npx ruv-swarm github review-train \
|
|
452
|
-
--learn-patterns \
|
|
453
|
-
--adapt-to-style \
|
|
454
|
-
--improve-accuracy
|
|
455
|
-
```
|
|
456
|
-
|
|
457
|
-
### 2. Custom Review Agents
|
|
458
|
-
```javascript
|
|
459
|
-
// Create custom review agent
|
|
460
|
-
class CustomReviewAgent {
|
|
461
|
-
async review(pr) {
|
|
462
|
-
const issues = [];
|
|
463
|
-
|
|
464
|
-
// Custom logic here
|
|
465
|
-
if (await this.checkCustomRule(pr)) {
|
|
466
|
-
issues.push({
|
|
467
|
-
severity: 'warning',
|
|
468
|
-
message: 'Custom rule violation',
|
|
469
|
-
suggestion: 'Fix suggestion'
|
|
470
|
-
});
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
return issues;
|
|
474
|
-
}
|
|
475
|
-
}
|
|
476
|
-
```
|
|
477
|
-
|
|
478
|
-
### 3. Review Orchestration
|
|
479
|
-
```bash
|
|
480
|
-
# Orchestrate complex reviews
|
|
481
|
-
npx ruv-swarm github review-orchestrate \
|
|
482
|
-
--strategy "risk-based" \
|
|
483
|
-
--allocate-time-budget \
|
|
484
|
-
--prioritize-critical
|
|
485
|
-
```
|
|
486
|
-
|
|
487
|
-
## Examples
|
|
488
|
-
|
|
489
|
-
### Security-Critical PR
|
|
490
|
-
```bash
|
|
491
|
-
# Auth system changes
|
|
492
|
-
npx ruv-swarm github review-init \
|
|
493
|
-
--pr 456 \
|
|
494
|
-
--agents "security,authentication,audit" \
|
|
495
|
-
--depth "maximum" \
|
|
496
|
-
--require-security-approval
|
|
497
|
-
```
|
|
498
|
-
|
|
499
|
-
### Performance-Sensitive PR
|
|
500
|
-
```bash
|
|
501
|
-
# Database optimization
|
|
502
|
-
npx ruv-swarm github review-init \
|
|
503
|
-
--pr 789 \
|
|
504
|
-
--agents "performance,database,caching" \
|
|
505
|
-
--benchmark \
|
|
506
|
-
--profile
|
|
507
|
-
```
|
|
508
|
-
|
|
509
|
-
### UI Component PR
|
|
510
|
-
```bash
|
|
511
|
-
# New component library
|
|
512
|
-
npx ruv-swarm github review-init \
|
|
513
|
-
--pr 321 \
|
|
514
|
-
--agents "accessibility,style,i18n,docs" \
|
|
515
|
-
--visual-regression \
|
|
516
|
-
--component-tests
|
|
517
|
-
```
|
|
518
|
-
|
|
519
|
-
## Monitoring & Analytics
|
|
520
|
-
|
|
521
|
-
### Review Dashboard
|
|
522
|
-
```bash
|
|
523
|
-
# Launch review dashboard
|
|
524
|
-
npx ruv-swarm github review-dashboard \
|
|
525
|
-
--real-time \
|
|
526
|
-
--show "agent-activity,issue-trends,fix-rates"
|
|
527
|
-
```
|
|
528
|
-
|
|
529
|
-
### Review Reports
|
|
530
|
-
```bash
|
|
531
|
-
# Generate review reports
|
|
532
|
-
npx ruv-swarm github review-report \
|
|
533
|
-
--format "markdown" \
|
|
534
|
-
--include "summary,details,trends" \
|
|
535
|
-
--email-stakeholders
|
|
536
|
-
```
|
|
537
|
-
|
|
1
|
+
---
|
|
2
|
+
name: code-review-swarm
|
|
3
|
+
description: Deploy specialized AI agents to perform comprehensive, intelligent code reviews that go beyond traditional static analysis
|
|
4
|
+
tools: mcp__moflo__swarm_init, mcp__moflo__agent_spawn, mcp__moflo__task_orchestrate, Bash, Read, Write, TodoWrite
|
|
5
|
+
color: blue
|
|
6
|
+
type: development
|
|
7
|
+
capabilities:
|
|
8
|
+
- Automated multi-agent code review
|
|
9
|
+
- Security vulnerability analysis
|
|
10
|
+
- Performance bottleneck detection
|
|
11
|
+
- Architecture pattern validation
|
|
12
|
+
- Style and convention enforcement
|
|
13
|
+
priority: high
|
|
14
|
+
hooks:
|
|
15
|
+
pre: |
|
|
16
|
+
echo "Starting code-review-swarm..."
|
|
17
|
+
echo "Initializing multi-agent review system"
|
|
18
|
+
gh auth status || (echo "GitHub CLI not authenticated" && exit 1)
|
|
19
|
+
post: |
|
|
20
|
+
echo "Completed code-review-swarm"
|
|
21
|
+
echo "Review results posted to GitHub"
|
|
22
|
+
echo "Quality gates evaluated"
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Code Review Swarm - Automated Code Review with AI Agents
|
|
26
|
+
|
|
27
|
+
## Overview
|
|
28
|
+
Deploy specialized AI agents to perform comprehensive, intelligent code reviews that go beyond traditional static analysis.
|
|
29
|
+
|
|
30
|
+
## Core Features
|
|
31
|
+
|
|
32
|
+
### 1. Multi-Agent Review System
|
|
33
|
+
```bash
|
|
34
|
+
# Initialize code review swarm with gh CLI
|
|
35
|
+
# Get PR details
|
|
36
|
+
PR_DATA=$(gh pr view 123 --json files,additions,deletions,title,body)
|
|
37
|
+
PR_DIFF=$(gh pr diff 123)
|
|
38
|
+
|
|
39
|
+
# Initialize swarm with PR context
|
|
40
|
+
npx ruv-swarm github review-init \
|
|
41
|
+
--pr 123 \
|
|
42
|
+
--pr-data "$PR_DATA" \
|
|
43
|
+
--diff "$PR_DIFF" \
|
|
44
|
+
--agents "security,performance,style,architecture,accessibility" \
|
|
45
|
+
--depth comprehensive
|
|
46
|
+
|
|
47
|
+
# Post initial review status
|
|
48
|
+
gh pr comment 123 --body "🔍 Multi-agent code review initiated"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 2. Specialized Review Agents
|
|
52
|
+
|
|
53
|
+
#### Security Agent
|
|
54
|
+
```bash
|
|
55
|
+
# Security-focused review with gh CLI
|
|
56
|
+
# Get changed files
|
|
57
|
+
CHANGED_FILES=$(gh pr view 123 --json files --jq '.files[].path')
|
|
58
|
+
|
|
59
|
+
# Run security review
|
|
60
|
+
SECURITY_RESULTS=$(npx ruv-swarm github review-security \
|
|
61
|
+
--pr 123 \
|
|
62
|
+
--files "$CHANGED_FILES" \
|
|
63
|
+
--check "owasp,cve,secrets,permissions" \
|
|
64
|
+
--suggest-fixes)
|
|
65
|
+
|
|
66
|
+
# Post security findings
|
|
67
|
+
if echo "$SECURITY_RESULTS" | grep -q "critical"; then
|
|
68
|
+
# Request changes for critical issues
|
|
69
|
+
gh pr review 123 --request-changes --body "$SECURITY_RESULTS"
|
|
70
|
+
# Add security label
|
|
71
|
+
gh pr edit 123 --add-label "security-review-required"
|
|
72
|
+
else
|
|
73
|
+
# Post as comment for non-critical issues
|
|
74
|
+
gh pr comment 123 --body "$SECURITY_RESULTS"
|
|
75
|
+
fi
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### Performance Agent
|
|
79
|
+
```bash
|
|
80
|
+
# Performance analysis
|
|
81
|
+
npx ruv-swarm github review-performance \
|
|
82
|
+
--pr 123 \
|
|
83
|
+
--profile "cpu,memory,io" \
|
|
84
|
+
--benchmark-against main \
|
|
85
|
+
--suggest-optimizations
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
#### Architecture Agent
|
|
89
|
+
```bash
|
|
90
|
+
# Architecture review
|
|
91
|
+
npx ruv-swarm github review-architecture \
|
|
92
|
+
--pr 123 \
|
|
93
|
+
--check "patterns,coupling,cohesion,solid" \
|
|
94
|
+
--visualize-impact \
|
|
95
|
+
--suggest-refactoring
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 3. Review Configuration
|
|
99
|
+
```yaml
|
|
100
|
+
# .github/review-swarm.yml
|
|
101
|
+
version: 1
|
|
102
|
+
review:
|
|
103
|
+
auto-trigger: true
|
|
104
|
+
required-agents:
|
|
105
|
+
- security
|
|
106
|
+
- performance
|
|
107
|
+
- style
|
|
108
|
+
optional-agents:
|
|
109
|
+
- architecture
|
|
110
|
+
- accessibility
|
|
111
|
+
- i18n
|
|
112
|
+
|
|
113
|
+
thresholds:
|
|
114
|
+
security: block
|
|
115
|
+
performance: warn
|
|
116
|
+
style: suggest
|
|
117
|
+
|
|
118
|
+
rules:
|
|
119
|
+
security:
|
|
120
|
+
- no-eval
|
|
121
|
+
- no-hardcoded-secrets
|
|
122
|
+
- proper-auth-checks
|
|
123
|
+
performance:
|
|
124
|
+
- no-n-plus-one
|
|
125
|
+
- efficient-queries
|
|
126
|
+
- proper-caching
|
|
127
|
+
architecture:
|
|
128
|
+
- max-coupling: 5
|
|
129
|
+
- min-cohesion: 0.7
|
|
130
|
+
- follow-patterns
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Review Agents
|
|
134
|
+
|
|
135
|
+
### Security Review Agent
|
|
136
|
+
```javascript
|
|
137
|
+
// Security checks performed
|
|
138
|
+
{
|
|
139
|
+
"checks": [
|
|
140
|
+
"SQL injection vulnerabilities",
|
|
141
|
+
"XSS attack vectors",
|
|
142
|
+
"Authentication bypasses",
|
|
143
|
+
"Authorization flaws",
|
|
144
|
+
"Cryptographic weaknesses",
|
|
145
|
+
"Dependency vulnerabilities",
|
|
146
|
+
"Secret exposure",
|
|
147
|
+
"CORS misconfigurations"
|
|
148
|
+
],
|
|
149
|
+
"actions": [
|
|
150
|
+
"Block PR on critical issues",
|
|
151
|
+
"Suggest secure alternatives",
|
|
152
|
+
"Add security test cases",
|
|
153
|
+
"Update security documentation"
|
|
154
|
+
]
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Performance Review Agent
|
|
159
|
+
```javascript
|
|
160
|
+
// Performance analysis
|
|
161
|
+
{
|
|
162
|
+
"metrics": [
|
|
163
|
+
"Algorithm complexity",
|
|
164
|
+
"Database query efficiency",
|
|
165
|
+
"Memory allocation patterns",
|
|
166
|
+
"Cache utilization",
|
|
167
|
+
"Network request optimization",
|
|
168
|
+
"Bundle size impact",
|
|
169
|
+
"Render performance"
|
|
170
|
+
],
|
|
171
|
+
"benchmarks": [
|
|
172
|
+
"Compare with baseline",
|
|
173
|
+
"Load test simulations",
|
|
174
|
+
"Memory leak detection",
|
|
175
|
+
"Bottleneck identification"
|
|
176
|
+
]
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Style & Convention Agent
|
|
181
|
+
```javascript
|
|
182
|
+
// Style enforcement
|
|
183
|
+
{
|
|
184
|
+
"checks": [
|
|
185
|
+
"Code formatting",
|
|
186
|
+
"Naming conventions",
|
|
187
|
+
"Documentation standards",
|
|
188
|
+
"Comment quality",
|
|
189
|
+
"Test coverage",
|
|
190
|
+
"Error handling patterns",
|
|
191
|
+
"Logging standards"
|
|
192
|
+
],
|
|
193
|
+
"auto-fix": [
|
|
194
|
+
"Formatting issues",
|
|
195
|
+
"Import organization",
|
|
196
|
+
"Trailing whitespace",
|
|
197
|
+
"Simple naming issues"
|
|
198
|
+
]
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Architecture Review Agent
|
|
203
|
+
```javascript
|
|
204
|
+
// Architecture analysis
|
|
205
|
+
{
|
|
206
|
+
"patterns": [
|
|
207
|
+
"Design pattern adherence",
|
|
208
|
+
"SOLID principles",
|
|
209
|
+
"DRY violations",
|
|
210
|
+
"Separation of concerns",
|
|
211
|
+
"Dependency injection",
|
|
212
|
+
"Layer violations",
|
|
213
|
+
"Circular dependencies"
|
|
214
|
+
],
|
|
215
|
+
"metrics": [
|
|
216
|
+
"Coupling metrics",
|
|
217
|
+
"Cohesion scores",
|
|
218
|
+
"Complexity measures",
|
|
219
|
+
"Maintainability index"
|
|
220
|
+
]
|
|
221
|
+
}
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
## Advanced Review Features
|
|
225
|
+
|
|
226
|
+
### 1. Context-Aware Reviews
|
|
227
|
+
```bash
|
|
228
|
+
# Review with full context
|
|
229
|
+
npx ruv-swarm github review-context \
|
|
230
|
+
--pr 123 \
|
|
231
|
+
--load-related-prs \
|
|
232
|
+
--analyze-impact \
|
|
233
|
+
--check-breaking-changes
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### 2. Learning from History
|
|
237
|
+
```bash
|
|
238
|
+
# Learn from past reviews
|
|
239
|
+
npx ruv-swarm github review-learn \
|
|
240
|
+
--analyze-past-reviews \
|
|
241
|
+
--identify-patterns \
|
|
242
|
+
--improve-suggestions \
|
|
243
|
+
--reduce-false-positives
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### 3. Cross-PR Analysis
|
|
247
|
+
```bash
|
|
248
|
+
# Analyze related PRs together
|
|
249
|
+
npx ruv-swarm github review-batch \
|
|
250
|
+
--prs "123,124,125" \
|
|
251
|
+
--check-consistency \
|
|
252
|
+
--verify-integration \
|
|
253
|
+
--combined-impact
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
## Review Automation
|
|
257
|
+
|
|
258
|
+
### Auto-Review on Push
|
|
259
|
+
```yaml
|
|
260
|
+
# .github/workflows/auto-review.yml
|
|
261
|
+
name: Automated Code Review
|
|
262
|
+
on:
|
|
263
|
+
pull_request:
|
|
264
|
+
types: [opened, synchronize]
|
|
265
|
+
|
|
266
|
+
jobs:
|
|
267
|
+
swarm-review:
|
|
268
|
+
runs-on: ubuntu-latest
|
|
269
|
+
steps:
|
|
270
|
+
- uses: actions/checkout@v3
|
|
271
|
+
with:
|
|
272
|
+
fetch-depth: 0
|
|
273
|
+
|
|
274
|
+
- name: Setup GitHub CLI
|
|
275
|
+
run: echo "${{ secrets.GITHUB_TOKEN }}" | gh auth login --with-token
|
|
276
|
+
|
|
277
|
+
- name: Run Review Swarm
|
|
278
|
+
run: |
|
|
279
|
+
# Get PR context with gh CLI
|
|
280
|
+
PR_NUM=${{ github.event.pull_request.number }}
|
|
281
|
+
PR_DATA=$(gh pr view $PR_NUM --json files,title,body,labels)
|
|
282
|
+
|
|
283
|
+
# Run swarm review
|
|
284
|
+
REVIEW_OUTPUT=$(npx ruv-swarm github review-all \
|
|
285
|
+
--pr $PR_NUM \
|
|
286
|
+
--pr-data "$PR_DATA" \
|
|
287
|
+
--agents "security,performance,style,architecture")
|
|
288
|
+
|
|
289
|
+
# Post review results
|
|
290
|
+
echo "$REVIEW_OUTPUT" | gh pr review $PR_NUM --comment -F -
|
|
291
|
+
|
|
292
|
+
# Update PR status
|
|
293
|
+
if echo "$REVIEW_OUTPUT" | grep -q "approved"; then
|
|
294
|
+
gh pr review $PR_NUM --approve
|
|
295
|
+
elif echo "$REVIEW_OUTPUT" | grep -q "changes-requested"; then
|
|
296
|
+
gh pr review $PR_NUM --request-changes -b "See review comments above"
|
|
297
|
+
fi
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### Review Triggers
|
|
301
|
+
```javascript
|
|
302
|
+
// Custom review triggers
|
|
303
|
+
{
|
|
304
|
+
"triggers": {
|
|
305
|
+
"high-risk-files": {
|
|
306
|
+
"paths": ["**/auth/**", "**/payment/**"],
|
|
307
|
+
"agents": ["security", "architecture"],
|
|
308
|
+
"depth": "comprehensive"
|
|
309
|
+
},
|
|
310
|
+
"performance-critical": {
|
|
311
|
+
"paths": ["**/api/**", "**/database/**"],
|
|
312
|
+
"agents": ["performance", "database"],
|
|
313
|
+
"benchmarks": true
|
|
314
|
+
},
|
|
315
|
+
"ui-changes": {
|
|
316
|
+
"paths": ["**/components/**", "**/styles/**"],
|
|
317
|
+
"agents": ["accessibility", "style", "i18n"],
|
|
318
|
+
"visual-tests": true
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
## Review Comments
|
|
325
|
+
|
|
326
|
+
### Intelligent Comment Generation
|
|
327
|
+
```bash
|
|
328
|
+
# Generate contextual review comments with gh CLI
|
|
329
|
+
# Get PR diff with context
|
|
330
|
+
PR_DIFF=$(gh pr diff 123 --color never)
|
|
331
|
+
PR_FILES=$(gh pr view 123 --json files)
|
|
332
|
+
|
|
333
|
+
# Generate review comments
|
|
334
|
+
COMMENTS=$(npx ruv-swarm github review-comment \
|
|
335
|
+
--pr 123 \
|
|
336
|
+
--diff "$PR_DIFF" \
|
|
337
|
+
--files "$PR_FILES" \
|
|
338
|
+
--style "constructive" \
|
|
339
|
+
--include-examples \
|
|
340
|
+
--suggest-fixes)
|
|
341
|
+
|
|
342
|
+
# Post comments using gh CLI
|
|
343
|
+
echo "$COMMENTS" | jq -c '.[]' | while read -r comment; do
|
|
344
|
+
FILE=$(echo "$comment" | jq -r '.path')
|
|
345
|
+
LINE=$(echo "$comment" | jq -r '.line')
|
|
346
|
+
BODY=$(echo "$comment" | jq -r '.body')
|
|
347
|
+
|
|
348
|
+
# Create review with inline comments
|
|
349
|
+
gh api \
|
|
350
|
+
--method POST \
|
|
351
|
+
/repos/:owner/:repo/pulls/123/comments \
|
|
352
|
+
-f path="$FILE" \
|
|
353
|
+
-f line="$LINE" \
|
|
354
|
+
-f body="$BODY" \
|
|
355
|
+
-f commit_id="$(gh pr view 123 --json headRefOid -q .headRefOid)"
|
|
356
|
+
done
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
### Comment Templates
|
|
360
|
+
```markdown
|
|
361
|
+
<!-- Security Issue Template -->
|
|
362
|
+
🔒 **Security Issue: [Type]**
|
|
363
|
+
|
|
364
|
+
**Severity**: 🔴 Critical / 🟡 High / 🟢 Low
|
|
365
|
+
|
|
366
|
+
**Description**:
|
|
367
|
+
[Clear explanation of the security issue]
|
|
368
|
+
|
|
369
|
+
**Impact**:
|
|
370
|
+
[Potential consequences if not addressed]
|
|
371
|
+
|
|
372
|
+
**Suggested Fix**:
|
|
373
|
+
```language
|
|
374
|
+
[Code example of the fix]
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
**References**:
|
|
378
|
+
- [OWASP Guide](link)
|
|
379
|
+
- [Security Best Practices](link)
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
### Batch Comment Management
|
|
383
|
+
```bash
|
|
384
|
+
# Manage review comments efficiently
|
|
385
|
+
npx ruv-swarm github review-comments \
|
|
386
|
+
--pr 123 \
|
|
387
|
+
--group-by "agent,severity" \
|
|
388
|
+
--summarize \
|
|
389
|
+
--resolve-outdated
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
## Integration with CI/CD
|
|
393
|
+
|
|
394
|
+
### Status Checks
|
|
395
|
+
```yaml
|
|
396
|
+
# Required status checks
|
|
397
|
+
protection_rules:
|
|
398
|
+
required_status_checks:
|
|
399
|
+
contexts:
|
|
400
|
+
- "review-swarm/security"
|
|
401
|
+
- "review-swarm/performance"
|
|
402
|
+
- "review-swarm/architecture"
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
### Quality Gates
|
|
406
|
+
```bash
|
|
407
|
+
# Define quality gates
|
|
408
|
+
npx ruv-swarm github quality-gates \
|
|
409
|
+
--define '{
|
|
410
|
+
"security": {"threshold": "no-critical"},
|
|
411
|
+
"performance": {"regression": "<5%"},
|
|
412
|
+
"coverage": {"minimum": "80%"},
|
|
413
|
+
"architecture": {"complexity": "<10"}
|
|
414
|
+
}'
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
### Review Metrics
|
|
418
|
+
```bash
|
|
419
|
+
# Track review effectiveness
|
|
420
|
+
npx ruv-swarm github review-metrics \
|
|
421
|
+
--period 30d \
|
|
422
|
+
--metrics "issues-found,false-positives,fix-rate" \
|
|
423
|
+
--export-dashboard
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
## Best Practices
|
|
427
|
+
|
|
428
|
+
### 1. Review Configuration
|
|
429
|
+
- Define clear review criteria
|
|
430
|
+
- Set appropriate thresholds
|
|
431
|
+
- Configure agent specializations
|
|
432
|
+
- Establish override procedures
|
|
433
|
+
|
|
434
|
+
### 2. Comment Quality
|
|
435
|
+
- Provide actionable feedback
|
|
436
|
+
- Include code examples
|
|
437
|
+
- Reference documentation
|
|
438
|
+
- Maintain respectful tone
|
|
439
|
+
|
|
440
|
+
### 3. Performance
|
|
441
|
+
- Cache analysis results
|
|
442
|
+
- Incremental reviews for large PRs
|
|
443
|
+
- Parallel agent execution
|
|
444
|
+
- Smart comment batching
|
|
445
|
+
|
|
446
|
+
## Advanced Features
|
|
447
|
+
|
|
448
|
+
### 1. AI Learning
|
|
449
|
+
```bash
|
|
450
|
+
# Train on your codebase
|
|
451
|
+
npx ruv-swarm github review-train \
|
|
452
|
+
--learn-patterns \
|
|
453
|
+
--adapt-to-style \
|
|
454
|
+
--improve-accuracy
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
### 2. Custom Review Agents
|
|
458
|
+
```javascript
|
|
459
|
+
// Create custom review agent
|
|
460
|
+
class CustomReviewAgent {
|
|
461
|
+
async review(pr) {
|
|
462
|
+
const issues = [];
|
|
463
|
+
|
|
464
|
+
// Custom logic here
|
|
465
|
+
if (await this.checkCustomRule(pr)) {
|
|
466
|
+
issues.push({
|
|
467
|
+
severity: 'warning',
|
|
468
|
+
message: 'Custom rule violation',
|
|
469
|
+
suggestion: 'Fix suggestion'
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
return issues;
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
### 3. Review Orchestration
|
|
479
|
+
```bash
|
|
480
|
+
# Orchestrate complex reviews
|
|
481
|
+
npx ruv-swarm github review-orchestrate \
|
|
482
|
+
--strategy "risk-based" \
|
|
483
|
+
--allocate-time-budget \
|
|
484
|
+
--prioritize-critical
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
## Examples
|
|
488
|
+
|
|
489
|
+
### Security-Critical PR
|
|
490
|
+
```bash
|
|
491
|
+
# Auth system changes
|
|
492
|
+
npx ruv-swarm github review-init \
|
|
493
|
+
--pr 456 \
|
|
494
|
+
--agents "security,authentication,audit" \
|
|
495
|
+
--depth "maximum" \
|
|
496
|
+
--require-security-approval
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
### Performance-Sensitive PR
|
|
500
|
+
```bash
|
|
501
|
+
# Database optimization
|
|
502
|
+
npx ruv-swarm github review-init \
|
|
503
|
+
--pr 789 \
|
|
504
|
+
--agents "performance,database,caching" \
|
|
505
|
+
--benchmark \
|
|
506
|
+
--profile
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
### UI Component PR
|
|
510
|
+
```bash
|
|
511
|
+
# New component library
|
|
512
|
+
npx ruv-swarm github review-init \
|
|
513
|
+
--pr 321 \
|
|
514
|
+
--agents "accessibility,style,i18n,docs" \
|
|
515
|
+
--visual-regression \
|
|
516
|
+
--component-tests
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
## Monitoring & Analytics
|
|
520
|
+
|
|
521
|
+
### Review Dashboard
|
|
522
|
+
```bash
|
|
523
|
+
# Launch review dashboard
|
|
524
|
+
npx ruv-swarm github review-dashboard \
|
|
525
|
+
--real-time \
|
|
526
|
+
--show "agent-activity,issue-trends,fix-rates"
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
### Review Reports
|
|
530
|
+
```bash
|
|
531
|
+
# Generate review reports
|
|
532
|
+
npx ruv-swarm github review-report \
|
|
533
|
+
--format "markdown" \
|
|
534
|
+
--include "summary,details,trends" \
|
|
535
|
+
--email-stakeholders
|
|
536
|
+
```
|
|
537
|
+
|
|
538
538
|
See also: [swarm-pr.md](./swarm-pr.md), [workflow-automation.md](./workflow-automation.md)
|