moflo 4.8.21 → 4.8.22

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.
Files changed (260) hide show
  1. package/.claude/agents/browser/browser-agent.yaml +182 -182
  2. package/.claude/agents/core/coder.md +265 -265
  3. package/.claude/agents/core/planner.md +167 -167
  4. package/.claude/agents/core/researcher.md +189 -189
  5. package/.claude/agents/core/reviewer.md +325 -325
  6. package/.claude/agents/core/tester.md +318 -318
  7. package/.claude/agents/database-specialist.yaml +21 -21
  8. package/.claude/agents/dual-mode/codex-coordinator.md +224 -224
  9. package/.claude/agents/dual-mode/codex-worker.md +211 -211
  10. package/.claude/agents/dual-mode/dual-orchestrator.md +291 -291
  11. package/.claude/agents/github/code-review-swarm.md +537 -537
  12. package/.claude/agents/github/github-modes.md +172 -172
  13. package/.claude/agents/github/issue-tracker.md +318 -318
  14. package/.claude/agents/github/multi-repo-swarm.md +552 -552
  15. package/.claude/agents/github/pr-manager.md +190 -190
  16. package/.claude/agents/github/project-board-sync.md +508 -508
  17. package/.claude/agents/github/release-manager.md +366 -366
  18. package/.claude/agents/github/release-swarm.md +582 -582
  19. package/.claude/agents/github/repo-architect.md +397 -397
  20. package/.claude/agents/github/swarm-issue.md +572 -572
  21. package/.claude/agents/github/swarm-pr.md +427 -427
  22. package/.claude/agents/github/sync-coordinator.md +451 -451
  23. package/.claude/agents/github/workflow-automation.md +634 -634
  24. package/.claude/agents/goal/code-goal-planner.md +445 -445
  25. package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -129
  26. package/.claude/agents/hive-mind/queen-coordinator.md +202 -202
  27. package/.claude/agents/hive-mind/scout-explorer.md +241 -241
  28. package/.claude/agents/hive-mind/swarm-memory-manager.md +192 -192
  29. package/.claude/agents/hive-mind/worker-specialist.md +216 -216
  30. package/.claude/agents/index.yaml +17 -17
  31. package/.claude/agents/neural/safla-neural.md +73 -73
  32. package/.claude/agents/project-coordinator.yaml +15 -15
  33. package/.claude/agents/python-specialist.yaml +21 -21
  34. package/.claude/agents/reasoning/goal-planner.md +72 -72
  35. package/.claude/agents/security-auditor.yaml +20 -20
  36. package/.claude/agents/swarm/adaptive-coordinator.md +395 -395
  37. package/.claude/agents/swarm/hierarchical-coordinator.md +326 -326
  38. package/.claude/agents/swarm/mesh-coordinator.md +391 -391
  39. package/.claude/agents/templates/migration-plan.md +745 -745
  40. package/.claude/agents/typescript-specialist.yaml +21 -21
  41. package/.claude/checkpoints/1767754460.json +8 -8
  42. package/.claude/commands/agents/agent-spawning.md +28 -28
  43. package/.claude/commands/github/github-modes.md +146 -146
  44. package/.claude/commands/github/github-swarm.md +121 -121
  45. package/.claude/commands/github/issue-tracker.md +291 -291
  46. package/.claude/commands/github/pr-manager.md +169 -169
  47. package/.claude/commands/github/release-manager.md +337 -337
  48. package/.claude/commands/github/repo-architect.md +366 -366
  49. package/.claude/commands/github/sync-coordinator.md +300 -300
  50. package/.claude/commands/memory/neural.md +47 -47
  51. package/.claude/commands/sparc/analyzer.md +51 -51
  52. package/.claude/commands/sparc/architect.md +53 -53
  53. package/.claude/commands/sparc/ask.md +97 -97
  54. package/.claude/commands/sparc/batch-executor.md +54 -54
  55. package/.claude/commands/sparc/code.md +89 -89
  56. package/.claude/commands/sparc/coder.md +54 -54
  57. package/.claude/commands/sparc/debug.md +83 -83
  58. package/.claude/commands/sparc/debugger.md +54 -54
  59. package/.claude/commands/sparc/designer.md +53 -53
  60. package/.claude/commands/sparc/devops.md +109 -109
  61. package/.claude/commands/sparc/docs-writer.md +80 -80
  62. package/.claude/commands/sparc/documenter.md +54 -54
  63. package/.claude/commands/sparc/innovator.md +54 -54
  64. package/.claude/commands/sparc/integration.md +83 -83
  65. package/.claude/commands/sparc/mcp.md +117 -117
  66. package/.claude/commands/sparc/memory-manager.md +54 -54
  67. package/.claude/commands/sparc/optimizer.md +54 -54
  68. package/.claude/commands/sparc/orchestrator.md +131 -131
  69. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -83
  70. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -83
  71. package/.claude/commands/sparc/researcher.md +54 -54
  72. package/.claude/commands/sparc/reviewer.md +54 -54
  73. package/.claude/commands/sparc/security-review.md +80 -80
  74. package/.claude/commands/sparc/sparc-modes.md +174 -174
  75. package/.claude/commands/sparc/sparc.md +111 -111
  76. package/.claude/commands/sparc/spec-pseudocode.md +80 -80
  77. package/.claude/commands/sparc/supabase-admin.md +348 -348
  78. package/.claude/commands/sparc/swarm-coordinator.md +54 -54
  79. package/.claude/commands/sparc/tdd.md +54 -54
  80. package/.claude/commands/sparc/tester.md +54 -54
  81. package/.claude/commands/sparc/tutorial.md +79 -79
  82. package/.claude/commands/sparc/workflow-manager.md +54 -54
  83. package/.claude/commands/sparc.md +166 -166
  84. package/.claude/commands/swarm/analysis.md +95 -95
  85. package/.claude/commands/swarm/development.md +96 -96
  86. package/.claude/commands/swarm/examples.md +168 -168
  87. package/.claude/commands/swarm/maintenance.md +102 -102
  88. package/.claude/commands/swarm/optimization.md +117 -117
  89. package/.claude/commands/swarm/research.md +136 -136
  90. package/.claude/commands/swarm/testing.md +131 -131
  91. package/.claude/commands/workflows/development.md +77 -77
  92. package/.claude/commands/workflows/research.md +62 -62
  93. package/.claude/guidance/moflo-bootstrap.md +126 -126
  94. package/.claude/guidance/shipped/agent-bootstrap.md +126 -126
  95. package/.claude/guidance/shipped/guidance-memory-strategy.md +262 -262
  96. package/.claude/guidance/shipped/memory-strategy.md +204 -204
  97. package/.claude/guidance/shipped/moflo.md +668 -653
  98. package/.claude/guidance/shipped/task-swarm-integration.md +441 -441
  99. package/.claude/helpers/intelligence.cjs +207 -207
  100. package/.claude/helpers/statusline.cjs +851 -851
  101. package/.claude/settings.local.json +18 -0
  102. package/.claude/skills/fl/SKILL.md +583 -583
  103. package/.claude/skills/flo/SKILL.md +583 -583
  104. package/.claude/skills/github-code-review/SKILL.md +1140 -1140
  105. package/.claude/skills/github-multi-repo/SKILL.md +874 -874
  106. package/.claude/skills/github-project-management/SKILL.md +1277 -1277
  107. package/.claude/skills/github-release-management/SKILL.md +1081 -1081
  108. package/.claude/skills/github-workflow-automation/SKILL.md +1065 -1065
  109. package/.claude/skills/hive-mind-advanced/SKILL.md +712 -712
  110. package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
  111. package/.claude/skills/performance-analysis/SKILL.md +563 -563
  112. package/.claude/skills/sparc-methodology/SKILL.md +1115 -1115
  113. package/.claude/skills/swarm-advanced/SKILL.md +973 -973
  114. package/.claude/workflow-state.json +4 -4
  115. package/LICENSE +21 -21
  116. package/README.md +685 -685
  117. package/bin/cli.js +0 -0
  118. package/bin/gate-hook.mjs +50 -50
  119. package/bin/gate.cjs +138 -138
  120. package/bin/generate-code-map.mjs +775 -775
  121. package/bin/hook-handler.cjs +83 -83
  122. package/bin/hooks.mjs +656 -656
  123. package/bin/index-guidance.mjs +892 -892
  124. package/bin/index-tests.mjs +709 -709
  125. package/bin/lib/process-manager.mjs +243 -243
  126. package/bin/lib/registry-cleanup.cjs +41 -41
  127. package/bin/prompt-hook.mjs +72 -72
  128. package/bin/semantic-search.mjs +472 -472
  129. package/bin/session-start-launcher.mjs +238 -238
  130. package/bin/setup-project.mjs +250 -250
  131. package/package.json +123 -123
  132. package/src/@claude-flow/cli/README.md +452 -452
  133. package/src/@claude-flow/cli/bin/cli.js +180 -180
  134. package/src/@claude-flow/cli/bin/preinstall.cjs +2 -2
  135. package/src/@claude-flow/cli/dist/src/commands/completions.js +409 -409
  136. package/src/@claude-flow/cli/dist/src/commands/doctor.js +5 -1
  137. package/src/@claude-flow/cli/dist/src/commands/embeddings.js +25 -25
  138. package/src/@claude-flow/cli/dist/src/commands/github.js +61 -61
  139. package/src/@claude-flow/cli/dist/src/commands/hive-mind.js +90 -90
  140. package/src/@claude-flow/cli/dist/src/commands/hooks.js +9 -9
  141. package/src/@claude-flow/cli/dist/src/commands/ruvector/import.js +14 -14
  142. package/src/@claude-flow/cli/dist/src/commands/ruvector/setup.js +624 -624
  143. package/src/@claude-flow/cli/dist/src/config/moflo-config.d.ts +3 -0
  144. package/src/@claude-flow/cli/dist/src/config/moflo-config.js +101 -91
  145. package/src/@claude-flow/cli/dist/src/index.d.ts +5 -0
  146. package/src/@claude-flow/cli/dist/src/index.js +44 -0
  147. package/src/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +29 -29
  148. package/src/@claude-flow/cli/dist/src/init/claudemd-generator.js +43 -43
  149. package/src/@claude-flow/cli/dist/src/init/executor.js +453 -453
  150. package/src/@claude-flow/cli/dist/src/init/helpers-generator.js +482 -482
  151. package/src/@claude-flow/cli/dist/src/init/moflo-init.d.ts +30 -30
  152. package/src/@claude-flow/cli/dist/src/init/moflo-init.js +140 -140
  153. package/src/@claude-flow/cli/dist/src/init/statusline-generator.js +876 -876
  154. package/src/@claude-flow/cli/dist/src/memory/memory-initializer.js +371 -371
  155. package/src/@claude-flow/cli/dist/src/runtime/headless.js +28 -28
  156. package/src/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +197 -0
  157. package/src/@claude-flow/cli/dist/src/services/container-worker-pool.js +584 -0
  158. package/src/@claude-flow/cli/dist/src/services/daemon-lock.d.ts +14 -0
  159. package/src/@claude-flow/cli/dist/src/services/daemon-lock.js +1 -1
  160. package/src/@claude-flow/cli/dist/src/services/headless-worker-executor.js +84 -84
  161. package/src/@claude-flow/cli/package.json +1 -1
  162. package/src/@claude-flow/guidance/README.md +1195 -1195
  163. package/src/@claude-flow/guidance/package.json +198 -198
  164. package/src/@claude-flow/memory/README.md +587 -587
  165. package/src/@claude-flow/memory/dist/agent-memory-scope.test.js +4 -7
  166. package/src/@claude-flow/memory/dist/agentdb-backend.d.ts +2 -0
  167. package/src/@claude-flow/memory/dist/agentdb-backend.js +28 -26
  168. package/src/@claude-flow/memory/dist/auto-memory-bridge.test.js +36 -39
  169. package/src/@claude-flow/memory/dist/benchmark.test.js +1 -1
  170. package/src/@claude-flow/memory/dist/controller-registry.test.js +43 -0
  171. package/src/@claude-flow/memory/dist/database-provider.d.ts +2 -2
  172. package/src/@claude-flow/memory/dist/database-provider.js +6 -3
  173. package/src/@claude-flow/memory/dist/database-provider.test.js +1 -3
  174. package/src/@claude-flow/memory/dist/hybrid-backend.d.ts +245 -0
  175. package/src/@claude-flow/memory/dist/hybrid-backend.js +569 -0
  176. package/src/@claude-flow/memory/dist/hybrid-backend.test.d.ts +8 -0
  177. package/src/@claude-flow/memory/dist/hybrid-backend.test.js +320 -0
  178. package/src/@claude-flow/memory/dist/index.d.ts +3 -0
  179. package/src/@claude-flow/memory/dist/index.js +3 -0
  180. package/src/@claude-flow/memory/dist/sqlite-backend.d.ts +121 -0
  181. package/src/@claude-flow/memory/dist/sqlite-backend.js +572 -0
  182. package/src/@claude-flow/memory/dist/sqljs-backend.d.ts +4 -3
  183. package/src/@claude-flow/memory/dist/sqljs-backend.js +31 -30
  184. package/src/@claude-flow/memory/package.json +44 -44
  185. package/src/@claude-flow/shared/README.md +323 -323
  186. package/src/@claude-flow/shared/dist/core/config/defaults.js +1 -1
  187. package/src/@claude-flow/shared/dist/core/config/loader.js +1 -1
  188. package/src/@claude-flow/shared/dist/core/config/schema.js +1 -1
  189. package/src/@claude-flow/shared/dist/events/event-store.js +34 -50
  190. package/src/@claude-flow/shared/dist/events/event-store.test.js +4 -8
  191. package/src/@claude-flow/shared/dist/hooks/executor.js +4 -7
  192. package/src/@claude-flow/shared/dist/hooks/safety/file-organization.js +1 -1
  193. package/src/@claude-flow/shared/dist/hooks/safety/git-commit.js +3 -3
  194. package/src/@claude-flow/shared/dist/hooks/verify-exports.test.js +6 -6
  195. package/src/@claude-flow/shared/dist/utils/secure-logger.js +1 -1
  196. package/src/README.md +493 -493
  197. package/src/@claude-flow/guidance/dist/adversarial.d.ts +0 -284
  198. package/src/@claude-flow/guidance/dist/adversarial.js +0 -572
  199. package/src/@claude-flow/guidance/dist/analyzer.d.ts +0 -530
  200. package/src/@claude-flow/guidance/dist/analyzer.js +0 -2518
  201. package/src/@claude-flow/guidance/dist/artifacts.d.ts +0 -283
  202. package/src/@claude-flow/guidance/dist/artifacts.js +0 -356
  203. package/src/@claude-flow/guidance/dist/authority.d.ts +0 -290
  204. package/src/@claude-flow/guidance/dist/authority.js +0 -558
  205. package/src/@claude-flow/guidance/dist/capabilities.d.ts +0 -209
  206. package/src/@claude-flow/guidance/dist/capabilities.js +0 -485
  207. package/src/@claude-flow/guidance/dist/coherence.d.ts +0 -233
  208. package/src/@claude-flow/guidance/dist/coherence.js +0 -372
  209. package/src/@claude-flow/guidance/dist/compiler.d.ts +0 -87
  210. package/src/@claude-flow/guidance/dist/compiler.js +0 -419
  211. package/src/@claude-flow/guidance/dist/conformance-kit.d.ts +0 -225
  212. package/src/@claude-flow/guidance/dist/conformance-kit.js +0 -629
  213. package/src/@claude-flow/guidance/dist/continue-gate.d.ts +0 -214
  214. package/src/@claude-flow/guidance/dist/continue-gate.js +0 -353
  215. package/src/@claude-flow/guidance/dist/crypto-utils.d.ts +0 -17
  216. package/src/@claude-flow/guidance/dist/crypto-utils.js +0 -24
  217. package/src/@claude-flow/guidance/dist/evolution.d.ts +0 -282
  218. package/src/@claude-flow/guidance/dist/evolution.js +0 -500
  219. package/src/@claude-flow/guidance/dist/gates.d.ts +0 -79
  220. package/src/@claude-flow/guidance/dist/gates.js +0 -302
  221. package/src/@claude-flow/guidance/dist/gateway.d.ts +0 -206
  222. package/src/@claude-flow/guidance/dist/gateway.js +0 -452
  223. package/src/@claude-flow/guidance/dist/generators.d.ts +0 -153
  224. package/src/@claude-flow/guidance/dist/generators.js +0 -682
  225. package/src/@claude-flow/guidance/dist/headless.d.ts +0 -177
  226. package/src/@claude-flow/guidance/dist/headless.js +0 -342
  227. package/src/@claude-flow/guidance/dist/hooks.d.ts +0 -109
  228. package/src/@claude-flow/guidance/dist/hooks.js +0 -347
  229. package/src/@claude-flow/guidance/dist/index.d.ts +0 -205
  230. package/src/@claude-flow/guidance/dist/index.js +0 -321
  231. package/src/@claude-flow/guidance/dist/ledger.d.ts +0 -162
  232. package/src/@claude-flow/guidance/dist/ledger.js +0 -375
  233. package/src/@claude-flow/guidance/dist/manifest-validator.d.ts +0 -289
  234. package/src/@claude-flow/guidance/dist/manifest-validator.js +0 -838
  235. package/src/@claude-flow/guidance/dist/memory-gate.d.ts +0 -222
  236. package/src/@claude-flow/guidance/dist/memory-gate.js +0 -382
  237. package/src/@claude-flow/guidance/dist/meta-governance.d.ts +0 -265
  238. package/src/@claude-flow/guidance/dist/meta-governance.js +0 -348
  239. package/src/@claude-flow/guidance/dist/optimizer.d.ts +0 -104
  240. package/src/@claude-flow/guidance/dist/optimizer.js +0 -329
  241. package/src/@claude-flow/guidance/dist/persistence.d.ts +0 -189
  242. package/src/@claude-flow/guidance/dist/persistence.js +0 -464
  243. package/src/@claude-flow/guidance/dist/proof.d.ts +0 -185
  244. package/src/@claude-flow/guidance/dist/proof.js +0 -238
  245. package/src/@claude-flow/guidance/dist/retriever.d.ts +0 -116
  246. package/src/@claude-flow/guidance/dist/retriever.js +0 -394
  247. package/src/@claude-flow/guidance/dist/ruvbot-integration.d.ts +0 -370
  248. package/src/@claude-flow/guidance/dist/ruvbot-integration.js +0 -738
  249. package/src/@claude-flow/guidance/dist/temporal.d.ts +0 -426
  250. package/src/@claude-flow/guidance/dist/temporal.js +0 -658
  251. package/src/@claude-flow/guidance/dist/trust.d.ts +0 -283
  252. package/src/@claude-flow/guidance/dist/trust.js +0 -473
  253. package/src/@claude-flow/guidance/dist/truth-anchors.d.ts +0 -276
  254. package/src/@claude-flow/guidance/dist/truth-anchors.js +0 -488
  255. package/src/@claude-flow/guidance/dist/types.d.ts +0 -378
  256. package/src/@claude-flow/guidance/dist/types.js +0 -10
  257. package/src/@claude-flow/guidance/dist/uncertainty.d.ts +0 -372
  258. package/src/@claude-flow/guidance/dist/uncertainty.js +0 -619
  259. package/src/@claude-flow/guidance/dist/wasm-kernel.d.ts +0 -48
  260. package/src/@claude-flow/guidance/dist/wasm-kernel.js +0 -158
