@sparkleideas/cli 3.1.0-alpha.15

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 (360) hide show
  1. package/.claude/agents/analysis/analyze-code-quality.md +179 -0
  2. package/.claude/agents/analysis/code-analyzer.md +210 -0
  3. package/.claude/agents/analysis/code-review/analyze-code-quality.md +179 -0
  4. package/.claude/agents/architecture/arch-system-design.md +157 -0
  5. package/.claude/agents/architecture/system-design/arch-system-design.md +155 -0
  6. package/.claude/agents/browser/browser-agent.yaml +182 -0
  7. package/.claude/agents/consensus/byzantine-coordinator.md +63 -0
  8. package/.claude/agents/consensus/crdt-synchronizer.md +997 -0
  9. package/.claude/agents/consensus/gossip-coordinator.md +63 -0
  10. package/.claude/agents/consensus/performance-benchmarker.md +851 -0
  11. package/.claude/agents/consensus/quorum-manager.md +823 -0
  12. package/.claude/agents/consensus/raft-manager.md +63 -0
  13. package/.claude/agents/consensus/security-manager.md +622 -0
  14. package/.claude/agents/core/coder.md +453 -0
  15. package/.claude/agents/core/planner.md +375 -0
  16. package/.claude/agents/core/researcher.md +369 -0
  17. package/.claude/agents/core/reviewer.md +520 -0
  18. package/.claude/agents/core/tester.md +512 -0
  19. package/.claude/agents/custom/test-long-runner.md +44 -0
  20. package/.claude/agents/data/data-ml-model.md +445 -0
  21. package/.claude/agents/data/ml/data-ml-model.md +193 -0
  22. package/.claude/agents/development/backend/dev-backend-api.md +142 -0
  23. package/.claude/agents/development/dev-backend-api.md +345 -0
  24. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
  25. package/.claude/agents/devops/ops-cicd-github.md +165 -0
  26. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
  27. package/.claude/agents/documentation/docs-api-openapi.md +355 -0
  28. package/.claude/agents/flow-nexus/app-store.md +88 -0
  29. package/.claude/agents/flow-nexus/authentication.md +69 -0
  30. package/.claude/agents/flow-nexus/challenges.md +81 -0
  31. package/.claude/agents/flow-nexus/neural-network.md +88 -0
  32. package/.claude/agents/flow-nexus/payments.md +83 -0
  33. package/.claude/agents/flow-nexus/sandbox.md +76 -0
  34. package/.claude/agents/flow-nexus/swarm.md +76 -0
  35. package/.claude/agents/flow-nexus/user-tools.md +96 -0
  36. package/.claude/agents/flow-nexus/workflow.md +84 -0
  37. package/.claude/agents/github/code-review-swarm.md +377 -0
  38. package/.claude/agents/github/github-modes.md +173 -0
  39. package/.claude/agents/github/issue-tracker.md +576 -0
  40. package/.claude/agents/github/multi-repo-swarm.md +553 -0
  41. package/.claude/agents/github/pr-manager.md +438 -0
  42. package/.claude/agents/github/project-board-sync.md +509 -0
  43. package/.claude/agents/github/release-manager.md +605 -0
  44. package/.claude/agents/github/release-swarm.md +583 -0
  45. package/.claude/agents/github/repo-architect.md +398 -0
  46. package/.claude/agents/github/swarm-issue.md +573 -0
  47. package/.claude/agents/github/swarm-pr.md +428 -0
  48. package/.claude/agents/github/sync-coordinator.md +452 -0
  49. package/.claude/agents/github/workflow-automation.md +903 -0
  50. package/.claude/agents/goal/agent.md +816 -0
  51. package/.claude/agents/goal/goal-planner.md +73 -0
  52. package/.claude/agents/optimization/benchmark-suite.md +665 -0
  53. package/.claude/agents/optimization/load-balancer.md +431 -0
  54. package/.claude/agents/optimization/performance-monitor.md +672 -0
  55. package/.claude/agents/optimization/resource-allocator.md +674 -0
  56. package/.claude/agents/optimization/topology-optimizer.md +808 -0
  57. package/.claude/agents/payments/agentic-payments.md +126 -0
  58. package/.claude/agents/sona/sona-learning-optimizer.md +74 -0
  59. package/.claude/agents/sparc/architecture.md +699 -0
  60. package/.claude/agents/sparc/pseudocode.md +520 -0
  61. package/.claude/agents/sparc/refinement.md +802 -0
  62. package/.claude/agents/sparc/specification.md +478 -0
  63. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +225 -0
  64. package/.claude/agents/specialized/spec-mobile-react-native.md +227 -0
  65. package/.claude/agents/sublinear/consensus-coordinator.md +338 -0
  66. package/.claude/agents/sublinear/matrix-optimizer.md +185 -0
  67. package/.claude/agents/sublinear/pagerank-analyzer.md +299 -0
  68. package/.claude/agents/sublinear/performance-optimizer.md +368 -0
  69. package/.claude/agents/sublinear/trading-predictor.md +246 -0
  70. package/.claude/agents/swarm/adaptive-coordinator.md +1127 -0
  71. package/.claude/agents/swarm/hierarchical-coordinator.md +710 -0
  72. package/.claude/agents/swarm/mesh-coordinator.md +963 -0
  73. package/.claude/agents/templates/automation-smart-agent.md +205 -0
  74. package/.claude/agents/templates/base-template-generator.md +268 -0
  75. package/.claude/agents/templates/coordinator-swarm-init.md +90 -0
  76. package/.claude/agents/templates/github-pr-manager.md +177 -0
  77. package/.claude/agents/templates/implementer-sparc-coder.md +259 -0
  78. package/.claude/agents/templates/memory-coordinator.md +187 -0
  79. package/.claude/agents/templates/orchestrator-task.md +139 -0
  80. package/.claude/agents/templates/performance-analyzer.md +199 -0
  81. package/.claude/agents/templates/sparc-coordinator.md +514 -0
  82. package/.claude/agents/testing/production-validator.md +395 -0
  83. package/.claude/agents/testing/tdd-london-swarm.md +244 -0
  84. package/.claude/agents/tmp.json +0 -0
  85. package/.claude/agents/v3/adr-architect.md +184 -0
  86. package/.claude/agents/v3/aidefence-guardian.md +282 -0
  87. package/.claude/agents/v3/claims-authorizer.md +208 -0
  88. package/.claude/agents/v3/collective-intelligence-coordinator.md +993 -0
  89. package/.claude/agents/v3/ddd-domain-expert.md +220 -0
  90. package/.claude/agents/v3/injection-analyst.md +236 -0
  91. package/.claude/agents/v3/memory-specialist.md +995 -0
  92. package/.claude/agents/v3/performance-engineer.md +1233 -0
  93. package/.claude/agents/v3/pii-detector.md +151 -0
  94. package/.claude/agents/v3/reasoningbank-learner.md +213 -0
  95. package/.claude/agents/v3/security-architect-aidefence.md +410 -0
  96. package/.claude/agents/v3/security-architect.md +867 -0
  97. package/.claude/agents/v3/security-auditor.md +771 -0
  98. package/.claude/agents/v3/sparc-orchestrator.md +182 -0
  99. package/.claude/agents/v3/swarm-memory-manager.md +157 -0
  100. package/.claude/agents/v3/v3-integration-architect.md +205 -0
  101. package/.claude/commands/agents/README.md +50 -0
  102. package/.claude/commands/agents/agent-capabilities.md +140 -0
  103. package/.claude/commands/agents/agent-coordination.md +28 -0
  104. package/.claude/commands/agents/agent-spawning.md +28 -0
  105. package/.claude/commands/agents/agent-types.md +216 -0
  106. package/.claude/commands/agents/health.md +139 -0
  107. package/.claude/commands/agents/list.md +100 -0
  108. package/.claude/commands/agents/logs.md +130 -0
  109. package/.claude/commands/agents/metrics.md +122 -0
  110. package/.claude/commands/agents/pool.md +127 -0
  111. package/.claude/commands/agents/spawn.md +140 -0
  112. package/.claude/commands/agents/status.md +115 -0
  113. package/.claude/commands/agents/stop.md +102 -0
  114. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
  115. package/.claude/commands/analysis/README.md +9 -0
  116. package/.claude/commands/analysis/bottleneck-detect.md +162 -0
  117. package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
  118. package/.claude/commands/analysis/performance-report.md +25 -0
  119. package/.claude/commands/analysis/token-efficiency.md +45 -0
  120. package/.claude/commands/analysis/token-usage.md +25 -0
  121. package/.claude/commands/automation/README.md +9 -0
  122. package/.claude/commands/automation/auto-agent.md +122 -0
  123. package/.claude/commands/automation/self-healing.md +106 -0
  124. package/.claude/commands/automation/session-memory.md +90 -0
  125. package/.claude/commands/automation/smart-agents.md +73 -0
  126. package/.claude/commands/automation/smart-spawn.md +25 -0
  127. package/.claude/commands/automation/workflow-select.md +25 -0
  128. package/.claude/commands/claude-flow-help.md +103 -0
  129. package/.claude/commands/claude-flow-memory.md +107 -0
  130. package/.claude/commands/claude-flow-swarm.md +205 -0
  131. package/.claude/commands/coordination/README.md +9 -0
  132. package/.claude/commands/coordination/agent-spawn.md +25 -0
  133. package/.claude/commands/coordination/init.md +44 -0
  134. package/.claude/commands/coordination/orchestrate.md +43 -0
  135. package/.claude/commands/coordination/spawn.md +45 -0
  136. package/.claude/commands/coordination/swarm-init.md +85 -0
  137. package/.claude/commands/coordination/task-orchestrate.md +25 -0
  138. package/.claude/commands/flow-nexus/app-store.md +124 -0
  139. package/.claude/commands/flow-nexus/challenges.md +120 -0
  140. package/.claude/commands/flow-nexus/login-registration.md +65 -0
  141. package/.claude/commands/flow-nexus/neural-network.md +134 -0
  142. package/.claude/commands/flow-nexus/payments.md +116 -0
  143. package/.claude/commands/flow-nexus/sandbox.md +83 -0
  144. package/.claude/commands/flow-nexus/swarm.md +87 -0
  145. package/.claude/commands/flow-nexus/user-tools.md +152 -0
  146. package/.claude/commands/flow-nexus/workflow.md +115 -0
  147. package/.claude/commands/github/README.md +11 -0
  148. package/.claude/commands/github/code-review-swarm.md +514 -0
  149. package/.claude/commands/github/code-review.md +25 -0
  150. package/.claude/commands/github/github-modes.md +147 -0
  151. package/.claude/commands/github/github-swarm.md +121 -0
  152. package/.claude/commands/github/issue-tracker.md +292 -0
  153. package/.claude/commands/github/issue-triage.md +25 -0
  154. package/.claude/commands/github/multi-repo-swarm.md +519 -0
  155. package/.claude/commands/github/pr-enhance.md +26 -0
  156. package/.claude/commands/github/pr-manager.md +170 -0
  157. package/.claude/commands/github/project-board-sync.md +471 -0
  158. package/.claude/commands/github/release-manager.md +338 -0
  159. package/.claude/commands/github/release-swarm.md +544 -0
  160. package/.claude/commands/github/repo-analyze.md +25 -0
  161. package/.claude/commands/github/repo-architect.md +367 -0
  162. package/.claude/commands/github/swarm-issue.md +482 -0
  163. package/.claude/commands/github/swarm-pr.md +285 -0
  164. package/.claude/commands/github/sync-coordinator.md +301 -0
  165. package/.claude/commands/github/workflow-automation.md +442 -0
  166. package/.claude/commands/hive-mind/README.md +17 -0
  167. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
  168. package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
  169. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
  170. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
  171. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
  172. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
  173. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
  174. package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
  175. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
  176. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
  177. package/.claude/commands/hive-mind/hive-mind.md +27 -0
  178. package/.claude/commands/hooks/README.md +11 -0
  179. package/.claude/commands/hooks/overview.md +58 -0
  180. package/.claude/commands/hooks/post-edit.md +117 -0
  181. package/.claude/commands/hooks/post-task.md +112 -0
  182. package/.claude/commands/hooks/pre-edit.md +113 -0
  183. package/.claude/commands/hooks/pre-task.md +111 -0
  184. package/.claude/commands/hooks/session-end.md +118 -0
  185. package/.claude/commands/hooks/setup.md +103 -0
  186. package/.claude/commands/memory/README.md +9 -0
  187. package/.claude/commands/memory/memory-persist.md +25 -0
  188. package/.claude/commands/memory/memory-search.md +25 -0
  189. package/.claude/commands/memory/memory-usage.md +25 -0
  190. package/.claude/commands/memory/neural.md +47 -0
  191. package/.claude/commands/monitoring/README.md +9 -0
  192. package/.claude/commands/monitoring/agent-metrics.md +25 -0
  193. package/.claude/commands/monitoring/agents.md +44 -0
  194. package/.claude/commands/monitoring/real-time-view.md +25 -0
  195. package/.claude/commands/monitoring/status.md +46 -0
  196. package/.claude/commands/monitoring/swarm-monitor.md +25 -0
  197. package/.claude/commands/optimization/README.md +9 -0
  198. package/.claude/commands/optimization/auto-topology.md +62 -0
  199. package/.claude/commands/optimization/cache-manage.md +25 -0
  200. package/.claude/commands/optimization/parallel-execute.md +25 -0
  201. package/.claude/commands/optimization/parallel-execution.md +50 -0
  202. package/.claude/commands/optimization/topology-optimize.md +25 -0
  203. package/.claude/commands/pair/README.md +261 -0
  204. package/.claude/commands/pair/commands.md +546 -0
  205. package/.claude/commands/pair/config.md +510 -0
  206. package/.claude/commands/pair/examples.md +512 -0
  207. package/.claude/commands/pair/modes.md +348 -0
  208. package/.claude/commands/pair/session.md +407 -0
  209. package/.claude/commands/pair/start.md +209 -0
  210. package/.claude/commands/sparc/analyzer.md +52 -0
  211. package/.claude/commands/sparc/architect.md +53 -0
  212. package/.claude/commands/sparc/ask.md +97 -0
  213. package/.claude/commands/sparc/batch-executor.md +54 -0
  214. package/.claude/commands/sparc/code.md +89 -0
  215. package/.claude/commands/sparc/coder.md +54 -0
  216. package/.claude/commands/sparc/debug.md +83 -0
  217. package/.claude/commands/sparc/debugger.md +54 -0
  218. package/.claude/commands/sparc/designer.md +53 -0
  219. package/.claude/commands/sparc/devops.md +109 -0
  220. package/.claude/commands/sparc/docs-writer.md +80 -0
  221. package/.claude/commands/sparc/documenter.md +54 -0
  222. package/.claude/commands/sparc/innovator.md +54 -0
  223. package/.claude/commands/sparc/integration.md +83 -0
  224. package/.claude/commands/sparc/mcp.md +117 -0
  225. package/.claude/commands/sparc/memory-manager.md +54 -0
  226. package/.claude/commands/sparc/optimizer.md +54 -0
  227. package/.claude/commands/sparc/orchestrator.md +132 -0
  228. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -0
  229. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -0
  230. package/.claude/commands/sparc/researcher.md +54 -0
  231. package/.claude/commands/sparc/reviewer.md +54 -0
  232. package/.claude/commands/sparc/security-review.md +80 -0
  233. package/.claude/commands/sparc/sparc-modes.md +174 -0
  234. package/.claude/commands/sparc/sparc.md +111 -0
  235. package/.claude/commands/sparc/spec-pseudocode.md +80 -0
  236. package/.claude/commands/sparc/supabase-admin.md +348 -0
  237. package/.claude/commands/sparc/swarm-coordinator.md +54 -0
  238. package/.claude/commands/sparc/tdd.md +54 -0
  239. package/.claude/commands/sparc/tester.md +54 -0
  240. package/.claude/commands/sparc/tutorial.md +79 -0
  241. package/.claude/commands/sparc/workflow-manager.md +54 -0
  242. package/.claude/commands/sparc.md +166 -0
  243. package/.claude/commands/stream-chain/pipeline.md +121 -0
  244. package/.claude/commands/stream-chain/run.md +70 -0
  245. package/.claude/commands/swarm/README.md +15 -0
  246. package/.claude/commands/swarm/analysis.md +95 -0
  247. package/.claude/commands/swarm/development.md +96 -0
  248. package/.claude/commands/swarm/examples.md +168 -0
  249. package/.claude/commands/swarm/maintenance.md +102 -0
  250. package/.claude/commands/swarm/optimization.md +117 -0
  251. package/.claude/commands/swarm/research.md +136 -0
  252. package/.claude/commands/swarm/swarm-analysis.md +8 -0
  253. package/.claude/commands/swarm/swarm-background.md +8 -0
  254. package/.claude/commands/swarm/swarm-init.md +19 -0
  255. package/.claude/commands/swarm/swarm-modes.md +8 -0
  256. package/.claude/commands/swarm/swarm-monitor.md +8 -0
  257. package/.claude/commands/swarm/swarm-spawn.md +19 -0
  258. package/.claude/commands/swarm/swarm-status.md +8 -0
  259. package/.claude/commands/swarm/swarm-strategies.md +8 -0
  260. package/.claude/commands/swarm/swarm.md +87 -0
  261. package/.claude/commands/swarm/testing.md +131 -0
  262. package/.claude/commands/training/README.md +9 -0
  263. package/.claude/commands/training/model-update.md +25 -0
  264. package/.claude/commands/training/neural-patterns.md +108 -0
  265. package/.claude/commands/training/neural-train.md +75 -0
  266. package/.claude/commands/training/pattern-learn.md +25 -0
  267. package/.claude/commands/training/specialization.md +63 -0
  268. package/.claude/commands/truth/start.md +143 -0
  269. package/.claude/commands/verify/check.md +50 -0
  270. package/.claude/commands/verify/start.md +128 -0
  271. package/.claude/commands/workflows/README.md +9 -0
  272. package/.claude/commands/workflows/development.md +78 -0
  273. package/.claude/commands/workflows/research.md +63 -0
  274. package/.claude/commands/workflows/workflow-create.md +25 -0
  275. package/.claude/commands/workflows/workflow-execute.md +25 -0
  276. package/.claude/commands/workflows/workflow-export.md +25 -0
  277. package/.claude/helpers/README.md +97 -0
  278. package/.claude/helpers/adr-compliance.sh +186 -0
  279. package/.claude/helpers/auto-commit.sh +178 -0
  280. package/.claude/helpers/checkpoint-manager.sh +251 -0
  281. package/.claude/helpers/daemon-manager.sh +252 -0
  282. package/.claude/helpers/ddd-tracker.sh +144 -0
  283. package/.claude/helpers/github-safe.js +106 -0
  284. package/.claude/helpers/github-setup.sh +28 -0
  285. package/.claude/helpers/guidance-hook.sh +13 -0
  286. package/.claude/helpers/guidance-hooks.sh +102 -0
  287. package/.claude/helpers/health-monitor.sh +108 -0
  288. package/.claude/helpers/learning-hooks.sh +329 -0
  289. package/.claude/helpers/learning-optimizer.sh +127 -0
  290. package/.claude/helpers/learning-service.mjs +1144 -0
  291. package/.claude/helpers/memory.js +83 -0
  292. package/.claude/helpers/metrics-db.mjs +488 -0
  293. package/.claude/helpers/pattern-consolidator.sh +86 -0
  294. package/.claude/helpers/perf-worker.sh +160 -0
  295. package/.claude/helpers/post-commit +16 -0
  296. package/.claude/helpers/pre-commit +26 -0
  297. package/.claude/helpers/quick-start.sh +19 -0
  298. package/.claude/helpers/router.js +66 -0
  299. package/.claude/helpers/security-scanner.sh +127 -0
  300. package/.claude/helpers/session.js +127 -0
  301. package/.claude/helpers/setup-mcp.sh +18 -0
  302. package/.claude/helpers/standard-checkpoint-hooks.sh +189 -0
  303. package/.claude/helpers/statusline-hook.sh +21 -0
  304. package/.claude/helpers/statusline.cjs +509 -0
  305. package/.claude/helpers/statusline.js +316 -0
  306. package/.claude/helpers/swarm-comms.sh +353 -0
  307. package/.claude/helpers/swarm-hooks.sh +761 -0
  308. package/.claude/helpers/swarm-monitor.sh +211 -0
  309. package/.claude/helpers/sync-v3-metrics.sh +245 -0
  310. package/.claude/helpers/update-v3-progress.sh +166 -0
  311. package/.claude/helpers/v3-quick-status.sh +58 -0
  312. package/.claude/helpers/v3.sh +111 -0
  313. package/.claude/helpers/validate-v3-config.sh +216 -0
  314. package/.claude/helpers/worker-manager.sh +170 -0
  315. package/.claude/settings.json +237 -0
  316. package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
  317. package/.claude/skills/agentdb-learning/SKILL.md +545 -0
  318. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
  319. package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
  320. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
  321. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  322. package/.claude/skills/aidefence-scan.md +151 -0
  323. package/.claude/skills/aidefence.yaml +297 -0
  324. package/.claude/skills/browser/SKILL.md +204 -0
  325. package/.claude/skills/flow-nexus-neural/SKILL.md +738 -0
  326. package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -0
  327. package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -0
  328. package/.claude/skills/github-code-review/SKILL.md +1140 -0
  329. package/.claude/skills/github-multi-repo/SKILL.md +874 -0
  330. package/.claude/skills/github-project-management/SKILL.md +1277 -0
  331. package/.claude/skills/github-release-management/SKILL.md +1081 -0
  332. package/.claude/skills/github-workflow-automation/SKILL.md +1065 -0
  333. package/.claude/skills/hive-mind-advanced/SKILL.md +712 -0
  334. package/.claude/skills/hooks-automation/SKILL.md +1201 -0
  335. package/.claude/skills/pair-programming/SKILL.md +1202 -0
  336. package/.claude/skills/performance-analysis/SKILL.md +563 -0
  337. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
  338. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
  339. package/.claude/skills/secure-review.md +181 -0
  340. package/.claude/skills/skill-builder/SKILL.md +910 -0
  341. package/.claude/skills/sparc-methodology/SKILL.md +1115 -0
  342. package/.claude/skills/stream-chain/SKILL.md +563 -0
  343. package/.claude/skills/swarm-advanced/SKILL.md +973 -0
  344. package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  345. package/.claude/skills/v3-cli-modernization/SKILL.md +872 -0
  346. package/.claude/skills/v3-core-implementation/SKILL.md +797 -0
  347. package/.claude/skills/v3-ddd-architecture/SKILL.md +442 -0
  348. package/.claude/skills/v3-integration-deep/SKILL.md +241 -0
  349. package/.claude/skills/v3-mcp-optimization/SKILL.md +777 -0
  350. package/.claude/skills/v3-memory-unification/SKILL.md +174 -0
  351. package/.claude/skills/v3-performance-optimization/SKILL.md +390 -0
  352. package/.claude/skills/v3-security-overhaul/SKILL.md +82 -0
  353. package/.claude/skills/v3-swarm-coordination/SKILL.md +340 -0
  354. package/.claude/skills/verification-quality/SKILL.md +649 -0
  355. package/.claude/skills/worker-benchmarks/skill.md +135 -0
  356. package/.claude/skills/worker-integration/skill.md +154 -0
  357. package/README.md +7065 -0
  358. package/bin/cli.js +156 -0
  359. package/bin/mcp-server.js +189 -0
  360. package/package.json +107 -0
@@ -0,0 +1,316 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Claude Flow V3 Statusline Generator
4
+ * Displays real-time V3 implementation progress and system status
5
+ *
6
+ * Usage: node statusline.js [--json] [--compact]
7
+ */
8
+
9
+ const fs = require('fs');
10
+ const path = require('path');
11
+ const { execSync } = require('child_process');
12
+
13
+ // Configuration
14
+ const CONFIG = {
15
+ enabled: true,
16
+ showProgress: true,
17
+ showSecurity: true,
18
+ showSwarm: true,
19
+ showHooks: true,
20
+ showPerformance: true,
21
+ refreshInterval: 30000,
22
+ maxAgents: 15,
23
+ topology: 'hierarchical-mesh',
24
+ };
25
+
26
+ // ANSI colors
27
+ const c = {
28
+ reset: '\x1b[0m',
29
+ bold: '\x1b[1m',
30
+ dim: '\x1b[2m',
31
+ red: '\x1b[0;31m',
32
+ green: '\x1b[0;32m',
33
+ yellow: '\x1b[0;33m',
34
+ blue: '\x1b[0;34m',
35
+ purple: '\x1b[0;35m',
36
+ cyan: '\x1b[0;36m',
37
+ brightRed: '\x1b[1;31m',
38
+ brightGreen: '\x1b[1;32m',
39
+ brightYellow: '\x1b[1;33m',
40
+ brightBlue: '\x1b[1;34m',
41
+ brightPurple: '\x1b[1;35m',
42
+ brightCyan: '\x1b[1;36m',
43
+ brightWhite: '\x1b[1;37m',
44
+ };
45
+
46
+ // Get user info
47
+ function getUserInfo() {
48
+ let name = 'user';
49
+ let gitBranch = '';
50
+ let modelName = 'Opus 4.5';
51
+
52
+ try {
53
+ name = execSync('git config user.name 2>/dev/null || echo "user"', { encoding: 'utf-8' }).trim();
54
+ gitBranch = execSync('git branch --show-current 2>/dev/null || echo ""', { encoding: 'utf-8' }).trim();
55
+ } catch (e) {
56
+ // Ignore errors
57
+ }
58
+
59
+ return { name, gitBranch, modelName };
60
+ }
61
+
62
+ // Get learning stats from memory database
63
+ function getLearningStats() {
64
+ const memoryPaths = [
65
+ path.join(process.cwd(), '.swarm', 'memory.db'),
66
+ path.join(process.cwd(), '.claude', 'memory.db'),
67
+ path.join(process.cwd(), 'data', 'memory.db'),
68
+ ];
69
+
70
+ let patterns = 0;
71
+ let sessions = 0;
72
+ let trajectories = 0;
73
+
74
+ // Try to read from sqlite database
75
+ for (const dbPath of memoryPaths) {
76
+ if (fs.existsSync(dbPath)) {
77
+ try {
78
+ // Count entries in memory file (rough estimate from file size)
79
+ const stats = fs.statSync(dbPath);
80
+ const sizeKB = stats.size / 1024;
81
+ // Estimate: ~2KB per pattern on average
82
+ patterns = Math.floor(sizeKB / 2);
83
+ sessions = Math.max(1, Math.floor(patterns / 10));
84
+ trajectories = Math.floor(patterns / 5);
85
+ break;
86
+ } catch (e) {
87
+ // Ignore
88
+ }
89
+ }
90
+ }
91
+
92
+ // Also check for session files
93
+ const sessionsPath = path.join(process.cwd(), '.claude', 'sessions');
94
+ if (fs.existsSync(sessionsPath)) {
95
+ try {
96
+ const sessionFiles = fs.readdirSync(sessionsPath).filter(f => f.endsWith('.json'));
97
+ sessions = Math.max(sessions, sessionFiles.length);
98
+ } catch (e) {
99
+ // Ignore
100
+ }
101
+ }
102
+
103
+ return { patterns, sessions, trajectories };
104
+ }
105
+
106
+ // Get V3 progress from learning state (grows as system learns)
107
+ function getV3Progress() {
108
+ const learning = getLearningStats();
109
+
110
+ // DDD progress based on actual learned patterns
111
+ // New install: 0 patterns = 0/5 domains, 0% DDD
112
+ // As patterns grow: 10+ patterns = 1 domain, 50+ = 2, 100+ = 3, 200+ = 4, 500+ = 5
113
+ let domainsCompleted = 0;
114
+ if (learning.patterns >= 500) domainsCompleted = 5;
115
+ else if (learning.patterns >= 200) domainsCompleted = 4;
116
+ else if (learning.patterns >= 100) domainsCompleted = 3;
117
+ else if (learning.patterns >= 50) domainsCompleted = 2;
118
+ else if (learning.patterns >= 10) domainsCompleted = 1;
119
+
120
+ const totalDomains = 5;
121
+ const dddProgress = Math.min(100, Math.floor((domainsCompleted / totalDomains) * 100));
122
+
123
+ return {
124
+ domainsCompleted,
125
+ totalDomains,
126
+ dddProgress,
127
+ patternsLearned: learning.patterns,
128
+ sessionsCompleted: learning.sessions
129
+ };
130
+ }
131
+
132
+ // Get security status based on actual scans
133
+ function getSecurityStatus() {
134
+ // Check for security scan results in memory
135
+ const scanResultsPath = path.join(process.cwd(), '.claude', 'security-scans');
136
+ let cvesFixed = 0;
137
+ const totalCves = 3;
138
+
139
+ if (fs.existsSync(scanResultsPath)) {
140
+ try {
141
+ const scans = fs.readdirSync(scanResultsPath).filter(f => f.endsWith('.json'));
142
+ // Each successful scan file = 1 CVE addressed
143
+ cvesFixed = Math.min(totalCves, scans.length);
144
+ } catch (e) {
145
+ // Ignore
146
+ }
147
+ }
148
+
149
+ // Also check .swarm/security for audit results
150
+ const auditPath = path.join(process.cwd(), '.swarm', 'security');
151
+ if (fs.existsSync(auditPath)) {
152
+ try {
153
+ const audits = fs.readdirSync(auditPath).filter(f => f.includes('audit'));
154
+ cvesFixed = Math.min(totalCves, Math.max(cvesFixed, audits.length));
155
+ } catch (e) {
156
+ // Ignore
157
+ }
158
+ }
159
+
160
+ const status = cvesFixed >= totalCves ? 'CLEAN' : cvesFixed > 0 ? 'IN_PROGRESS' : 'PENDING';
161
+
162
+ return {
163
+ status,
164
+ cvesFixed,
165
+ totalCves,
166
+ };
167
+ }
168
+
169
+ // Get swarm status
170
+ function getSwarmStatus() {
171
+ let activeAgents = 0;
172
+ let coordinationActive = false;
173
+
174
+ try {
175
+ const ps = execSync('ps aux 2>/dev/null | grep -c @sparkleideas/agentic-flow || echo "0"', { encoding: 'utf-8' });
176
+ activeAgents = Math.max(0, parseInt(ps.trim()) - 1);
177
+ coordinationActive = activeAgents > 0;
178
+ } catch (e) {
179
+ // Ignore errors
180
+ }
181
+
182
+ return {
183
+ activeAgents,
184
+ maxAgents: CONFIG.maxAgents,
185
+ coordinationActive,
186
+ };
187
+ }
188
+
189
+ // Get system metrics (dynamic based on actual state)
190
+ function getSystemMetrics() {
191
+ let memoryMB = 0;
192
+ let subAgents = 0;
193
+
194
+ try {
195
+ const mem = execSync('ps aux | grep -E "(node|agentic|claude)" | grep -v grep | awk \'{sum += \$6} END {print int(sum/1024)}\'', { encoding: 'utf-8' });
196
+ memoryMB = parseInt(mem.trim()) || 0;
197
+ } catch (e) {
198
+ // Fallback
199
+ memoryMB = Math.floor(process.memoryUsage().heapUsed / 1024 / 1024);
200
+ }
201
+
202
+ // Get learning stats for intelligence %
203
+ const learning = getLearningStats();
204
+
205
+ // Intelligence % based on learned patterns (0 patterns = 0%, 1000+ = 100%)
206
+ const intelligencePct = Math.min(100, Math.floor((learning.patterns / 10) * 1));
207
+
208
+ // Context % based on session history (0 sessions = 0%, grows with usage)
209
+ const contextPct = Math.min(100, Math.floor(learning.sessions * 5));
210
+
211
+ // Count active sub-agents from process list
212
+ try {
213
+ const agents = execSync('ps aux 2>/dev/null | grep -c "@sparkleideas/claude-flow.*agent" || echo "0"', { encoding: 'utf-8' });
214
+ subAgents = Math.max(0, parseInt(agents.trim()) - 1);
215
+ } catch (e) {
216
+ // Ignore
217
+ }
218
+
219
+ return {
220
+ memoryMB,
221
+ contextPct,
222
+ intelligencePct,
223
+ subAgents,
224
+ };
225
+ }
226
+
227
+ // Generate progress bar
228
+ function progressBar(current, total) {
229
+ const width = 5;
230
+ const filled = Math.round((current / total) * width);
231
+ const empty = width - filled;
232
+ return '[' + '\u25CF'.repeat(filled) + '\u25CB'.repeat(empty) + ']';
233
+ }
234
+
235
+ // Generate full statusline
236
+ function generateStatusline() {
237
+ const user = getUserInfo();
238
+ const progress = getV3Progress();
239
+ const security = getSecurityStatus();
240
+ const swarm = getSwarmStatus();
241
+ const system = getSystemMetrics();
242
+ const lines = [];
243
+
244
+ // Header Line
245
+ let header = `${c.bold}${c.brightPurple}▊ Claude Flow V3 ${c.reset}`;
246
+ header += `${swarm.coordinationActive ? c.brightCyan : c.dim}● ${c.brightCyan}${user.name}${c.reset}`;
247
+ if (user.gitBranch) {
248
+ header += ` ${c.dim}│${c.reset} ${c.brightBlue}⎇ ${user.gitBranch}${c.reset}`;
249
+ }
250
+ header += ` ${c.dim}│${c.reset} ${c.purple}${user.modelName}${c.reset}`;
251
+ lines.push(header);
252
+
253
+ // Separator
254
+ lines.push(`${c.dim}─────────────────────────────────────────────────────${c.reset}`);
255
+
256
+ // Line 1: DDD Domain Progress
257
+ const domainsColor = progress.domainsCompleted >= 3 ? c.brightGreen : progress.domainsCompleted > 0 ? c.yellow : c.red;
258
+ lines.push(
259
+ `${c.brightCyan}🏗️ DDD Domains${c.reset} ${progressBar(progress.domainsCompleted, progress.totalDomains)} ` +
260
+ `${domainsColor}${progress.domainsCompleted}${c.reset}/${c.brightWhite}${progress.totalDomains}${c.reset} ` +
261
+ `${c.brightYellow}⚡ 1.0x${c.reset} ${c.dim}→${c.reset} ${c.brightYellow}2.49x-7.47x${c.reset}`
262
+ );
263
+
264
+ // Line 2: Swarm + CVE + Memory + Context + Intelligence
265
+ const swarmIndicator = swarm.coordinationActive ? `${c.brightGreen}◉${c.reset}` : `${c.dim}○${c.reset}`;
266
+ const agentsColor = swarm.activeAgents > 0 ? c.brightGreen : c.red;
267
+ let securityIcon = security.status === 'CLEAN' ? '🟢' : security.status === 'IN_PROGRESS' ? '🟡' : '🔴';
268
+ let securityColor = security.status === 'CLEAN' ? c.brightGreen : security.status === 'IN_PROGRESS' ? c.brightYellow : c.brightRed;
269
+
270
+ lines.push(
271
+ `${c.brightYellow}🤖 Swarm${c.reset} ${swarmIndicator} [${agentsColor}${String(swarm.activeAgents).padStart(2)}${c.reset}/${c.brightWhite}${swarm.maxAgents}${c.reset}] ` +
272
+ `${c.brightPurple}👥 ${system.subAgents}${c.reset} ` +
273
+ `${securityIcon} ${securityColor}CVE ${security.cvesFixed}${c.reset}/${c.brightWhite}${security.totalCves}${c.reset} ` +
274
+ `${c.brightCyan}💾 ${system.memoryMB}MB${c.reset} ` +
275
+ `${c.brightGreen}📂 ${String(system.contextPct).padStart(3)}%${c.reset} ` +
276
+ `${c.dim}🧠 ${String(system.intelligencePct).padStart(3)}%${c.reset}`
277
+ );
278
+
279
+ // Line 3: Architecture status
280
+ const dddColor = progress.dddProgress >= 50 ? c.brightGreen : progress.dddProgress > 0 ? c.yellow : c.red;
281
+ lines.push(
282
+ `${c.brightPurple}🔧 Architecture${c.reset} ` +
283
+ `${c.cyan}DDD${c.reset} ${dddColor}●${String(progress.dddProgress).padStart(3)}%${c.reset} ${c.dim}│${c.reset} ` +
284
+ `${c.cyan}Security${c.reset} ${securityColor}●${security.status}${c.reset} ${c.dim}│${c.reset} ` +
285
+ `${c.cyan}Memory${c.reset} ${c.brightGreen}●AgentDB${c.reset} ${c.dim}│${c.reset} ` +
286
+ `${c.cyan}Integration${c.reset} ${swarm.coordinationActive ? c.brightCyan : c.dim}●${c.reset}`
287
+ );
288
+
289
+ return lines.join('\n');
290
+ }
291
+
292
+ // Generate JSON data
293
+ function generateJSON() {
294
+ return {
295
+ user: getUserInfo(),
296
+ v3Progress: getV3Progress(),
297
+ security: getSecurityStatus(),
298
+ swarm: getSwarmStatus(),
299
+ system: getSystemMetrics(),
300
+ performance: {
301
+ flashAttentionTarget: '2.49x-7.47x',
302
+ searchImprovement: '150x-12,500x',
303
+ memoryReduction: '50-75%',
304
+ },
305
+ lastUpdated: new Date().toISOString(),
306
+ };
307
+ }
308
+
309
+ // Main
310
+ if (process.argv.includes('--json')) {
311
+ console.log(JSON.stringify(generateJSON(), null, 2));
312
+ } else if (process.argv.includes('--compact')) {
313
+ console.log(JSON.stringify(generateJSON()));
314
+ } else {
315
+ console.log(generateStatusline());
316
+ }
@@ -0,0 +1,353 @@
1
+ #!/bin/bash
2
+ # Claude Flow V3 - Optimized Swarm Communications
3
+ # Non-blocking, batched, priority-based inter-agent messaging
4
+
5
+ set -euo pipefail
6
+
7
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
8
+ PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
9
+ SWARM_DIR="$PROJECT_ROOT/.claude-flow/swarm"
10
+ QUEUE_DIR="$SWARM_DIR/queue"
11
+ BATCH_DIR="$SWARM_DIR/batch"
12
+ POOL_FILE="$SWARM_DIR/connection-pool.json"
13
+
14
+ mkdir -p "$QUEUE_DIR" "$BATCH_DIR"
15
+
16
+ # Priority levels
17
+ PRIORITY_CRITICAL=0
18
+ PRIORITY_HIGH=1
19
+ PRIORITY_NORMAL=2
20
+ PRIORITY_LOW=3
21
+
22
+ # Batch settings
23
+ BATCH_SIZE=10
24
+ BATCH_TIMEOUT_MS=100
25
+
26
+ # =============================================================================
27
+ # NON-BLOCKING MESSAGE QUEUE
28
+ # =============================================================================
29
+
30
+ # Enqueue message (instant return, async processing)
31
+ enqueue() {
32
+ local to="${1:-*}"
33
+ local content="${2:-}"
34
+ local priority="${3:-$PRIORITY_NORMAL}"
35
+ local msg_type="${4:-context}"
36
+
37
+ local msg_id="msg_$(date +%s%N)"
38
+ local timestamp=$(date +%s)
39
+
40
+ # Write to priority queue (non-blocking)
41
+ cat > "$QUEUE_DIR/${priority}_${msg_id}.json" << EOF
42
+ {"id":"$msg_id","to":"$to","content":"$content","type":"$msg_type","priority":$priority,"timestamp":$timestamp}
43
+ EOF
44
+
45
+ echo "$msg_id"
46
+ }
47
+
48
+ # Process queue in background
49
+ process_queue() {
50
+ local processed=0
51
+
52
+ # Process by priority (0=critical first)
53
+ for priority in 0 1 2 3; do
54
+ shopt -s nullglob
55
+ for msg_file in "$QUEUE_DIR"/${priority}_*.json; do
56
+ [ -f "$msg_file" ] || continue
57
+
58
+ # Process message
59
+ local msg=$(cat "$msg_file")
60
+ local to=$(echo "$msg" | jq -r '.to' 2>/dev/null)
61
+
62
+ # Route to agent mailbox
63
+ if [ "$to" != "*" ]; then
64
+ mkdir -p "$SWARM_DIR/mailbox/$to"
65
+ mv "$msg_file" "$SWARM_DIR/mailbox/$to/"
66
+ else
67
+ # Broadcast - copy to all agent mailboxes
68
+ for agent_dir in "$SWARM_DIR/mailbox"/*; do
69
+ [ -d "$agent_dir" ] && cp "$msg_file" "$agent_dir/"
70
+ done
71
+ rm "$msg_file"
72
+ fi
73
+
74
+ processed=$((processed + 1))
75
+ done
76
+ done
77
+
78
+ echo "$processed"
79
+ }
80
+
81
+ # =============================================================================
82
+ # MESSAGE BATCHING
83
+ # =============================================================================
84
+
85
+ # Add to batch (collects messages, flushes when full or timeout)
86
+ batch_add() {
87
+ local agent_id="${1:-}"
88
+ local content="${2:-}"
89
+ local batch_file="$BATCH_DIR/${agent_id}.batch"
90
+
91
+ # Append to batch
92
+ echo "$content" >> "$batch_file"
93
+
94
+ # Check batch size
95
+ local count=$(wc -l < "$batch_file" 2>/dev/null || echo "0")
96
+
97
+ if [ "$count" -ge "$BATCH_SIZE" ]; then
98
+ batch_flush "$agent_id"
99
+ fi
100
+ }
101
+
102
+ # Flush batch (send all at once)
103
+ batch_flush() {
104
+ local agent_id="${1:-}"
105
+ local batch_file="$BATCH_DIR/${agent_id}.batch"
106
+
107
+ if [ -f "$batch_file" ]; then
108
+ local content=$(cat "$batch_file")
109
+ rm "$batch_file"
110
+
111
+ # Send as single batched message
112
+ enqueue "$agent_id" "$content" "$PRIORITY_NORMAL" "batch"
113
+ fi
114
+ }
115
+
116
+ # Flush all pending batches
117
+ batch_flush_all() {
118
+ shopt -s nullglob
119
+ for batch_file in "$BATCH_DIR"/*.batch; do
120
+ [ -f "$batch_file" ] || continue
121
+ local agent_id=$(basename "$batch_file" .batch)
122
+ batch_flush "$agent_id"
123
+ done
124
+ }
125
+
126
+ # =============================================================================
127
+ # CONNECTION POOLING
128
+ # =============================================================================
129
+
130
+ # Initialize connection pool
131
+ pool_init() {
132
+ cat > "$POOL_FILE" << EOF
133
+ {
134
+ "maxConnections": 10,
135
+ "activeConnections": 0,
136
+ "available": [],
137
+ "inUse": [],
138
+ "lastUpdated": "$(date -Iseconds)"
139
+ }
140
+ EOF
141
+ }
142
+
143
+ # Get connection from pool (or create new)
144
+ pool_acquire() {
145
+ local agent_id="${1:-}"
146
+
147
+ if [ ! -f "$POOL_FILE" ]; then
148
+ pool_init
149
+ fi
150
+
151
+ # Check for available connection
152
+ local available=$(jq -r '.available[0] // ""' "$POOL_FILE" 2>/dev/null)
153
+
154
+ if [ -n "$available" ]; then
155
+ # Reuse existing connection
156
+ jq ".available = .available[1:] | .inUse += [\"$available\"]" "$POOL_FILE" > "$POOL_FILE.tmp" && mv "$POOL_FILE.tmp" "$POOL_FILE"
157
+ echo "$available"
158
+ else
159
+ # Create new connection ID
160
+ local conn_id="conn_$(date +%s%N | tail -c 8)"
161
+ jq ".inUse += [\"$conn_id\"] | .activeConnections += 1" "$POOL_FILE" > "$POOL_FILE.tmp" && mv "$POOL_FILE.tmp" "$POOL_FILE"
162
+ echo "$conn_id"
163
+ fi
164
+ }
165
+
166
+ # Release connection back to pool
167
+ pool_release() {
168
+ local conn_id="${1:-}"
169
+
170
+ if [ -f "$POOL_FILE" ]; then
171
+ jq ".inUse = (.inUse | map(select(. != \"$conn_id\"))) | .available += [\"$conn_id\"]" "$POOL_FILE" > "$POOL_FILE.tmp" && mv "$POOL_FILE.tmp" "$POOL_FILE"
172
+ fi
173
+ }
174
+
175
+ # =============================================================================
176
+ # ASYNC PATTERN BROADCAST
177
+ # =============================================================================
178
+
179
+ # Broadcast pattern to swarm (non-blocking)
180
+ broadcast_pattern_async() {
181
+ local strategy="${1:-}"
182
+ local domain="${2:-general}"
183
+ local quality="${3:-0.7}"
184
+
185
+ # Fire and forget
186
+ (
187
+ local broadcast_id="pattern_$(date +%s%N)"
188
+
189
+ # Write pattern broadcast
190
+ mkdir -p "$SWARM_DIR/patterns"
191
+ cat > "$SWARM_DIR/patterns/$broadcast_id.json" << EOF
192
+ {"id":"$broadcast_id","strategy":"$strategy","domain":"$domain","quality":$quality,"timestamp":$(date +%s),"status":"pending"}
193
+ EOF
194
+
195
+ # Notify all agents via queue
196
+ enqueue "*" "{\"type\":\"pattern_broadcast\",\"id\":\"$broadcast_id\"}" "$PRIORITY_HIGH" "event"
197
+
198
+ ) &
199
+
200
+ echo "pattern_broadcast_queued"
201
+ }
202
+
203
+ # =============================================================================
204
+ # OPTIMIZED CONSENSUS
205
+ # =============================================================================
206
+
207
+ # Start consensus (non-blocking)
208
+ start_consensus_async() {
209
+ local question="${1:-}"
210
+ local options="${2:-}"
211
+ local timeout="${3:-30}"
212
+
213
+ (
214
+ local consensus_id="consensus_$(date +%s%N)"
215
+ mkdir -p "$SWARM_DIR/consensus"
216
+
217
+ cat > "$SWARM_DIR/consensus/$consensus_id.json" << EOF
218
+ {"id":"$consensus_id","question":"$question","options":"$options","votes":{},"timeout":$timeout,"created":$(date +%s),"status":"open"}
219
+ EOF
220
+
221
+ # Notify agents
222
+ enqueue "*" "{\"type\":\"consensus_request\",\"id\":\"$consensus_id\"}" "$PRIORITY_HIGH" "event"
223
+
224
+ # Auto-resolve after timeout (background)
225
+ (
226
+ sleep "$timeout"
227
+ if [ -f "$SWARM_DIR/consensus/$consensus_id.json" ]; then
228
+ jq '.status = "resolved"' "$SWARM_DIR/consensus/$consensus_id.json" > "$SWARM_DIR/consensus/$consensus_id.json.tmp" && mv "$SWARM_DIR/consensus/$consensus_id.json.tmp" "$SWARM_DIR/consensus/$consensus_id.json"
229
+ fi
230
+ ) &
231
+
232
+ echo "$consensus_id"
233
+ ) &
234
+ }
235
+
236
+ # Vote on consensus (non-blocking)
237
+ vote_async() {
238
+ local consensus_id="${1:-}"
239
+ local vote="${2:-}"
240
+ local agent_id="${AGENTIC_FLOW_AGENT_ID:-anonymous}"
241
+
242
+ (
243
+ local file="$SWARM_DIR/consensus/$consensus_id.json"
244
+ if [ -f "$file" ]; then
245
+ jq ".votes[\"$agent_id\"] = \"$vote\"" "$file" > "$file.tmp" && mv "$file.tmp" "$file"
246
+ fi
247
+ ) &
248
+ }
249
+
250
+ # =============================================================================
251
+ # PERFORMANCE METRICS
252
+ # =============================================================================
253
+
254
+ get_comms_stats() {
255
+ local queued=$(ls "$QUEUE_DIR"/*.json 2>/dev/null | wc -l | tr -d '[:space:]')
256
+ queued=${queued:-0}
257
+ local batched=$(ls "$BATCH_DIR"/*.batch 2>/dev/null | wc -l | tr -d '[:space:]')
258
+ batched=${batched:-0}
259
+ local patterns=$(ls "$SWARM_DIR/patterns"/*.json 2>/dev/null | wc -l | tr -d '[:space:]')
260
+ patterns=${patterns:-0}
261
+ local consensus=$(ls "$SWARM_DIR/consensus"/*.json 2>/dev/null | wc -l | tr -d '[:space:]')
262
+ consensus=${consensus:-0}
263
+
264
+ local pool_active=0
265
+ if [ -f "$POOL_FILE" ]; then
266
+ pool_active=$(jq '.activeConnections // 0' "$POOL_FILE" 2>/dev/null | tr -d '[:space:]')
267
+ pool_active=${pool_active:-0}
268
+ fi
269
+
270
+ echo "{\"queue\":$queued,\"batch\":$batched,\"patterns\":$patterns,\"consensus\":$consensus,\"pool\":$pool_active}"
271
+ }
272
+
273
+ # =============================================================================
274
+ # MAIN DISPATCHER
275
+ # =============================================================================
276
+
277
+ case "${1:-help}" in
278
+ # Queue operations
279
+ "enqueue"|"send")
280
+ enqueue "${2:-*}" "${3:-}" "${4:-2}" "${5:-context}"
281
+ ;;
282
+ "process")
283
+ process_queue
284
+ ;;
285
+
286
+ # Batch operations
287
+ "batch")
288
+ batch_add "${2:-}" "${3:-}"
289
+ ;;
290
+ "flush")
291
+ batch_flush_all
292
+ ;;
293
+
294
+ # Pool operations
295
+ "acquire")
296
+ pool_acquire "${2:-}"
297
+ ;;
298
+ "release")
299
+ pool_release "${2:-}"
300
+ ;;
301
+
302
+ # Async operations
303
+ "broadcast-pattern")
304
+ broadcast_pattern_async "${2:-}" "${3:-general}" "${4:-0.7}"
305
+ ;;
306
+ "consensus")
307
+ start_consensus_async "${2:-}" "${3:-}" "${4:-30}"
308
+ ;;
309
+ "vote")
310
+ vote_async "${2:-}" "${3:-}"
311
+ ;;
312
+
313
+ # Stats
314
+ "stats")
315
+ get_comms_stats
316
+ ;;
317
+
318
+ "help"|*)
319
+ cat << 'EOF'
320
+ Claude Flow V3 - Optimized Swarm Communications
321
+
322
+ Non-blocking, batched, priority-based inter-agent messaging.
323
+
324
+ Usage: swarm-comms.sh <command> [args]
325
+
326
+ Queue (Non-blocking):
327
+ enqueue <to> <content> [priority] [type] Add to queue (instant return)
328
+ process Process pending queue
329
+
330
+ Batching:
331
+ batch <agent> <content> Add to batch
332
+ flush Flush all batches
333
+
334
+ Connection Pool:
335
+ acquire [agent] Get connection from pool
336
+ release <conn_id> Return connection to pool
337
+
338
+ Async Operations:
339
+ broadcast-pattern <strategy> [domain] [quality] Async pattern broadcast
340
+ consensus <question> <options> [timeout] Start async consensus
341
+ vote <consensus_id> <vote> Vote (non-blocking)
342
+
343
+ Stats:
344
+ stats Get communication stats
345
+
346
+ Priority Levels:
347
+ 0 = Critical (processed first)
348
+ 1 = High
349
+ 2 = Normal (default)
350
+ 3 = Low
351
+ EOF
352
+ ;;
353
+ esac