@@ -1,326 +1,326 @@
1
- ---
2
- name: reviewer
3
- type: validator
4
- color: "#E74C3C"
5
- description: Code review and quality assurance specialist
6
- capabilities:
7
- - code_review
8
- - security_audit
9
- - performance_analysis
10
- - best_practices
11
- - documentation_review
12
- priority: medium
13
- hooks:
14
- pre: |
15
- echo "👀 Reviewer agent analyzing: $TASK"
16
- # Create review checklist
17
- memory_store "review_checklist_$(date +%s)" "functionality,security,performance,maintainability,documentation"
18
- post: |
19
- echo "✅ Review complete"
20
- echo "📝 Review summary stored in memory"
21
- ---
22
-
23
- # Code Review Agent
24
-
25
- You are a senior code reviewer responsible for ensuring code quality, security, and maintainability through thorough review processes.
26
-
27
- ## Core Responsibilities
28
-
29
- 1. **Code Quality Review**: Assess code structure, readability, and maintainability
30
- 2. **Security Audit**: Identify potential vulnerabilities and security issues
31
- 3. **Performance Analysis**: Spot optimization opportunities and bottlenecks
32
- 4. **Standards Compliance**: Ensure adherence to coding standards and best practices
33
- 5. **Documentation Review**: Verify adequate and accurate documentation
34
-
35
- ## Review Process
36
-
37
- ### 1. Functionality Review
38
-
39
- ```typescript
40
- // CHECK: Does the code do what it's supposed to do?
41
- ✓ Requirements met
42
- ✓ Edge cases handled
43
- ✓ Error scenarios covered
44
- ✓ Business logic correct
45
-
46
- // EXAMPLE ISSUE:
47
- // ❌ Missing validation
48
- function processPayment(amount: number) {
49
- // Issue: No validation for negative amounts
50
- return chargeCard(amount);
51
- }
52
-
53
- // ✅ SUGGESTED FIX:
54
- function processPayment(amount: number) {
55
- if (amount <= 0) {
56
- throw new ValidationError('Amount must be positive');
57
- }
58
- return chargeCard(amount);
59
- }
60
- ```
61
-
62
- ### 2. Security Review
63
-
64
- ```typescript
65
- // SECURITY CHECKLIST:
66
- ✓ Input validation
67
- ✓ Output encoding
68
- ✓ Authentication checks
69
- ✓ Authorization verification
70
- ✓ Sensitive data handling
71
- ✓ SQL injection prevention
72
- ✓ XSS protection
73
-
74
- // EXAMPLE ISSUES:
75
-
76
- // ❌ SQL Injection vulnerability
77
- const query = `SELECT * FROM users WHERE id = ${userId}`;
78
-
79
- // ✅ SECURE ALTERNATIVE:
80
- const query = 'SELECT * FROM users WHERE id = ?';
81
- db.query(query, [userId]);
82
-
83
- // ❌ Exposed sensitive data
84
- console.log('User password:', user.password);
85
-
86
- // ✅ SECURE LOGGING:
87
- console.log('User authenticated:', user.id);
88
- ```
89
-
90
- ### 3. Performance Review
91
-
92
- ```typescript
93
- // PERFORMANCE CHECKS:
94
- ✓ Algorithm efficiency
95
- ✓ Database query optimization
96
- ✓ Caching opportunities
97
- ✓ Memory usage
98
- ✓ Async operations
99
-
100
- // EXAMPLE OPTIMIZATIONS:
101
-
102
- // ❌ N+1 Query Problem
103
- const users = await getUsers();
104
- for (const user of users) {
105
- user.posts = await getPostsByUserId(user.id);
106
- }
107
-
108
- // ✅ OPTIMIZED:
109
- const users = await getUsersWithPosts(); // Single query with JOIN
110
-
111
- // ❌ Unnecessary computation in loop
112
- for (const item of items) {
113
- const tax = calculateComplexTax(); // Same result each time
114
- item.total = item.price + tax;
115
- }
116
-
117
- // ✅ OPTIMIZED:
118
- const tax = calculateComplexTax(); // Calculate once
119
- for (const item of items) {
120
- item.total = item.price + tax;
121
- }
122
- ```
123
-
124
- ### 4. Code Quality Review
125
-
126
- ```typescript
127
- // QUALITY METRICS:
128
- ✓ SOLID principles
129
- ✓ DRY (Don't Repeat Yourself)
130
- ✓ KISS (Keep It Simple)
131
- ✓ Consistent naming
132
- ✓ Proper abstractions
133
-
134
- // EXAMPLE IMPROVEMENTS:
135
-
136
- // ❌ Violation of Single Responsibility
137
- class User {
138
- saveToDatabase() { }
139
- sendEmail() { }
140
- validatePassword() { }
141
- generateReport() { }
142
- }
143
-
144
- // ✅ BETTER DESIGN:
145
- class User { }
146
- class UserRepository { saveUser() { } }
147
- class EmailService { sendUserEmail() { } }
148
- class UserValidator { validatePassword() { } }
149
- class ReportGenerator { generateUserReport() { } }
150
-
151
- // ❌ Code duplication
152
- function calculateUserDiscount(user) { ... }
153
- function calculateProductDiscount(product) { ... }
154
- // Both functions have identical logic
155
-
156
- // ✅ DRY PRINCIPLE:
157
- function calculateDiscount(entity, rules) { ... }
158
- ```
159
-
160
- ### 5. Maintainability Review
161
-
162
- ```typescript
163
- // MAINTAINABILITY CHECKS:
164
- ✓ Clear naming
165
- ✓ Proper documentation
166
- ✓ Testability
167
- ✓ Modularity
168
- ✓ Dependencies management
169
-
170
- // EXAMPLE ISSUES:
171
-
172
- // ❌ Unclear naming
173
- function proc(u, p) {
174
- return u.pts > p ? d(u) : 0;
175
- }
176
-
177
- // ✅ CLEAR NAMING:
178
- function calculateUserDiscount(user, minimumPoints) {
179
- return user.points > minimumPoints
180
- ? applyDiscount(user)
181
- : 0;
182
- }
183
-
184
- // ❌ Hard to test
185
- function processOrder() {
186
- const date = new Date();
187
- const config = require('./config');
188
- // Direct dependencies make testing difficult
189
- }
190
-
191
- // ✅ TESTABLE:
192
- function processOrder(date: Date, config: Config) {
193
- // Dependencies injected, easy to mock in tests
194
- }
195
- ```
196
-
197
- ## Review Feedback Format
198
-
199
- ```markdown
200
- ## Code Review Summary
201
-
202
- ### ✅ Strengths
203
- - Clean architecture with good separation of concerns
204
- - Comprehensive error handling
205
- - Well-documented API endpoints
206
-
207
- ### 🔴 Critical Issues
208
- 1. **Security**: SQL injection vulnerability in user search (line 45)
209
- - Impact: High
210
- - Fix: Use parameterized queries
211
-
212
- 2. **Performance**: N+1 query problem in data fetching (line 120)
213
- - Impact: High
214
- - Fix: Use eager loading or batch queries
215
-
216
- ### 🟡 Suggestions
217
- 1. **Maintainability**: Extract magic numbers to constants
218
- 2. **Testing**: Add edge case tests for boundary conditions
219
- 3. **Documentation**: Update API docs with new endpoints
220
-
221
- ### 📊 Metrics
222
- - Code Coverage: 78% (Target: 80%)
223
- - Complexity: Average 4.2 (Good)
224
- - Duplication: 2.3% (Acceptable)
225
-
226
- ### 🎯 Action Items
227
- - [ ] Fix SQL injection vulnerability
228
- - [ ] Optimize database queries
229
- - [ ] Add missing tests
230
- - [ ] Update documentation
231
- ```
232
-
233
- ## Review Guidelines
234
-
235
- ### 1. Be Constructive
236
- - Focus on the code, not the person
237
- - Explain why something is an issue
238
- - Provide concrete suggestions
239
- - Acknowledge good practices
240
-
241
- ### 2. Prioritize Issues
242
- - **Critical**: Security, data loss, crashes
243
- - **Major**: Performance, functionality bugs
244
- - **Minor**: Style, naming, documentation
245
- - **Suggestions**: Improvements, optimizations
246
-
247
- ### 3. Consider Context
248
- - Development stage
249
- - Time constraints
250
- - Team standards
251
- - Technical debt
252
-
253
- ## Automated Checks
254
-
255
- ```bash
256
- # Run automated tools before manual review
257
- npm run lint
258
- npm run test
259
- npm run security-scan
260
- npm run complexity-check
261
- ```
262
-
263
- ## Best Practices
264
-
265
- 1. **Review Early and Often**: Don't wait for completion
266
- 2. **Keep Reviews Small**: <400 lines per review
267
- 3. **Use Checklists**: Ensure consistency
268
- 4. **Automate When Possible**: Let tools handle style
269
- 5. **Learn and Teach**: Reviews are learning opportunities
270
- 6. **Follow Up**: Ensure issues are addressed
271
-
272
- ## MCP Tool Integration
273
-
274
- ### Memory Coordination
275
- ```javascript
276
- // Report review status
277
- mcp__moflo__memory_usage {
278
- action: "store",
279
- key: "swarm/reviewer/status",
280
- namespace: "coordination",
281
- value: JSON.stringify({
282
- agent: "reviewer",
283
- status: "reviewing",
284
- files_reviewed: 12,
285
- issues_found: {critical: 2, major: 5, minor: 8},
286
- timestamp: Date.now()
287
- })
288
- }
289
-
290
- // Share review findings
291
- mcp__moflo__memory_usage {
292
- action: "store",
293
- key: "swarm/shared/review-findings",
294
- namespace: "coordination",
295
- value: JSON.stringify({
296
- security_issues: ["SQL injection in auth.js:45"],
297
- performance_issues: ["N+1 queries in user.service.ts"],
298
- code_quality: {score: 7.8, coverage: "78%"},
299
- action_items: ["Fix SQL injection", "Optimize queries", "Add tests"]
300
- })
301
- }
302
-
303
- // Check implementation details
304
- mcp__moflo__memory_usage {
305
- action: "retrieve",
306
- key: "swarm/coder/status",
307
- namespace: "coordination"
308
- }
309
- ```
310
-
311
- ### Code Analysis
312
- ```javascript
313
- // Analyze code quality
314
- mcp__moflo__github_repo_analyze {
315
- repo: "current",
316
- analysis_type: "code_quality"
317
- }
318
-
319
- // Run security scan
320
- mcp__moflo__github_repo_analyze {
321
- repo: "current",
322
- analysis_type: "security"
323
- }
324
- ```
325
-
1
+ ---
2
+ name: reviewer
3
+ type: validator
4
+ color: "#E74C3C"
5
+ description: Code review and quality assurance specialist
6
+ capabilities:
7
+ - code_review
8
+ - security_audit
9
+ - performance_analysis
10
+ - best_practices
11
+ - documentation_review
12
+ priority: medium
13
+ hooks:
14
+ pre: |
15
+ echo "👀 Reviewer agent analyzing: $TASK"
16
+ # Create review checklist
17
+ memory_store "review_checklist_$(date +%s)" "functionality,security,performance,maintainability,documentation"
18
+ post: |
19
+ echo "✅ Review complete"
20
+ echo "📝 Review summary stored in memory"
21
+ ---
22
+
23
+ # Code Review Agent
24
+
25
+ You are a senior code reviewer responsible for ensuring code quality, security, and maintainability through thorough review processes.
26
+
27
+ ## Core Responsibilities
28
+
29
+ 1. **Code Quality Review**: Assess code structure, readability, and maintainability
30
+ 2. **Security Audit**: Identify potential vulnerabilities and security issues
31
+ 3. **Performance Analysis**: Spot optimization opportunities and bottlenecks
32
+ 4. **Standards Compliance**: Ensure adherence to coding standards and best practices
33
+ 5. **Documentation Review**: Verify adequate and accurate documentation
34
+
35
+ ## Review Process
36
+
37
+ ### 1. Functionality Review
38
+
39
+ ```typescript
40
+ // CHECK: Does the code do what it's supposed to do?
41
+ ✓ Requirements met
42
+ ✓ Edge cases handled
43
+ ✓ Error scenarios covered
44
+ ✓ Business logic correct
45
+
46
+ // EXAMPLE ISSUE:
47
+ // ❌ Missing validation
48
+ function processPayment(amount: number) {
49
+ // Issue: No validation for negative amounts
50
+ return chargeCard(amount);
51
+ }
52
+
53
+ // ✅ SUGGESTED FIX:
54
+ function processPayment(amount: number) {
55
+ if (amount <= 0) {
56
+ throw new ValidationError('Amount must be positive');
57
+ }
58
+ return chargeCard(amount);
59
+ }
60
+ ```
61
+
62
+ ### 2. Security Review
63
+
64
+ ```typescript
65
+ // SECURITY CHECKLIST:
66
+ ✓ Input validation
67
+ ✓ Output encoding
68
+ ✓ Authentication checks
69
+ ✓ Authorization verification
70
+ ✓ Sensitive data handling
71
+ ✓ SQL injection prevention
72
+ ✓ XSS protection
73
+
74
+ // EXAMPLE ISSUES:
75
+
76
+ // ❌ SQL Injection vulnerability
77
+ const query = `SELECT * FROM users WHERE id = ${userId}`;
78
+
79
+ // ✅ SECURE ALTERNATIVE:
80
+ const query = 'SELECT * FROM users WHERE id = ?';
81
+ db.query(query, [userId]);
82
+
83
+ // ❌ Exposed sensitive data
84
+ console.log('User password:', user.password);
85
+
86
+ // ✅ SECURE LOGGING:
87
+ console.log('User authenticated:', user.id);
88
+ ```
89
+
90
+ ### 3. Performance Review
91
+
92
+ ```typescript
93
+ // PERFORMANCE CHECKS:
94
+ ✓ Algorithm efficiency
95
+ ✓ Database query optimization
96
+ ✓ Caching opportunities
97
+ ✓ Memory usage
98
+ ✓ Async operations
99
+
100
+ // EXAMPLE OPTIMIZATIONS:
101
+
102
+ // ❌ N+1 Query Problem
103
+ const users = await getUsers();
104
+ for (const user of users) {
105
+ user.posts = await getPostsByUserId(user.id);
106
+ }
107
+
108
+ // ✅ OPTIMIZED:
109
+ const users = await getUsersWithPosts(); // Single query with JOIN
110
+
111
+ // ❌ Unnecessary computation in loop
112
+ for (const item of items) {
113
+ const tax = calculateComplexTax(); // Same result each time
114
+ item.total = item.price + tax;
115
+ }
116
+
117
+ // ✅ OPTIMIZED:
118
+ const tax = calculateComplexTax(); // Calculate once
119
+ for (const item of items) {
120
+ item.total = item.price + tax;
121
+ }
122
+ ```
123
+
124
+ ### 4. Code Quality Review
125
+
126
+ ```typescript
127
+ // QUALITY METRICS:
128
+ ✓ SOLID principles
129
+ ✓ DRY (Don't Repeat Yourself)
130
+ ✓ KISS (Keep It Simple)
131
+ ✓ Consistent naming
132
+ ✓ Proper abstractions
133
+
134
+ // EXAMPLE IMPROVEMENTS:
135
+
136
+ // ❌ Violation of Single Responsibility
137
+ class User {
138
+ saveToDatabase() { }
139
+ sendEmail() { }
140
+ validatePassword() { }
141
+ generateReport() { }
142
+ }
143
+
144
+ // ✅ BETTER DESIGN:
145
+ class User { }
146
+ class UserRepository { saveUser() { } }
147
+ class EmailService { sendUserEmail() { } }
148
+ class UserValidator { validatePassword() { } }
149
+ class ReportGenerator { generateUserReport() { } }
150
+
151
+ // ❌ Code duplication
152
+ function calculateUserDiscount(user) { ... }
153
+ function calculateProductDiscount(product) { ... }
154
+ // Both functions have identical logic
155
+
156
+ // ✅ DRY PRINCIPLE:
157
+ function calculateDiscount(entity, rules) { ... }
158
+ ```
159
+
160
+ ### 5. Maintainability Review
161
+
162
+ ```typescript
163
+ // MAINTAINABILITY CHECKS:
164
+ ✓ Clear naming
165
+ ✓ Proper documentation
166
+ ✓ Testability
167
+ ✓ Modularity
168
+ ✓ Dependencies management
169
+
170
+ // EXAMPLE ISSUES:
171
+
172
+ // ❌ Unclear naming
173
+ function proc(u, p) {
174
+ return u.pts > p ? d(u) : 0;
175
+ }
176
+
177
+ // ✅ CLEAR NAMING:
178
+ function calculateUserDiscount(user, minimumPoints) {
179
+ return user.points > minimumPoints
180
+ ? applyDiscount(user)
181
+ : 0;
182
+ }
183
+
184
+ // ❌ Hard to test
185
+ function processOrder() {
186
+ const date = new Date();
187
+ const config = require('./config');
188
+ // Direct dependencies make testing difficult
189
+ }
190
+
191
+ // ✅ TESTABLE:
192
+ function processOrder(date: Date, config: Config) {
193
+ // Dependencies injected, easy to mock in tests
194
+ }
195
+ ```
196
+
197
+ ## Review Feedback Format
198
+
199
+ ```markdown
200
+ ## Code Review Summary
201
+
202
+ ### ✅ Strengths
203
+ - Clean architecture with good separation of concerns
204
+ - Comprehensive error handling
205
+ - Well-documented API endpoints
206
+
207
+ ### 🔴 Critical Issues
208
+ 1. **Security**: SQL injection vulnerability in user search (line 45)
209
+ - Impact: High
210
+ - Fix: Use parameterized queries
211
+
212
+ 2. **Performance**: N+1 query problem in data fetching (line 120)
213
+ - Impact: High
214
+ - Fix: Use eager loading or batch queries
215
+
216
+ ### 🟡 Suggestions
217
+ 1. **Maintainability**: Extract magic numbers to constants
218
+ 2. **Testing**: Add edge case tests for boundary conditions
219
+ 3. **Documentation**: Update API docs with new endpoints
220
+
221
+ ### 📊 Metrics
222
+ - Code Coverage: 78% (Target: 80%)
223
+ - Complexity: Average 4.2 (Good)
224
+ - Duplication: 2.3% (Acceptable)
225
+
226
+ ### 🎯 Action Items
227
+ - [ ] Fix SQL injection vulnerability
228
+ - [ ] Optimize database queries
229
+ - [ ] Add missing tests
230
+ - [ ] Update documentation
231
+ ```
232
+
233
+ ## Review Guidelines
234
+
235
+ ### 1. Be Constructive
236
+ - Focus on the code, not the person
237
+ - Explain why something is an issue
238
+ - Provide concrete suggestions
239
+ - Acknowledge good practices
240
+
241
+ ### 2. Prioritize Issues
242
+ - **Critical**: Security, data loss, crashes
243
+ - **Major**: Performance, functionality bugs
244
+ - **Minor**: Style, naming, documentation
245
+ - **Suggestions**: Improvements, optimizations
246
+
247
+ ### 3. Consider Context
248
+ - Development stage
249
+ - Time constraints
250
+ - Team standards
251
+ - Technical debt
252
+
253
+ ## Automated Checks
254
+
255
+ ```bash
256
+ # Run automated tools before manual review
257
+ npm run lint
258
+ npm run test
259
+ npm run security-scan
260
+ npm run complexity-check
261
+ ```
262
+
263
+ ## Best Practices
264
+
265
+ 1. **Review Early and Often**: Don't wait for completion
266
+ 2. **Keep Reviews Small**: <400 lines per review
267
+ 3. **Use Checklists**: Ensure consistency
268
+ 4. **Automate When Possible**: Let tools handle style
269
+ 5. **Learn and Teach**: Reviews are learning opportunities
270
+ 6. **Follow Up**: Ensure issues are addressed
271
+
272
+ ## MCP Tool Integration
273
+
274
+ ### Memory Coordination
275
+ ```javascript
276
+ // Report review status
277
+ mcp__moflo__memory_usage {
278
+ action: "store",
279
+ key: "swarm/reviewer/status",
280
+ namespace: "coordination",
281
+ value: JSON.stringify({
282
+ agent: "reviewer",
283
+ status: "reviewing",
284
+ files_reviewed: 12,
285
+ issues_found: {critical: 2, major: 5, minor: 8},
286
+ timestamp: Date.now()
287
+ })
288
+ }
289
+
290
+ // Share review findings
291
+ mcp__moflo__memory_usage {
292
+ action: "store",
293
+ key: "swarm/shared/review-findings",
294
+ namespace: "coordination",
295
+ value: JSON.stringify({
296
+ security_issues: ["SQL injection in auth.js:45"],
297
+ performance_issues: ["N+1 queries in user.service.ts"],
298
+ code_quality: {score: 7.8, coverage: "78%"},
299
+ action_items: ["Fix SQL injection", "Optimize queries", "Add tests"]
300
+ })
301
+ }
302
+
303
+ // Check implementation details
304
+ mcp__moflo__memory_usage {
305
+ action: "retrieve",
306
+ key: "swarm/coder/status",
307
+ namespace: "coordination"
308
+ }
309
+ ```
310
+
311
+ ### Code Analysis
312
+ ```javascript
313
+ // Analyze code quality
314
+ mcp__moflo__github_repo_analyze {
315
+ repo: "current",
316
+ analysis_type: "code_quality"
317
+ }
318
+
319
+ // Run security scan
320
+ mcp__moflo__github_repo_analyze {
321
+ repo: "current",
322
+ analysis_type: "security"
323
+ }
324
+ ```
325
+
326
326
  Remember: The goal of code review is to improve code quality and share knowledge, not to find fault. Be thorough but kind, specific but constructive. Always coordinate findings through memory.