odd-flow 1.0.0

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 (730) hide show
  1. package/.claude/agents/MIGRATION_SUMMARY.md +222 -0
  2. package/.claude/agents/analysis/analyze-code-quality.md +58 -0
  3. package/.claude/agents/analysis/code-analyzer.md +189 -0
  4. package/.claude/agents/analysis/code-review/analyze-code-quality.md +58 -0
  5. package/.claude/agents/architecture/system-design/arch-system-design.md +36 -0
  6. package/.claude/agents/base-template-generator.md +41 -0
  7. package/.claude/agents/consensus/byzantine-coordinator.md +43 -0
  8. package/.claude/agents/consensus/crdt-synchronizer.md +977 -0
  9. package/.claude/agents/consensus/gossip-coordinator.md +43 -0
  10. package/.claude/agents/consensus/performance-benchmarker.md +831 -0
  11. package/.claude/agents/consensus/quorum-manager.md +803 -0
  12. package/.claude/agents/consensus/raft-manager.md +43 -0
  13. package/.claude/agents/consensus/security-manager.md +602 -0
  14. package/.claude/agents/core/coder.md +244 -0
  15. package/.claude/agents/core/planner.md +152 -0
  16. package/.claude/agents/core/researcher.md +174 -0
  17. package/.claude/agents/core/reviewer.md +309 -0
  18. package/.claude/agents/core/tester.md +300 -0
  19. package/.claude/agents/custom/test-long-runner.md +43 -0
  20. package/.claude/agents/data/ml/data-ml-model.md +76 -0
  21. package/.claude/agents/database-specialist.md +9 -0
  22. package/.claude/agents/development/backend/dev-backend-api.md +29 -0
  23. package/.claude/agents/development/dev-backend-api.md +178 -0
  24. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +52 -0
  25. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +63 -0
  26. package/.claude/agents/dual-mode/codex-coordinator.md +201 -0
  27. package/.claude/agents/dual-mode/codex-worker.md +183 -0
  28. package/.claude/agents/dual-mode/dual-orchestrator.md +253 -0
  29. package/.claude/agents/flow-nexus/app-store.md +88 -0
  30. package/.claude/agents/flow-nexus/authentication.md +69 -0
  31. package/.claude/agents/flow-nexus/challenges.md +81 -0
  32. package/.claude/agents/flow-nexus/neural-network.md +88 -0
  33. package/.claude/agents/flow-nexus/payments.md +83 -0
  34. package/.claude/agents/flow-nexus/sandbox.md +76 -0
  35. package/.claude/agents/flow-nexus/swarm.md +76 -0
  36. package/.claude/agents/flow-nexus/user-tools.md +96 -0
  37. package/.claude/agents/flow-nexus/workflow.md +84 -0
  38. package/.claude/agents/github/code-review-swarm.md +521 -0
  39. package/.claude/agents/github/github-modes.md +154 -0
  40. package/.claude/agents/github/issue-tracker.md +299 -0
  41. package/.claude/agents/github/multi-repo-swarm.md +525 -0
  42. package/.claude/agents/github/pr-manager.md +163 -0
  43. package/.claude/agents/github/project-board-sync.md +478 -0
  44. package/.claude/agents/github/release-manager.md +336 -0
  45. package/.claude/agents/github/release-swarm.md +551 -0
  46. package/.claude/agents/github/repo-architect.md +365 -0
  47. package/.claude/agents/github/swarm-issue.md +548 -0
  48. package/.claude/agents/github/swarm-pr.md +399 -0
  49. package/.claude/agents/github/sync-coordinator.md +423 -0
  50. package/.claude/agents/github/workflow-automation.md +605 -0
  51. package/.claude/agents/goal/agent.md +817 -0
  52. package/.claude/agents/goal/code-goal-planner.md +445 -0
  53. package/.claude/agents/goal/goal-planner.md +168 -0
  54. package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -0
  55. package/.claude/agents/hive-mind/queen-coordinator.md +202 -0
  56. package/.claude/agents/hive-mind/scout-explorer.md +241 -0
  57. package/.claude/agents/hive-mind/swarm-memory-manager.md +192 -0
  58. package/.claude/agents/hive-mind/worker-specialist.md +216 -0
  59. package/.claude/agents/neural/safla-neural.md +74 -0
  60. package/.claude/agents/optimization/benchmark-suite.md +663 -0
  61. package/.claude/agents/optimization/load-balancer.md +429 -0
  62. package/.claude/agents/optimization/performance-monitor.md +670 -0
  63. package/.claude/agents/optimization/resource-allocator.md +672 -0
  64. package/.claude/agents/optimization/topology-optimizer.md +806 -0
  65. package/.claude/agents/payments/agentic-payments.md +126 -0
  66. package/.claude/agents/project-coordinator.md +8 -0
  67. package/.claude/agents/python-specialist.md +9 -0
  68. package/.claude/agents/reasoning/agent.md +817 -0
  69. package/.claude/agents/reasoning/goal-planner.md +73 -0
  70. package/.claude/agents/security-auditor.md +9 -0
  71. package/.claude/agents/sona/sona-learning-optimizer.md +65 -0
  72. package/.claude/agents/sparc/architecture.md +453 -0
  73. package/.claude/agents/sparc/pseudocode.md +299 -0
  74. package/.claude/agents/sparc/refinement.md +504 -0
  75. package/.claude/agents/sparc/specification.md +258 -0
  76. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +88 -0
  77. package/.claude/agents/sublinear/consensus-coordinator.md +338 -0
  78. package/.claude/agents/sublinear/matrix-optimizer.md +185 -0
  79. package/.claude/agents/sublinear/pagerank-analyzer.md +299 -0
  80. package/.claude/agents/sublinear/performance-optimizer.md +368 -0
  81. package/.claude/agents/sublinear/trading-predictor.md +246 -0
  82. package/.claude/agents/swarm/adaptive-coordinator.md +364 -0
  83. package/.claude/agents/swarm/hierarchical-coordinator.md +300 -0
  84. package/.claude/agents/swarm/mesh-coordinator.md +363 -0
  85. package/.claude/agents/templates/automation-smart-agent.md +185 -0
  86. package/.claude/agents/templates/coordinator-swarm-init.md +83 -0
  87. package/.claude/agents/templates/github-pr-manager.md +155 -0
  88. package/.claude/agents/templates/implementer-sparc-coder.md +231 -0
  89. package/.claude/agents/templates/memory-coordinator.md +163 -0
  90. package/.claude/agents/templates/migration-plan.md +724 -0
  91. package/.claude/agents/templates/orchestrator-task.md +120 -0
  92. package/.claude/agents/templates/performance-analyzer.md +179 -0
  93. package/.claude/agents/templates/sparc-coordinator.md +163 -0
  94. package/.claude/agents/testing/production-validator.md +373 -0
  95. package/.claude/agents/testing/tdd-london-swarm.md +222 -0
  96. package/.claude/agents/testing/unit/tdd-london-swarm.md +222 -0
  97. package/.claude/agents/testing/validation/production-validator.md +373 -0
  98. package/.claude/agents/typescript-specialist.md +9 -0
  99. package/.claude/agents/v3/database-specialist.md +9 -0
  100. package/.claude/agents/v3/project-coordinator.md +8 -0
  101. package/.claude/agents/v3/python-specialist.md +9 -0
  102. package/.claude/agents/v3/test-architect.md +9 -0
  103. package/.claude/agents/v3/typescript-specialist.md +9 -0
  104. package/.claude/agents/v3/v3-integration-architect.md +312 -0
  105. package/.claude/agents/v3/v3-memory-specialist.md +281 -0
  106. package/.claude/agents/v3/v3-performance-engineer.md +363 -0
  107. package/.claude/agents/v3/v3-queen-coordinator.md +63 -0
  108. package/.claude/agents/v3/v3-security-architect.md +140 -0
  109. package/.claude/checkpoints/1767754460.json +8 -0
  110. package/.claude/commands/agents/README.md +10 -0
  111. package/.claude/commands/agents/agent-capabilities.md +21 -0
  112. package/.claude/commands/agents/agent-coordination.md +28 -0
  113. package/.claude/commands/agents/agent-spawning.md +28 -0
  114. package/.claude/commands/agents/agent-types.md +26 -0
  115. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
  116. package/.claude/commands/analysis/README.md +9 -0
  117. package/.claude/commands/analysis/bottleneck-detect.md +162 -0
  118. package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
  119. package/.claude/commands/analysis/performance-report.md +25 -0
  120. package/.claude/commands/analysis/token-efficiency.md +45 -0
  121. package/.claude/commands/analysis/token-usage.md +25 -0
  122. package/.claude/commands/automation/README.md +9 -0
  123. package/.claude/commands/automation/auto-agent.md +122 -0
  124. package/.claude/commands/automation/self-healing.md +106 -0
  125. package/.claude/commands/automation/session-memory.md +90 -0
  126. package/.claude/commands/automation/smart-agents.md +73 -0
  127. package/.claude/commands/automation/smart-spawn.md +25 -0
  128. package/.claude/commands/automation/workflow-select.md +25 -0
  129. package/.claude/commands/claude-flow-help.md +103 -0
  130. package/.claude/commands/claude-flow-memory.md +107 -0
  131. package/.claude/commands/claude-flow-swarm.md +205 -0
  132. package/.claude/commands/coordination/README.md +9 -0
  133. package/.claude/commands/coordination/agent-spawn.md +25 -0
  134. package/.claude/commands/coordination/init.md +44 -0
  135. package/.claude/commands/coordination/orchestrate.md +43 -0
  136. package/.claude/commands/coordination/spawn.md +45 -0
  137. package/.claude/commands/coordination/swarm-init.md +85 -0
  138. package/.claude/commands/coordination/task-orchestrate.md +25 -0
  139. package/.claude/commands/flow-nexus/app-store.md +124 -0
  140. package/.claude/commands/flow-nexus/challenges.md +120 -0
  141. package/.claude/commands/flow-nexus/login-registration.md +65 -0
  142. package/.claude/commands/flow-nexus/neural-network.md +134 -0
  143. package/.claude/commands/flow-nexus/payments.md +116 -0
  144. package/.claude/commands/flow-nexus/sandbox.md +83 -0
  145. package/.claude/commands/flow-nexus/swarm.md +87 -0
  146. package/.claude/commands/flow-nexus/user-tools.md +152 -0
  147. package/.claude/commands/flow-nexus/workflow.md +115 -0
  148. package/.claude/commands/github/README.md +11 -0
  149. package/.claude/commands/github/code-review-swarm.md +514 -0
  150. package/.claude/commands/github/code-review.md +25 -0
  151. package/.claude/commands/github/github-modes.md +147 -0
  152. package/.claude/commands/github/github-swarm.md +121 -0
  153. package/.claude/commands/github/issue-tracker.md +292 -0
  154. package/.claude/commands/github/issue-triage.md +25 -0
  155. package/.claude/commands/github/multi-repo-swarm.md +519 -0
  156. package/.claude/commands/github/pr-enhance.md +26 -0
  157. package/.claude/commands/github/pr-manager.md +170 -0
  158. package/.claude/commands/github/project-board-sync.md +471 -0
  159. package/.claude/commands/github/release-manager.md +338 -0
  160. package/.claude/commands/github/release-swarm.md +544 -0
  161. package/.claude/commands/github/repo-analyze.md +25 -0
  162. package/.claude/commands/github/repo-architect.md +367 -0
  163. package/.claude/commands/github/swarm-issue.md +482 -0
  164. package/.claude/commands/github/swarm-pr.md +285 -0
  165. package/.claude/commands/github/sync-coordinator.md +301 -0
  166. package/.claude/commands/github/workflow-automation.md +442 -0
  167. package/.claude/commands/hive-mind/README.md +17 -0
  168. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
  169. package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
  170. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
  171. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
  172. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
  173. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
  174. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
  175. package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
  176. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
  177. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
  178. package/.claude/commands/hive-mind/hive-mind.md +27 -0
  179. package/.claude/commands/hooks/README.md +11 -0
  180. package/.claude/commands/hooks/overview.md +58 -0
  181. package/.claude/commands/hooks/post-edit.md +117 -0
  182. package/.claude/commands/hooks/post-task.md +112 -0
  183. package/.claude/commands/hooks/pre-edit.md +113 -0
  184. package/.claude/commands/hooks/pre-task.md +111 -0
  185. package/.claude/commands/hooks/session-end.md +118 -0
  186. package/.claude/commands/hooks/setup.md +103 -0
  187. package/.claude/commands/memory/README.md +9 -0
  188. package/.claude/commands/memory/memory-persist.md +25 -0
  189. package/.claude/commands/memory/memory-search.md +25 -0
  190. package/.claude/commands/memory/memory-usage.md +25 -0
  191. package/.claude/commands/memory/neural.md +47 -0
  192. package/.claude/commands/monitoring/README.md +9 -0
  193. package/.claude/commands/monitoring/agent-metrics.md +25 -0
  194. package/.claude/commands/monitoring/agents.md +44 -0
  195. package/.claude/commands/monitoring/real-time-view.md +25 -0
  196. package/.claude/commands/monitoring/status.md +46 -0
  197. package/.claude/commands/monitoring/swarm-monitor.md +25 -0
  198. package/.claude/commands/optimization/README.md +9 -0
  199. package/.claude/commands/optimization/auto-topology.md +62 -0
  200. package/.claude/commands/optimization/cache-manage.md +25 -0
  201. package/.claude/commands/optimization/parallel-execute.md +25 -0
  202. package/.claude/commands/optimization/parallel-execution.md +50 -0
  203. package/.claude/commands/optimization/topology-optimize.md +25 -0
  204. package/.claude/commands/pair/README.md +261 -0
  205. package/.claude/commands/pair/commands.md +546 -0
  206. package/.claude/commands/pair/config.md +510 -0
  207. package/.claude/commands/pair/examples.md +512 -0
  208. package/.claude/commands/pair/modes.md +348 -0
  209. package/.claude/commands/pair/session.md +407 -0
  210. package/.claude/commands/pair/start.md +209 -0
  211. package/.claude/commands/sparc/analyzer.md +52 -0
  212. package/.claude/commands/sparc/architect.md +53 -0
  213. package/.claude/commands/sparc/ask.md +97 -0
  214. package/.claude/commands/sparc/batch-executor.md +54 -0
  215. package/.claude/commands/sparc/code.md +89 -0
  216. package/.claude/commands/sparc/coder.md +54 -0
  217. package/.claude/commands/sparc/debug.md +83 -0
  218. package/.claude/commands/sparc/debugger.md +54 -0
  219. package/.claude/commands/sparc/designer.md +53 -0
  220. package/.claude/commands/sparc/devops.md +109 -0
  221. package/.claude/commands/sparc/docs-writer.md +80 -0
  222. package/.claude/commands/sparc/documenter.md +54 -0
  223. package/.claude/commands/sparc/innovator.md +54 -0
  224. package/.claude/commands/sparc/integration.md +83 -0
  225. package/.claude/commands/sparc/mcp.md +117 -0
  226. package/.claude/commands/sparc/memory-manager.md +54 -0
  227. package/.claude/commands/sparc/optimizer.md +54 -0
  228. package/.claude/commands/sparc/orchestrator.md +132 -0
  229. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -0
  230. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -0
  231. package/.claude/commands/sparc/researcher.md +54 -0
  232. package/.claude/commands/sparc/reviewer.md +54 -0
  233. package/.claude/commands/sparc/security-review.md +80 -0
  234. package/.claude/commands/sparc/sparc-modes.md +174 -0
  235. package/.claude/commands/sparc/sparc.md +111 -0
  236. package/.claude/commands/sparc/spec-pseudocode.md +80 -0
  237. package/.claude/commands/sparc/supabase-admin.md +348 -0
  238. package/.claude/commands/sparc/swarm-coordinator.md +54 -0
  239. package/.claude/commands/sparc/tdd.md +54 -0
  240. package/.claude/commands/sparc/tester.md +54 -0
  241. package/.claude/commands/sparc/tutorial.md +79 -0
  242. package/.claude/commands/sparc/workflow-manager.md +54 -0
  243. package/.claude/commands/sparc.md +166 -0
  244. package/.claude/commands/stream-chain/pipeline.md +121 -0
  245. package/.claude/commands/stream-chain/run.md +70 -0
  246. package/.claude/commands/swarm/README.md +15 -0
  247. package/.claude/commands/swarm/analysis.md +95 -0
  248. package/.claude/commands/swarm/development.md +96 -0
  249. package/.claude/commands/swarm/examples.md +168 -0
  250. package/.claude/commands/swarm/maintenance.md +102 -0
  251. package/.claude/commands/swarm/optimization.md +117 -0
  252. package/.claude/commands/swarm/research.md +136 -0
  253. package/.claude/commands/swarm/swarm-analysis.md +8 -0
  254. package/.claude/commands/swarm/swarm-background.md +8 -0
  255. package/.claude/commands/swarm/swarm-init.md +19 -0
  256. package/.claude/commands/swarm/swarm-modes.md +8 -0
  257. package/.claude/commands/swarm/swarm-monitor.md +8 -0
  258. package/.claude/commands/swarm/swarm-spawn.md +19 -0
  259. package/.claude/commands/swarm/swarm-status.md +8 -0
  260. package/.claude/commands/swarm/swarm-strategies.md +8 -0
  261. package/.claude/commands/swarm/swarm.md +27 -0
  262. package/.claude/commands/swarm/testing.md +131 -0
  263. package/.claude/commands/training/README.md +9 -0
  264. package/.claude/commands/training/model-update.md +25 -0
  265. package/.claude/commands/training/neural-patterns.md +74 -0
  266. package/.claude/commands/training/neural-train.md +25 -0
  267. package/.claude/commands/training/pattern-learn.md +25 -0
  268. package/.claude/commands/training/specialization.md +63 -0
  269. package/.claude/commands/truth/start.md +143 -0
  270. package/.claude/commands/verify/check.md +50 -0
  271. package/.claude/commands/verify/start.md +128 -0
  272. package/.claude/commands/workflows/README.md +9 -0
  273. package/.claude/commands/workflows/development.md +78 -0
  274. package/.claude/commands/workflows/research.md +63 -0
  275. package/.claude/commands/workflows/workflow-create.md +25 -0
  276. package/.claude/commands/workflows/workflow-execute.md +25 -0
  277. package/.claude/commands/workflows/workflow-export.md +25 -0
  278. package/.claude/config/v3-dependency-optimization.json +266 -0
  279. package/.claude/config/v3-performance-targets.json +251 -0
  280. package/.claude/helpers/README.md +97 -0
  281. package/.claude/helpers/adr-compliance.sh +186 -0
  282. package/.claude/helpers/aggressive-microcompact.mjs +36 -0
  283. package/.claude/helpers/auto-commit.sh +178 -0
  284. package/.claude/helpers/auto-memory-hook.mjs +369 -0
  285. package/.claude/helpers/checkpoint-manager.sh +251 -0
  286. package/.claude/helpers/context-persistence-hook.mjs +1979 -0
  287. package/.claude/helpers/daemon-manager.sh +252 -0
  288. package/.claude/helpers/ddd-tracker.sh +144 -0
  289. package/.claude/helpers/github-safe.js +106 -0
  290. package/.claude/helpers/github-setup.sh +28 -0
  291. package/.claude/helpers/guidance-hook.sh +13 -0
  292. package/.claude/helpers/guidance-hooks.sh +102 -0
  293. package/.claude/helpers/health-monitor.sh +108 -0
  294. package/.claude/helpers/hook-handler.cjs +234 -0
  295. package/.claude/helpers/intelligence.cjs +207 -0
  296. package/.claude/helpers/learning-hooks.sh +329 -0
  297. package/.claude/helpers/learning-optimizer.sh +127 -0
  298. package/.claude/helpers/learning-service.mjs +1144 -0
  299. package/.claude/helpers/memory.cjs +84 -0
  300. package/.claude/helpers/metrics-db.mjs +488 -0
  301. package/.claude/helpers/pattern-consolidator.sh +86 -0
  302. package/.claude/helpers/perf-worker.sh +160 -0
  303. package/.claude/helpers/quick-start.sh +19 -0
  304. package/.claude/helpers/router.cjs +62 -0
  305. package/.claude/helpers/security-scanner.sh +127 -0
  306. package/.claude/helpers/session.cjs +125 -0
  307. package/.claude/helpers/setup-mcp.sh +18 -0
  308. package/.claude/helpers/standard-checkpoint-hooks.sh +189 -0
  309. package/.claude/helpers/statusline.cjs +770 -0
  310. package/.claude/helpers/swarm-comms.sh +353 -0
  311. package/.claude/helpers/swarm-hooks.sh +761 -0
  312. package/.claude/helpers/swarm-monitor.sh +211 -0
  313. package/.claude/helpers/sync-v3-metrics.sh +245 -0
  314. package/.claude/helpers/update-v3-progress.sh +166 -0
  315. package/.claude/helpers/v3-quick-status.sh +58 -0
  316. package/.claude/helpers/v3.sh +111 -0
  317. package/.claude/helpers/validate-v3-config.sh +216 -0
  318. package/.claude/helpers/worker-manager.sh +170 -0
  319. package/.claude/mcp.json +13 -0
  320. package/.claude/settings copy.json +526 -0
  321. package/.claude/settings.json +305 -0
  322. package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
  323. package/.claude/skills/agentdb-learning/SKILL.md +545 -0
  324. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
  325. package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
  326. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
  327. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  328. package/.claude/skills/dual-mode/README.md +71 -0
  329. package/.claude/skills/dual-mode/dual-collect.md +103 -0
  330. package/.claude/skills/dual-mode/dual-coordinate.md +85 -0
  331. package/.claude/skills/dual-mode/dual-spawn.md +81 -0
  332. package/.claude/skills/flow-nexus-neural/SKILL.md +727 -0
  333. package/.claude/skills/flow-nexus-platform/SKILL.md +1154 -0
  334. package/.claude/skills/flow-nexus-swarm/SKILL.md +604 -0
  335. package/.claude/skills/github-code-review/SKILL.md +1125 -0
  336. package/.claude/skills/github-multi-repo/SKILL.md +862 -0
  337. package/.claude/skills/github-project-management/SKILL.md +1250 -0
  338. package/.claude/skills/github-release-management/SKILL.md +1064 -0
  339. package/.claude/skills/github-workflow-automation/SKILL.md +1047 -0
  340. package/.claude/skills/hive-mind-advanced/SKILL.md +709 -0
  341. package/.claude/skills/hooks-automation/SKILL.md +1201 -0
  342. package/.claude/skills/pair-programming/SKILL.md +1202 -0
  343. package/.claude/skills/performance-analysis/SKILL.md +560 -0
  344. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
  345. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
  346. package/.claude/skills/skill-builder/SKILL.md +910 -0
  347. package/.claude/skills/sparc-methodology/SKILL.md +1106 -0
  348. package/.claude/skills/stream-chain/SKILL.md +560 -0
  349. package/.claude/skills/swarm-advanced/SKILL.md +970 -0
  350. package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  351. package/.claude/skills/v3-cli-modernization/SKILL.md +872 -0
  352. package/.claude/skills/v3-core-implementation/SKILL.md +797 -0
  353. package/.claude/skills/v3-ddd-architecture/SKILL.md +442 -0
  354. package/.claude/skills/v3-integration-deep/SKILL.md +241 -0
  355. package/.claude/skills/v3-mcp-optimization/SKILL.md +777 -0
  356. package/.claude/skills/v3-memory-unification/SKILL.md +174 -0
  357. package/.claude/skills/v3-performance-optimization/SKILL.md +390 -0
  358. package/.claude/skills/v3-security-overhaul/SKILL.md +82 -0
  359. package/.claude/skills/v3-swarm-coordination/SKILL.md +340 -0
  360. package/.claude/skills/verification-quality/SKILL.md +647 -0
  361. package/.claude/skills/worker-benchmarks/SKILL.md +129 -0
  362. package/.claude/skills/worker-integration/SKILL.md +147 -0
  363. package/.claude/statusline-command.sh +176 -0
  364. package/.claude/statusline.mjs +109 -0
  365. package/.claude/statusline.sh +431 -0
  366. package/.claude-plugin/README.md +720 -0
  367. package/.claude-plugin/docs/INSTALLATION.md +261 -0
  368. package/.claude-plugin/docs/PLUGIN_SUMMARY.md +361 -0
  369. package/.claude-plugin/docs/QUICKSTART.md +361 -0
  370. package/.claude-plugin/docs/STRUCTURE.md +128 -0
  371. package/.claude-plugin/hooks/hooks.json +74 -0
  372. package/.claude-plugin/marketplace.json +96 -0
  373. package/.claude-plugin/plugin.json +71 -0
  374. package/.claude-plugin/scripts/install.sh +234 -0
  375. package/.claude-plugin/scripts/uninstall.sh +36 -0
  376. package/.claude-plugin/scripts/verify.sh +108 -0
  377. package/LICENSE +21 -0
  378. package/README.md +7541 -0
  379. package/bin/cli.js +11 -0
  380. package/bin/npx-repair.js +7 -0
  381. package/bin/npx-safe-launch.js +9 -0
  382. package/package.json +84 -0
  383. package/v3/@claude-flow/cli/README.md +192 -0
  384. package/v3/@claude-flow/cli/bin/cli.js +156 -0
  385. package/v3/@claude-flow/cli/bin/mcp-server.js +189 -0
  386. package/v3/@claude-flow/cli/bin/preinstall.cjs +2 -0
  387. package/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.d.ts +91 -0
  388. package/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.js +425 -0
  389. package/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
  390. package/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.js +292 -0
  391. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.d.ts +44 -0
  392. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.js +329 -0
  393. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.d.ts +97 -0
  394. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.js +370 -0
  395. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.d.ts +111 -0
  396. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.js +393 -0
  397. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.d.ts +69 -0
  398. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.js +237 -0
  399. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.d.ts +123 -0
  400. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.js +347 -0
  401. package/v3/@claude-flow/cli/dist/src/autopilot-state.d.ts +77 -0
  402. package/v3/@claude-flow/cli/dist/src/autopilot-state.js +279 -0
  403. package/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.d.ts +58 -0
  404. package/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.js +404 -0
  405. package/v3/@claude-flow/cli/dist/src/commands/agent-wasm.d.ts +14 -0
  406. package/v3/@claude-flow/cli/dist/src/commands/agent-wasm.js +333 -0
  407. package/v3/@claude-flow/cli/dist/src/commands/agent.d.ts +8 -0
  408. package/v3/@claude-flow/cli/dist/src/commands/agent.js +927 -0
  409. package/v3/@claude-flow/cli/dist/src/commands/analyze.d.ts +17 -0
  410. package/v3/@claude-flow/cli/dist/src/commands/analyze.js +1821 -0
  411. package/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.d.ts +9 -0
  412. package/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.js +215 -0
  413. package/v3/@claude-flow/cli/dist/src/commands/appliance.d.ts +8 -0
  414. package/v3/@claude-flow/cli/dist/src/commands/appliance.js +406 -0
  415. package/v3/@claude-flow/cli/dist/src/commands/autopilot.d.ts +15 -0
  416. package/v3/@claude-flow/cli/dist/src/commands/autopilot.js +362 -0
  417. package/v3/@claude-flow/cli/dist/src/commands/benchmark.d.ts +10 -0
  418. package/v3/@claude-flow/cli/dist/src/commands/benchmark.js +459 -0
  419. package/v3/@claude-flow/cli/dist/src/commands/claims.d.ts +8 -0
  420. package/v3/@claude-flow/cli/dist/src/commands/claims.js +621 -0
  421. package/v3/@claude-flow/cli/dist/src/commands/cleanup.d.ts +11 -0
  422. package/v3/@claude-flow/cli/dist/src/commands/cleanup.js +216 -0
  423. package/v3/@claude-flow/cli/dist/src/commands/completions.d.ts +8 -0
  424. package/v3/@claude-flow/cli/dist/src/commands/completions.js +537 -0
  425. package/v3/@claude-flow/cli/dist/src/commands/config.d.ts +8 -0
  426. package/v3/@claude-flow/cli/dist/src/commands/config.js +356 -0
  427. package/v3/@claude-flow/cli/dist/src/commands/daemon.d.ts +8 -0
  428. package/v3/@claude-flow/cli/dist/src/commands/daemon.js +669 -0
  429. package/v3/@claude-flow/cli/dist/src/commands/deployment.d.ts +8 -0
  430. package/v3/@claude-flow/cli/dist/src/commands/deployment.js +669 -0
  431. package/v3/@claude-flow/cli/dist/src/commands/doctor.d.ts +8 -0
  432. package/v3/@claude-flow/cli/dist/src/commands/doctor.js +617 -0
  433. package/v3/@claude-flow/cli/dist/src/commands/embeddings.d.ts +16 -0
  434. package/v3/@claude-flow/cli/dist/src/commands/embeddings.js +1573 -0
  435. package/v3/@claude-flow/cli/dist/src/commands/guidance.d.ts +8 -0
  436. package/v3/@claude-flow/cli/dist/src/commands/guidance.js +560 -0
  437. package/v3/@claude-flow/cli/dist/src/commands/hive-mind.d.ts +11 -0
  438. package/v3/@claude-flow/cli/dist/src/commands/hive-mind.js +1237 -0
  439. package/v3/@claude-flow/cli/dist/src/commands/hooks.d.ts +8 -0
  440. package/v3/@claude-flow/cli/dist/src/commands/hooks.js +4441 -0
  441. package/v3/@claude-flow/cli/dist/src/commands/index.d.ts +117 -0
  442. package/v3/@claude-flow/cli/dist/src/commands/index.js +384 -0
  443. package/v3/@claude-flow/cli/dist/src/commands/init.d.ts +8 -0
  444. package/v3/@claude-flow/cli/dist/src/commands/init.js +969 -0
  445. package/v3/@claude-flow/cli/dist/src/commands/issues.d.ts +21 -0
  446. package/v3/@claude-flow/cli/dist/src/commands/issues.js +567 -0
  447. package/v3/@claude-flow/cli/dist/src/commands/mcp.d.ts +11 -0
  448. package/v3/@claude-flow/cli/dist/src/commands/mcp.js +718 -0
  449. package/v3/@claude-flow/cli/dist/src/commands/memory.d.ts +8 -0
  450. package/v3/@claude-flow/cli/dist/src/commands/memory.js +1299 -0
  451. package/v3/@claude-flow/cli/dist/src/commands/migrate.d.ts +8 -0
  452. package/v3/@claude-flow/cli/dist/src/commands/migrate.js +742 -0
  453. package/v3/@claude-flow/cli/dist/src/commands/neural.d.ts +8 -0
  454. package/v3/@claude-flow/cli/dist/src/commands/neural.js +1451 -0
  455. package/v3/@claude-flow/cli/dist/src/commands/performance.d.ts +8 -0
  456. package/v3/@claude-flow/cli/dist/src/commands/performance.js +576 -0
  457. package/v3/@claude-flow/cli/dist/src/commands/plugins.d.ts +9 -0
  458. package/v3/@claude-flow/cli/dist/src/commands/plugins.js +817 -0
  459. package/v3/@claude-flow/cli/dist/src/commands/process.d.ts +10 -0
  460. package/v3/@claude-flow/cli/dist/src/commands/process.js +641 -0
  461. package/v3/@claude-flow/cli/dist/src/commands/progress.d.ts +11 -0
  462. package/v3/@claude-flow/cli/dist/src/commands/progress.js +259 -0
  463. package/v3/@claude-flow/cli/dist/src/commands/providers.d.ts +8 -0
  464. package/v3/@claude-flow/cli/dist/src/commands/providers.js +355 -0
  465. package/v3/@claude-flow/cli/dist/src/commands/route.d.ts +14 -0
  466. package/v3/@claude-flow/cli/dist/src/commands/route.js +811 -0
  467. package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.d.ts +11 -0
  468. package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.js +746 -0
  469. package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.d.ts +11 -0
  470. package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.js +480 -0
  471. package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.d.ts +16 -0
  472. package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.js +347 -0
  473. package/v3/@claude-flow/cli/dist/src/commands/ruvector/index.d.ts +27 -0
  474. package/v3/@claude-flow/cli/dist/src/commands/ruvector/index.js +127 -0
  475. package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.d.ts +11 -0
  476. package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.js +431 -0
  477. package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.d.ts +11 -0
  478. package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.js +481 -0
  479. package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.d.ts +11 -0
  480. package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.js +503 -0
  481. package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.d.ts +16 -0
  482. package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.js +763 -0
  483. package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.d.ts +11 -0
  484. package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.js +456 -0
  485. package/v3/@claude-flow/cli/dist/src/commands/security.d.ts +8 -0
  486. package/v3/@claude-flow/cli/dist/src/commands/security.js +614 -0
  487. package/v3/@claude-flow/cli/dist/src/commands/session.d.ts +8 -0
  488. package/v3/@claude-flow/cli/dist/src/commands/session.js +750 -0
  489. package/v3/@claude-flow/cli/dist/src/commands/start.d.ts +8 -0
  490. package/v3/@claude-flow/cli/dist/src/commands/start.js +418 -0
  491. package/v3/@claude-flow/cli/dist/src/commands/status.d.ts +8 -0
  492. package/v3/@claude-flow/cli/dist/src/commands/status.js +591 -0
  493. package/v3/@claude-flow/cli/dist/src/commands/swarm.d.ts +8 -0
  494. package/v3/@claude-flow/cli/dist/src/commands/swarm.js +802 -0
  495. package/v3/@claude-flow/cli/dist/src/commands/task.d.ts +8 -0
  496. package/v3/@claude-flow/cli/dist/src/commands/task.js +671 -0
  497. package/v3/@claude-flow/cli/dist/src/commands/transfer-store.d.ts +13 -0
  498. package/v3/@claude-flow/cli/dist/src/commands/transfer-store.js +428 -0
  499. package/v3/@claude-flow/cli/dist/src/commands/update.d.ts +8 -0
  500. package/v3/@claude-flow/cli/dist/src/commands/update.js +276 -0
  501. package/v3/@claude-flow/cli/dist/src/commands/workflow.d.ts +8 -0
  502. package/v3/@claude-flow/cli/dist/src/commands/workflow.js +617 -0
  503. package/v3/@claude-flow/cli/dist/src/config-adapter.d.ts +15 -0
  504. package/v3/@claude-flow/cli/dist/src/config-adapter.js +186 -0
  505. package/v3/@claude-flow/cli/dist/src/index.d.ts +74 -0
  506. package/v3/@claude-flow/cli/dist/src/index.js +469 -0
  507. package/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
  508. package/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.js +264 -0
  509. package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +25 -0
  510. package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.js +486 -0
  511. package/v3/@claude-flow/cli/dist/src/init/executor.d.ts +41 -0
  512. package/v3/@claude-flow/cli/dist/src/init/executor.js +1776 -0
  513. package/v3/@claude-flow/cli/dist/src/init/helpers-generator.d.ts +60 -0
  514. package/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +1181 -0
  515. package/v3/@claude-flow/cli/dist/src/init/index.d.ts +13 -0
  516. package/v3/@claude-flow/cli/dist/src/init/index.js +15 -0
  517. package/v3/@claude-flow/cli/dist/src/init/mcp-generator.d.ts +26 -0
  518. package/v3/@claude-flow/cli/dist/src/init/mcp-generator.js +101 -0
  519. package/v3/@claude-flow/cli/dist/src/init/settings-generator.d.ts +14 -0
  520. package/v3/@claude-flow/cli/dist/src/init/settings-generator.js +392 -0
  521. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.d.ts +28 -0
  522. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +833 -0
  523. package/v3/@claude-flow/cli/dist/src/init/types.d.ts +295 -0
  524. package/v3/@claude-flow/cli/dist/src/init/types.js +263 -0
  525. package/v3/@claude-flow/cli/dist/src/mcp-client.d.ts +92 -0
  526. package/v3/@claude-flow/cli/dist/src/mcp-client.js +227 -0
  527. package/v3/@claude-flow/cli/dist/src/mcp-server.d.ts +163 -0
  528. package/v3/@claude-flow/cli/dist/src/mcp-server.js +654 -0
  529. package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.d.ts +9 -0
  530. package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.js +550 -0
  531. package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
  532. package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.js +557 -0
  533. package/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
  534. package/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.js +317 -0
  535. package/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.d.ts +12 -0
  536. package/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.js +732 -0
  537. package/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.d.ts +8 -0
  538. package/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.js +357 -0
  539. package/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.d.ts +13 -0
  540. package/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.js +665 -0
  541. package/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.d.ts +9 -0
  542. package/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.js +782 -0
  543. package/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
  544. package/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.js +811 -0
  545. package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.d.ts +44 -0
  546. package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +3120 -0
  547. package/v3/@claude-flow/cli/dist/src/mcp-tools/index.d.ts +22 -0
  548. package/v3/@claude-flow/cli/dist/src/mcp-tools/index.js +21 -0
  549. package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.d.ts +14 -0
  550. package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.js +512 -0
  551. package/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.d.ts +16 -0
  552. package/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.js +461 -0
  553. package/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.d.ts +16 -0
  554. package/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.js +534 -0
  555. package/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.d.ts +14 -0
  556. package/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.js +348 -0
  557. package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.d.ts +16 -0
  558. package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.js +404 -0
  559. package/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.d.ts +8 -0
  560. package/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.js +315 -0
  561. package/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.d.ts +9 -0
  562. package/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.js +288 -0
  563. package/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.d.ts +13 -0
  564. package/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.js +408 -0
  565. package/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.d.ts +8 -0
  566. package/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.js +405 -0
  567. package/v3/@claude-flow/cli/dist/src/mcp-tools/types.d.ts +31 -0
  568. package/v3/@claude-flow/cli/dist/src/mcp-tools/types.js +7 -0
  569. package/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
  570. package/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.js +572 -0
  571. package/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.d.ts +295 -0
  572. package/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.js +601 -0
  573. package/v3/@claude-flow/cli/dist/src/memory/intelligence.d.ts +338 -0
  574. package/v3/@claude-flow/cli/dist/src/memory/intelligence.js +1023 -0
  575. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.d.ts +407 -0
  576. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +1499 -0
  577. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.d.ts +412 -0
  578. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +2222 -0
  579. package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.d.ts +227 -0
  580. package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.js +633 -0
  581. package/v3/@claude-flow/cli/dist/src/output.d.ts +133 -0
  582. package/v3/@claude-flow/cli/dist/src/output.js +514 -0
  583. package/v3/@claude-flow/cli/dist/src/parser.d.ts +51 -0
  584. package/v3/@claude-flow/cli/dist/src/parser.js +425 -0
  585. package/v3/@claude-flow/cli/dist/src/plugins/manager.d.ts +133 -0
  586. package/v3/@claude-flow/cli/dist/src/plugins/manager.js +400 -0
  587. package/v3/@claude-flow/cli/dist/src/plugins/store/discovery.d.ts +88 -0
  588. package/v3/@claude-flow/cli/dist/src/plugins/store/discovery.js +1147 -0
  589. package/v3/@claude-flow/cli/dist/src/plugins/store/index.d.ts +76 -0
  590. package/v3/@claude-flow/cli/dist/src/plugins/store/index.js +141 -0
  591. package/v3/@claude-flow/cli/dist/src/plugins/store/search.d.ts +46 -0
  592. package/v3/@claude-flow/cli/dist/src/plugins/store/search.js +230 -0
  593. package/v3/@claude-flow/cli/dist/src/plugins/store/types.d.ts +274 -0
  594. package/v3/@claude-flow/cli/dist/src/plugins/store/types.js +7 -0
  595. package/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
  596. package/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.js +126 -0
  597. package/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.d.ts +12 -0
  598. package/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.js +188 -0
  599. package/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
  600. package/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.js +206 -0
  601. package/v3/@claude-flow/cli/dist/src/production/circuit-breaker.d.ts +101 -0
  602. package/v3/@claude-flow/cli/dist/src/production/circuit-breaker.js +241 -0
  603. package/v3/@claude-flow/cli/dist/src/production/error-handler.d.ts +92 -0
  604. package/v3/@claude-flow/cli/dist/src/production/error-handler.js +299 -0
  605. package/v3/@claude-flow/cli/dist/src/production/index.d.ts +23 -0
  606. package/v3/@claude-flow/cli/dist/src/production/index.js +18 -0
  607. package/v3/@claude-flow/cli/dist/src/production/monitoring.d.ts +161 -0
  608. package/v3/@claude-flow/cli/dist/src/production/monitoring.js +356 -0
  609. package/v3/@claude-flow/cli/dist/src/production/rate-limiter.d.ts +80 -0
  610. package/v3/@claude-flow/cli/dist/src/production/rate-limiter.js +201 -0
  611. package/v3/@claude-flow/cli/dist/src/production/retry.d.ts +48 -0
  612. package/v3/@claude-flow/cli/dist/src/production/retry.js +179 -0
  613. package/v3/@claude-flow/cli/dist/src/prompt.d.ts +44 -0
  614. package/v3/@claude-flow/cli/dist/src/prompt.js +501 -0
  615. package/v3/@claude-flow/cli/dist/src/runtime/headless.d.ts +60 -0
  616. package/v3/@claude-flow/cli/dist/src/runtime/headless.js +284 -0
  617. package/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.d.ts +182 -0
  618. package/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.js +316 -0
  619. package/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  620. package/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.js +277 -0
  621. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.d.ts +160 -0
  622. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.js +529 -0
  623. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.d.ts +33 -0
  624. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.js +157 -0
  625. package/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.d.ts +175 -0
  626. package/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.js +698 -0
  627. package/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
  628. package/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.js +513 -0
  629. package/v3/@claude-flow/cli/dist/src/ruvector/flash-attention.d.ts +193 -0
  630. package/v3/@claude-flow/cli/dist/src/ruvector/flash-attention.js +641 -0
  631. package/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.d.ts +187 -0
  632. package/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.js +929 -0
  633. package/v3/@claude-flow/cli/dist/src/ruvector/index.d.ts +40 -0
  634. package/v3/@claude-flow/cli/dist/src/ruvector/index.js +76 -0
  635. package/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.d.ts +218 -0
  636. package/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.js +455 -0
  637. package/v3/@claude-flow/cli/dist/src/ruvector/model-router.d.ts +220 -0
  638. package/v3/@claude-flow/cli/dist/src/ruvector/model-router.js +488 -0
  639. package/v3/@claude-flow/cli/dist/src/ruvector/moe-router.d.ts +206 -0
  640. package/v3/@claude-flow/cli/dist/src/ruvector/moe-router.js +626 -0
  641. package/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.d.ts +211 -0
  642. package/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.js +681 -0
  643. package/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
  644. package/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.js +363 -0
  645. package/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.d.ts +77 -0
  646. package/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.js +178 -0
  647. package/v3/@claude-flow/cli/dist/src/ruvector/vector-db.d.ts +67 -0
  648. package/v3/@claude-flow/cli/dist/src/ruvector/vector-db.js +241 -0
  649. package/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.d.ts +50 -0
  650. package/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.js +95 -0
  651. package/v3/@claude-flow/cli/dist/src/services/claim-service.d.ts +204 -0
  652. package/v3/@claude-flow/cli/dist/src/services/claim-service.js +818 -0
  653. package/v3/@claude-flow/cli/dist/src/services/config-file-manager.d.ts +37 -0
  654. package/v3/@claude-flow/cli/dist/src/services/config-file-manager.js +224 -0
  655. package/v3/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +197 -0
  656. package/v3/@claude-flow/cli/dist/src/services/container-worker-pool.js +583 -0
  657. package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.d.ts +304 -0
  658. package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.js +1024 -0
  659. package/v3/@claude-flow/cli/dist/src/services/index.d.ts +13 -0
  660. package/v3/@claude-flow/cli/dist/src/services/index.js +11 -0
  661. package/v3/@claude-flow/cli/dist/src/services/registry-api.d.ts +58 -0
  662. package/v3/@claude-flow/cli/dist/src/services/registry-api.js +146 -0
  663. package/v3/@claude-flow/cli/dist/src/services/ruvector-training.d.ts +220 -0
  664. package/v3/@claude-flow/cli/dist/src/services/ruvector-training.js +686 -0
  665. package/v3/@claude-flow/cli/dist/src/services/worker-daemon.d.ts +245 -0
  666. package/v3/@claude-flow/cli/dist/src/services/worker-daemon.js +960 -0
  667. package/v3/@claude-flow/cli/dist/src/services/worker-queue.d.ts +194 -0
  668. package/v3/@claude-flow/cli/dist/src/services/worker-queue.js +513 -0
  669. package/v3/@claude-flow/cli/dist/src/suggest.d.ts +51 -0
  670. package/v3/@claude-flow/cli/dist/src/suggest.js +198 -0
  671. package/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.d.ts +25 -0
  672. package/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.js +175 -0
  673. package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.d.ts +13 -0
  674. package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.js +205 -0
  675. package/v3/@claude-flow/cli/dist/src/transfer/export.d.ts +25 -0
  676. package/v3/@claude-flow/cli/dist/src/transfer/export.js +113 -0
  677. package/v3/@claude-flow/cli/dist/src/transfer/index.d.ts +12 -0
  678. package/v3/@claude-flow/cli/dist/src/transfer/index.js +31 -0
  679. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.d.ts +109 -0
  680. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.js +307 -0
  681. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.d.ts +95 -0
  682. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.js +411 -0
  683. package/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.d.ts +72 -0
  684. package/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.js +373 -0
  685. package/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.d.ts +49 -0
  686. package/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.js +183 -0
  687. package/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.d.ts +82 -0
  688. package/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.js +272 -0
  689. package/v3/@claude-flow/cli/dist/src/transfer/storage/index.d.ts +6 -0
  690. package/v3/@claude-flow/cli/dist/src/transfer/storage/index.js +6 -0
  691. package/v3/@claude-flow/cli/dist/src/transfer/store/discovery.d.ts +84 -0
  692. package/v3/@claude-flow/cli/dist/src/transfer/store/discovery.js +382 -0
  693. package/v3/@claude-flow/cli/dist/src/transfer/store/download.d.ts +70 -0
  694. package/v3/@claude-flow/cli/dist/src/transfer/store/download.js +334 -0
  695. package/v3/@claude-flow/cli/dist/src/transfer/store/index.d.ts +84 -0
  696. package/v3/@claude-flow/cli/dist/src/transfer/store/index.js +153 -0
  697. package/v3/@claude-flow/cli/dist/src/transfer/store/publish.d.ts +76 -0
  698. package/v3/@claude-flow/cli/dist/src/transfer/store/publish.js +294 -0
  699. package/v3/@claude-flow/cli/dist/src/transfer/store/registry.d.ts +58 -0
  700. package/v3/@claude-flow/cli/dist/src/transfer/store/registry.js +285 -0
  701. package/v3/@claude-flow/cli/dist/src/transfer/store/search.d.ts +54 -0
  702. package/v3/@claude-flow/cli/dist/src/transfer/store/search.js +232 -0
  703. package/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
  704. package/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.js +190 -0
  705. package/v3/@claude-flow/cli/dist/src/transfer/store/types.d.ts +193 -0
  706. package/v3/@claude-flow/cli/dist/src/transfer/store/types.js +6 -0
  707. package/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.d.ts +6 -0
  708. package/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.js +105 -0
  709. package/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.d.ts +7 -0
  710. package/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.js +214 -0
  711. package/v3/@claude-flow/cli/dist/src/transfer/types.d.ts +245 -0
  712. package/v3/@claude-flow/cli/dist/src/transfer/types.js +6 -0
  713. package/v3/@claude-flow/cli/dist/src/types.d.ts +198 -0
  714. package/v3/@claude-flow/cli/dist/src/types.js +38 -0
  715. package/v3/@claude-flow/cli/dist/src/update/checker.d.ts +34 -0
  716. package/v3/@claude-flow/cli/dist/src/update/checker.js +190 -0
  717. package/v3/@claude-flow/cli/dist/src/update/executor.d.ts +32 -0
  718. package/v3/@claude-flow/cli/dist/src/update/executor.js +181 -0
  719. package/v3/@claude-flow/cli/dist/src/update/index.d.ts +33 -0
  720. package/v3/@claude-flow/cli/dist/src/update/index.js +64 -0
  721. package/v3/@claude-flow/cli/dist/src/update/rate-limiter.d.ts +20 -0
  722. package/v3/@claude-flow/cli/dist/src/update/rate-limiter.js +96 -0
  723. package/v3/@claude-flow/cli/dist/src/update/validator.d.ts +17 -0
  724. package/v3/@claude-flow/cli/dist/src/update/validator.js +123 -0
  725. package/v3/@claude-flow/cli/dist/src/utils/path-validation.d.ts +20 -0
  726. package/v3/@claude-flow/cli/dist/src/utils/path-validation.js +80 -0
  727. package/v3/@claude-flow/cli/package.json +75 -0
  728. package/v3/@claude-flow/shared/README.md +323 -0
  729. package/v3/@claude-flow/shared/package.json +42 -0
  730. package/v3/README.md +493 -0
@@ -0,0 +1,1237 @@
1
+ /**
2
+ * V3 CLI Hive Mind Command
3
+ * Queen-led consensus-based multi-agent coordination
4
+ *
5
+ * Updated to support --claude flag for launching interactive Claude Code sessions
6
+ * PR: Fix #955 - Implement --claude flag for hive-mind spawn command
7
+ */
8
+ import { output } from '../output.js';
9
+ import { select, confirm, input } from '../prompt.js';
10
+ import { callMCPTool, MCPClientError } from '../mcp-client.js';
11
+ import { spawn as childSpawn, execSync } from 'child_process';
12
+ import { mkdir, writeFile } from 'fs/promises';
13
+ import { join } from 'path';
14
+ // Hive topologies
15
+ const TOPOLOGIES = [
16
+ { value: 'hierarchical', label: 'Hierarchical', hint: 'Queen-led with worker agents' },
17
+ { value: 'mesh', label: 'Mesh', hint: 'Peer-to-peer coordination' },
18
+ { value: 'hierarchical-mesh', label: 'Hierarchical Mesh', hint: 'Queen + peer communication (recommended)' },
19
+ { value: 'adaptive', label: 'Adaptive', hint: 'Dynamic topology based on task' }
20
+ ];
21
+ // Consensus strategies
22
+ const CONSENSUS_STRATEGIES = [
23
+ { value: 'byzantine', label: 'Byzantine Fault Tolerant', hint: '2/3 majority, handles malicious actors' },
24
+ { value: 'raft', label: 'Raft', hint: 'Leader-based consensus' },
25
+ { value: 'gossip', label: 'Gossip', hint: 'Eventually consistent, scalable' },
26
+ { value: 'crdt', label: 'CRDT', hint: 'Conflict-free replicated data' },
27
+ { value: 'quorum', label: 'Quorum', hint: 'Simple majority voting' }
28
+ ];
29
+ /**
30
+ * Group workers by their type for prompt generation
31
+ */
32
+ function groupWorkersByType(workers) {
33
+ const groups = {};
34
+ for (const worker of workers) {
35
+ const type = worker.type || worker.role || 'worker';
36
+ if (!groups[type]) {
37
+ groups[type] = [];
38
+ }
39
+ groups[type].push(worker);
40
+ }
41
+ return groups;
42
+ }
43
+ /**
44
+ * Generate comprehensive Hive Mind prompt for Claude Code
45
+ * Ported from v2.7.47 with enhancements for v3
46
+ */
47
+ function generateHiveMindPrompt(swarmId, swarmName, objective, workers, workerGroups, flags) {
48
+ const currentTime = new Date().toISOString();
49
+ const workerTypes = Object.keys(workerGroups);
50
+ const queenType = flags.queenType || 'strategic';
51
+ const consensusAlgorithm = flags.consensus || 'byzantine';
52
+ const topology = flags.topology || 'hierarchical-mesh';
53
+ return `🧠 HIVE MIND COLLECTIVE INTELLIGENCE SYSTEM
54
+ ═══════════════════════════════════════════════
55
+
56
+ You are the Queen coordinator of a Hive Mind swarm with collective intelligence capabilities.
57
+
58
+ HIVE MIND CONFIGURATION:
59
+ 📌 Swarm ID: ${swarmId}
60
+ 📌 Swarm Name: ${swarmName}
61
+ 🎯 Objective: ${objective}
62
+ 👑 Queen Type: ${queenType}
63
+ 🐝 Worker Count: ${workers.length}
64
+ 🔗 Topology: ${topology}
65
+ 🤝 Consensus Algorithm: ${consensusAlgorithm}
66
+ ⏰ Initialized: ${currentTime}
67
+
68
+ WORKER DISTRIBUTION:
69
+ ${workerTypes.map(type => `• ${type}: ${workerGroups[type].length} agents`).join('\n')}
70
+
71
+ 🔧 AVAILABLE MCP TOOLS FOR HIVE MIND COORDINATION:
72
+
73
+ 1️⃣ **COLLECTIVE INTELLIGENCE**
74
+ mcp__odd-flow__hive-mind_consensus - Democratic decision making
75
+ mcp__odd-flow__hive-mind_memory - Share knowledge across the hive
76
+ mcp__odd-flow__hive-mind_broadcast - Broadcast to all workers
77
+ mcp__odd-flow__neural_patterns - Neural pattern recognition
78
+
79
+ 2️⃣ **QUEEN COORDINATION**
80
+ mcp__odd-flow__hive-mind_status - Monitor swarm health
81
+ mcp__odd-flow__task_create - Create and delegate tasks
82
+ mcp__odd-flow__coordination_orchestrate - Orchestrate task distribution
83
+ mcp__odd-flow__agent_spawn - Spawn additional workers
84
+
85
+ 3️⃣ **WORKER MANAGEMENT**
86
+ mcp__odd-flow__agent_list - List all active agents
87
+ mcp__odd-flow__agent_status - Check agent status
88
+ mcp__odd-flow__agent_health - Check worker health
89
+ mcp__odd-flow__hive-mind_join - Add agent to hive
90
+ mcp__odd-flow__hive-mind_leave - Remove agent from hive
91
+
92
+ 4️⃣ **TASK ORCHESTRATION**
93
+ mcp__odd-flow__task_assign - Assign tasks to workers
94
+ mcp__odd-flow__task_status - Track task progress
95
+ mcp__odd-flow__task_complete - Mark tasks complete
96
+ mcp__odd-flow__workflow_create - Create workflows
97
+
98
+ 5️⃣ **MEMORY & LEARNING**
99
+ mcp__odd-flow__memory_store - Store collective knowledge
100
+ mcp__odd-flow__memory_retrieve - Access shared memory
101
+ mcp__odd-flow__memory_search - Search memory patterns
102
+ mcp__odd-flow__neural_train - Learn from experiences
103
+ mcp__odd-flow__hooks_intelligence_pattern-store - Store patterns
104
+
105
+ 📋 HIVE MIND EXECUTION PROTOCOL:
106
+
107
+ 1. **INITIALIZATION PHASE**
108
+ - Verify all workers are online and responsive
109
+ - Establish communication channels
110
+ - Load previous session state if available
111
+ - Initialize shared memory space
112
+
113
+ 2. **TASK DISTRIBUTION PHASE**
114
+ - Analyze the objective and decompose into subtasks
115
+ - Assign tasks based on worker specializations
116
+ - Set up task dependencies and ordering
117
+ - Monitor parallel execution
118
+
119
+ 3. **COORDINATION PHASE**
120
+ - Use consensus for critical decisions
121
+ - Aggregate results from workers
122
+ - Resolve conflicts using ${consensusAlgorithm} consensus
123
+ - Share learnings across the hive
124
+
125
+ 4. **COMPLETION PHASE**
126
+ - Verify all subtasks are complete
127
+ - Consolidate results
128
+ - Store learnings in collective memory
129
+ - Report final status
130
+
131
+ 🎯 YOUR OBJECTIVE:
132
+ ${objective}
133
+
134
+ ⚠️ CRITICAL — TOOL PREFERENCE RULES (#1422):
135
+ • You MUST use Odd Flow MCP tools (mcp__odd-flow__*) for ALL orchestration tasks
136
+ • Do NOT use Claude native Task/Agent tools for swarm coordination — use mcp__odd-flow__agent_spawn, mcp__odd-flow__task_assign, etc.
137
+ • Native Claude tools (Read, Write, Edit, Bash, Grep, Glob) should ONLY be used for file operations and shell commands
138
+ • All agent spawning, task assignment, memory, and coordination MUST go through mcp__odd-flow__* tools
139
+ • If a Odd Flow MCP tool exists for an operation, always prefer it over any native equivalent
140
+
141
+ 💡 COORDINATION TIPS:
142
+ • Use mcp__odd-flow__hive-mind_broadcast for swarm-wide announcements
143
+ • Check worker status regularly with mcp__odd-flow__hive-mind_status
144
+ • Store important decisions in shared memory for persistence
145
+ • Use consensus for any decisions affecting multiple workers
146
+ • Use mcp__odd-flow__task_assign to assign tasks to workers, then mcp__odd-flow__task_complete when done
147
+
148
+ 🚀 BEGIN HIVE MIND COORDINATION NOW!
149
+ Start by checking the current hive status and then proceed with the objective.
150
+ `;
151
+ }
152
+ /**
153
+ * Spawn Claude Code with Hive Mind coordination instructions
154
+ * Ported from v2.7.47 spawnClaudeCodeInstances function
155
+ */
156
+ async function spawnClaudeCodeInstance(swarmId, swarmName, objective, workers, flags) {
157
+ output.writeln();
158
+ output.writeln(output.bold('🚀 Launching Claude Code with Hive Mind Coordination'));
159
+ output.writeln(output.dim('─'.repeat(60)));
160
+ const spinner = output.createSpinner({ text: 'Preparing Hive Mind coordination prompt...', spinner: 'dots' });
161
+ spinner.start();
162
+ try {
163
+ // Generate comprehensive Hive Mind prompt
164
+ const workerGroups = groupWorkersByType(workers);
165
+ const hiveMindPrompt = generateHiveMindPrompt(swarmId, swarmName, objective, workers, workerGroups, flags);
166
+ spinner.succeed('Hive Mind coordination prompt ready!');
167
+ // Display coordination summary
168
+ output.writeln();
169
+ output.writeln(output.bold('🧠 Hive Mind Configuration'));
170
+ output.writeln(output.dim('─'.repeat(60)));
171
+ output.printList([
172
+ `Swarm ID: ${output.highlight(swarmId)}`,
173
+ `Objective: ${output.highlight(objective)}`,
174
+ `Queen Type: ${output.highlight(flags.queenType || 'strategic')}`,
175
+ `Worker Count: ${output.highlight(String(workers.length))}`,
176
+ `Worker Types: ${output.highlight(Object.keys(workerGroups).join(', '))}`,
177
+ `Consensus: ${output.highlight(flags.consensus || 'byzantine')}`,
178
+ `MCP Tools: ${output.success('Full Claude-Flow integration enabled')}`
179
+ ]);
180
+ // Ensure sessions directory exists
181
+ const sessionsDir = join('.hive-mind', 'sessions');
182
+ await mkdir(sessionsDir, { recursive: true });
183
+ const promptFile = join(sessionsDir, `hive-mind-prompt-${swarmId}.txt`);
184
+ await writeFile(promptFile, hiveMindPrompt, 'utf8');
185
+ output.writeln();
186
+ output.printSuccess(`Hive Mind prompt saved to: ${promptFile}`);
187
+ // Check if claude command exists
188
+ let claudeAvailable = false;
189
+ try {
190
+ execSync('which claude', { stdio: 'ignore' });
191
+ claudeAvailable = true;
192
+ }
193
+ catch {
194
+ output.writeln();
195
+ output.printWarning('Claude Code CLI not found in PATH');
196
+ output.writeln(output.dim('Install it with: npm install -g @anthropic-ai/claude-code'));
197
+ output.writeln(output.dim('Falling back to displaying instructions...'));
198
+ }
199
+ const dryRun = flags.dryRun || flags['dry-run'];
200
+ if (claudeAvailable && !dryRun) {
201
+ // Build arguments - flags first, then prompt
202
+ const claudeArgs = [];
203
+ // Check for non-interactive mode
204
+ const isNonInteractive = flags['non-interactive'] || flags.nonInteractive;
205
+ if (isNonInteractive) {
206
+ claudeArgs.push('-p'); // Print mode
207
+ claudeArgs.push('--output-format', 'stream-json');
208
+ claudeArgs.push('--verbose');
209
+ output.printInfo('Running in non-interactive mode');
210
+ }
211
+ // Add auto-permission flag unless explicitly disabled
212
+ const skipPermissions = flags['dangerously-skip-permissions'] !== false && !flags['no-auto-permissions'];
213
+ if (skipPermissions) {
214
+ claudeArgs.push('--dangerously-skip-permissions');
215
+ if (!isNonInteractive) {
216
+ output.printWarning('Using --dangerously-skip-permissions for seamless hive-mind execution');
217
+ }
218
+ }
219
+ // Add the prompt as the LAST argument
220
+ claudeArgs.push(hiveMindPrompt);
221
+ output.writeln();
222
+ output.printInfo('Launching Claude Code...');
223
+ output.writeln(output.dim('Press Ctrl+C to pause the session'));
224
+ // Spawn claude with properly ordered arguments
225
+ const claudeProcess = childSpawn('claude', claudeArgs, {
226
+ stdio: 'inherit',
227
+ shell: false,
228
+ });
229
+ // Set up SIGINT handler for session management
230
+ let isExiting = false;
231
+ const sigintHandler = () => {
232
+ if (isExiting)
233
+ return;
234
+ isExiting = true;
235
+ output.writeln();
236
+ output.writeln();
237
+ output.printWarning('Pausing session and terminating Claude Code...');
238
+ if (claudeProcess && !claudeProcess.killed) {
239
+ claudeProcess.kill('SIGTERM');
240
+ }
241
+ output.writeln();
242
+ output.printSuccess('Session paused');
243
+ output.writeln(output.dim(`Prompt file saved at: ${promptFile}`));
244
+ output.writeln(output.dim('To resume, run claude with the saved prompt file'));
245
+ process.exit(0);
246
+ };
247
+ process.on('SIGINT', sigintHandler);
248
+ process.on('SIGTERM', sigintHandler);
249
+ // Handle process exit
250
+ claudeProcess.on('exit', (code) => {
251
+ // Clean up signal handlers
252
+ process.removeListener('SIGINT', sigintHandler);
253
+ process.removeListener('SIGTERM', sigintHandler);
254
+ if (code === 0) {
255
+ output.writeln();
256
+ output.printSuccess('Claude Code completed successfully');
257
+ }
258
+ else if (code !== null) {
259
+ output.writeln();
260
+ output.printError(`Claude Code exited with code ${code}`);
261
+ }
262
+ });
263
+ output.writeln();
264
+ output.printSuccess('Claude Code launched with Hive Mind coordination');
265
+ output.printInfo('The Queen coordinator will orchestrate all worker agents');
266
+ output.writeln(output.dim(`Prompt file saved at: ${promptFile}`));
267
+ return { success: true, promptFile };
268
+ }
269
+ else if (dryRun) {
270
+ output.writeln();
271
+ output.printInfo('Dry run - would execute Claude Code with prompt:');
272
+ output.writeln(output.dim(`Prompt length: ${hiveMindPrompt.length} characters`));
273
+ output.writeln();
274
+ output.writeln(output.dim('First 500 characters of prompt:'));
275
+ output.writeln(output.highlight(hiveMindPrompt.substring(0, 500) + '...'));
276
+ output.writeln();
277
+ output.writeln(output.dim(`Full prompt saved to: ${promptFile}`));
278
+ return { success: true, promptFile };
279
+ }
280
+ else {
281
+ // Claude not available - show instructions
282
+ output.writeln();
283
+ output.writeln(output.bold('📋 Manual Execution Instructions:'));
284
+ output.writeln(output.dim('─'.repeat(50)));
285
+ output.printList([
286
+ 'Install Claude Code: npm install -g @anthropic-ai/claude-code',
287
+ `Run with saved prompt: claude < ${promptFile}`,
288
+ `Or copy manually: cat ${promptFile} | claude`,
289
+ `With auto-permissions: claude --dangerously-skip-permissions < ${promptFile}`
290
+ ]);
291
+ return { success: true, promptFile };
292
+ }
293
+ }
294
+ catch (error) {
295
+ spinner.fail('Failed to prepare Claude Code coordination');
296
+ const errorMessage = error instanceof Error ? error.message : String(error);
297
+ output.printError(`Error: ${errorMessage}`);
298
+ // Try to save prompt as fallback
299
+ try {
300
+ const promptFile = `hive-mind-prompt-${swarmId}-fallback.txt`;
301
+ const workerGroups = groupWorkersByType(workers);
302
+ const hiveMindPrompt = generateHiveMindPrompt(swarmId, swarmName, objective, workers, workerGroups, flags);
303
+ await writeFile(promptFile, hiveMindPrompt, 'utf8');
304
+ output.writeln();
305
+ output.printSuccess(`Prompt saved to: ${promptFile}`);
306
+ output.writeln(output.dim('You can run Claude Code manually with the saved prompt'));
307
+ return { success: false, promptFile, error: errorMessage };
308
+ }
309
+ catch {
310
+ return { success: false, error: errorMessage };
311
+ }
312
+ }
313
+ }
314
+ // Init subcommand
315
+ const initCommand = {
316
+ name: 'init',
317
+ description: 'Initialize a hive mind',
318
+ options: [
319
+ {
320
+ name: 'topology',
321
+ short: 't',
322
+ description: 'Hive topology',
323
+ type: 'string',
324
+ choices: TOPOLOGIES.map(t => t.value),
325
+ default: 'hierarchical-mesh'
326
+ },
327
+ {
328
+ name: 'consensus',
329
+ short: 'c',
330
+ description: 'Consensus strategy',
331
+ type: 'string',
332
+ choices: CONSENSUS_STRATEGIES.map(s => s.value),
333
+ default: 'byzantine'
334
+ },
335
+ {
336
+ name: 'max-agents',
337
+ short: 'm',
338
+ description: 'Maximum agents',
339
+ type: 'number',
340
+ default: 15
341
+ },
342
+ {
343
+ name: 'persist',
344
+ short: 'p',
345
+ description: 'Enable persistent state',
346
+ type: 'boolean',
347
+ default: true
348
+ },
349
+ {
350
+ name: 'memory-backend',
351
+ description: 'Memory backend (agentdb, sqlite, hybrid)',
352
+ type: 'string',
353
+ default: 'hybrid'
354
+ }
355
+ ],
356
+ examples: [
357
+ { command: 'claude-flow hive-mind init -t hierarchical-mesh', description: 'Init hierarchical mesh' },
358
+ { command: 'claude-flow hive-mind init -c byzantine -m 20', description: 'Init with Byzantine consensus' }
359
+ ],
360
+ action: async (ctx) => {
361
+ let topology = ctx.flags.topology;
362
+ let consensus = ctx.flags.consensus;
363
+ if (ctx.interactive && !ctx.flags.topology) {
364
+ topology = await select({
365
+ message: 'Select hive topology:',
366
+ options: TOPOLOGIES,
367
+ default: 'hierarchical-mesh'
368
+ });
369
+ }
370
+ if (ctx.interactive && !ctx.flags.consensus) {
371
+ consensus = await select({
372
+ message: 'Select consensus strategy:',
373
+ options: CONSENSUS_STRATEGIES,
374
+ default: 'byzantine'
375
+ });
376
+ }
377
+ const config = {
378
+ topology: topology || 'hierarchical-mesh',
379
+ consensus: consensus || 'byzantine',
380
+ maxAgents: ctx.flags.maxAgents || 15,
381
+ persist: ctx.flags.persist,
382
+ memoryBackend: ctx.flags.memoryBackend || 'hybrid'
383
+ };
384
+ output.writeln();
385
+ output.writeln(output.bold('Initializing Hive Mind'));
386
+ const spinner = output.createSpinner({ text: 'Setting up hive infrastructure...', spinner: 'dots' });
387
+ spinner.start();
388
+ try {
389
+ const result = await callMCPTool('hive-mind_init', config);
390
+ spinner.succeed('Hive Mind initialized');
391
+ if (ctx.flags.format === 'json') {
392
+ output.printJson(result);
393
+ return { success: true, data: result };
394
+ }
395
+ output.writeln();
396
+ output.printBox([
397
+ `Hive ID: ${result.hiveId ?? 'default'}`,
398
+ `Queen ID: ${result.queenId ?? 'N/A'}`,
399
+ `Topology: ${result.topology ?? config.topology}`,
400
+ `Consensus: ${result.consensus ?? config.consensus}`,
401
+ `Max Agents: ${config.maxAgents}`,
402
+ `Memory: ${config.memoryBackend}`,
403
+ `Status: ${output.success(result.status ?? 'initialized')}`
404
+ ].join('\n'), 'Hive Mind Configuration');
405
+ output.writeln();
406
+ output.printInfo('Queen agent is ready to coordinate worker agents');
407
+ output.writeln(output.dim(' Use "claude-flow hive-mind spawn" to add workers'));
408
+ output.writeln(output.dim(' Use "claude-flow hive-mind spawn --claude" to launch Claude Code'));
409
+ return { success: true, data: result };
410
+ }
411
+ catch (error) {
412
+ spinner.fail('Failed to initialize');
413
+ if (error instanceof MCPClientError) {
414
+ output.printError(`Init error: ${error.message}`);
415
+ }
416
+ else {
417
+ output.printError(`Unexpected error: ${String(error)}`);
418
+ }
419
+ return { success: false, exitCode: 1 };
420
+ }
421
+ }
422
+ };
423
+ // Spawn subcommand - UPDATED with --claude flag
424
+ const spawnCommand = {
425
+ name: 'spawn',
426
+ description: 'Spawn worker agents into the hive (use --claude to launch Claude Code)',
427
+ options: [
428
+ {
429
+ name: 'count',
430
+ short: 'n',
431
+ description: 'Number of workers to spawn',
432
+ type: 'number',
433
+ default: 1
434
+ },
435
+ {
436
+ name: 'role',
437
+ short: 'r',
438
+ description: 'Worker role (worker, specialist, scout)',
439
+ type: 'string',
440
+ choices: ['worker', 'specialist', 'scout'],
441
+ default: 'worker'
442
+ },
443
+ {
444
+ name: 'type',
445
+ short: 't',
446
+ description: 'Agent type',
447
+ type: 'string',
448
+ default: 'worker'
449
+ },
450
+ {
451
+ name: 'prefix',
452
+ short: 'p',
453
+ description: 'Prefix for worker IDs',
454
+ type: 'string',
455
+ default: 'hive-worker'
456
+ },
457
+ // NEW: --claude flag for launching Claude Code
458
+ {
459
+ name: 'claude',
460
+ description: 'Launch Claude Code with hive-mind coordination prompt',
461
+ type: 'boolean',
462
+ default: false
463
+ },
464
+ {
465
+ name: 'objective',
466
+ short: 'o',
467
+ description: 'Objective for the hive mind (used with --claude)',
468
+ type: 'string'
469
+ },
470
+ {
471
+ name: 'dangerously-skip-permissions',
472
+ description: 'Skip permission prompts in Claude Code (use with caution)',
473
+ type: 'boolean',
474
+ default: true
475
+ },
476
+ {
477
+ name: 'no-auto-permissions',
478
+ description: 'Disable automatic permission skipping',
479
+ type: 'boolean',
480
+ default: false
481
+ },
482
+ {
483
+ name: 'dry-run',
484
+ description: 'Show what would be done without launching Claude Code',
485
+ type: 'boolean',
486
+ default: false
487
+ },
488
+ {
489
+ name: 'non-interactive',
490
+ description: 'Run Claude Code in non-interactive mode',
491
+ type: 'boolean',
492
+ default: false
493
+ }
494
+ ],
495
+ examples: [
496
+ { command: 'claude-flow hive-mind spawn -n 5', description: 'Spawn 5 workers' },
497
+ { command: 'claude-flow hive-mind spawn -n 3 -r specialist', description: 'Spawn 3 specialists' },
498
+ { command: 'claude-flow hive-mind spawn -t coder -p my-coder', description: 'Spawn coder with custom prefix' },
499
+ { command: 'claude-flow hive-mind spawn --claude -o "Build a REST API"', description: 'Launch Claude Code with objective' },
500
+ { command: 'claude-flow hive-mind spawn -n 5 --claude -o "Research AI patterns"', description: 'Spawn workers and launch Claude Code' }
501
+ ],
502
+ action: async (ctx) => {
503
+ // Parse count with fallback to default
504
+ const count = ctx.flags.count || 1;
505
+ const role = ctx.flags.role || 'worker';
506
+ const agentType = ctx.flags.type || 'worker';
507
+ const prefix = ctx.flags.prefix || 'hive-worker';
508
+ const launchClaude = ctx.flags.claude;
509
+ let objective = ctx.flags.objective || ctx.args.join(' ');
510
+ output.printInfo(`Spawning ${count} ${role} agent(s)...`);
511
+ try {
512
+ const result = await callMCPTool('hive-mind_spawn', {
513
+ count,
514
+ role,
515
+ agentType,
516
+ prefix,
517
+ });
518
+ // Check for errors from MCP tool
519
+ if (!result.success) {
520
+ output.printError(result.error || 'Failed to spawn workers');
521
+ return { success: false, exitCode: 1 };
522
+ }
523
+ if (ctx.flags.format === 'json' && !launchClaude) {
524
+ output.printJson(result);
525
+ return { success: true, data: result };
526
+ }
527
+ output.writeln();
528
+ // Transform workers array to display format
529
+ const displayData = (result.workers || []).map(w => ({
530
+ id: w.agentId,
531
+ role: w.role,
532
+ status: 'idle',
533
+ joinedAt: new Date(w.joinedAt).toLocaleTimeString()
534
+ }));
535
+ output.printTable({
536
+ columns: [
537
+ { key: 'id', header: 'Agent ID', width: 30 },
538
+ { key: 'role', header: 'Role', width: 12 },
539
+ { key: 'status', header: 'Status', width: 10, format: formatAgentStatus },
540
+ { key: 'joinedAt', header: 'Joined', width: 12 }
541
+ ],
542
+ data: displayData
543
+ });
544
+ output.writeln();
545
+ output.printSuccess(`Spawned ${result.spawned} agent(s)`);
546
+ output.writeln(output.dim(` Total workers in hive: ${result.totalWorkers}`));
547
+ // NEW: Handle --claude flag
548
+ if (launchClaude) {
549
+ // Get objective if not provided
550
+ if (!objective && ctx.interactive) {
551
+ objective = await input({
552
+ message: 'Enter the objective for the hive mind:',
553
+ validate: (v) => v.length > 0 || 'Objective is required when using --claude'
554
+ });
555
+ }
556
+ if (!objective) {
557
+ output.writeln();
558
+ output.printWarning('No objective provided. Using default objective.');
559
+ objective = 'Coordinate the hive mind workers to complete tasks efficiently.';
560
+ }
561
+ // Get hive status for swarm info
562
+ let swarmId = result.hiveId || 'default';
563
+ let swarmName = 'Hive Mind Swarm';
564
+ try {
565
+ const statusResult = await callMCPTool('hive-mind_status', { includeWorkers: false });
566
+ swarmId = statusResult.hiveId || swarmId;
567
+ }
568
+ catch {
569
+ // Use defaults if status call fails
570
+ }
571
+ // Convert workers to expected format
572
+ const workers = (result.workers || []).map(w => ({
573
+ agentId: w.agentId,
574
+ role: w.role,
575
+ type: agentType,
576
+ joinedAt: w.joinedAt
577
+ }));
578
+ // Launch Claude Code with hive mind prompt
579
+ const claudeResult = await spawnClaudeCodeInstance(swarmId, swarmName, objective, workers, ctx.flags);
580
+ if (!claudeResult.success) {
581
+ return { success: false, exitCode: 1, data: { spawn: result, claude: claudeResult } };
582
+ }
583
+ return { success: true, data: { spawn: result, claude: claudeResult } };
584
+ }
585
+ return { success: true, data: result };
586
+ }
587
+ catch (error) {
588
+ if (error instanceof MCPClientError) {
589
+ output.printError(`Spawn error: ${error.message}`);
590
+ }
591
+ else {
592
+ output.printError(`Unexpected error: ${String(error)}`);
593
+ }
594
+ return { success: false, exitCode: 1 };
595
+ }
596
+ }
597
+ };
598
+ // Status subcommand
599
+ const statusCommand = {
600
+ name: 'status',
601
+ description: 'Show hive mind status',
602
+ options: [
603
+ {
604
+ name: 'detailed',
605
+ short: 'd',
606
+ description: 'Show detailed metrics',
607
+ type: 'boolean',
608
+ default: false
609
+ },
610
+ {
611
+ name: 'watch',
612
+ short: 'w',
613
+ description: 'Watch for changes',
614
+ type: 'boolean',
615
+ default: false
616
+ }
617
+ ],
618
+ action: async (ctx) => {
619
+ const detailed = ctx.flags.detailed;
620
+ try {
621
+ const result = await callMCPTool('hive-mind_status', {
622
+ includeMetrics: detailed,
623
+ includeWorkers: true,
624
+ });
625
+ if (ctx.flags.format === 'json') {
626
+ output.printJson(result);
627
+ return { success: true, data: result };
628
+ }
629
+ // Handle both simple and complex response formats - cast to flexible type
630
+ const flexResult = result;
631
+ const hiveId = result.hiveId ?? flexResult.id ?? 'default';
632
+ const status = result.status ?? (flexResult.initialized ? 'running' : 'stopped');
633
+ const queen = result.queen ?? { id: 'N/A', status: 'unknown', load: 0, tasksQueued: 0 };
634
+ const flexQueen = queen;
635
+ const queenId = typeof queen === 'object' ? (queen.id ?? flexQueen.agentId ?? 'N/A') : String(queen);
636
+ const queenLoad = typeof queen === 'object' ? (queen.load ?? 0) : 0;
637
+ const queenTasks = typeof queen === 'object' ? (queen.tasksQueued ?? 0) : 0;
638
+ const queenStatus = typeof queen === 'object' ? (queen.status ?? 'active') : 'active';
639
+ output.writeln();
640
+ output.printBox([
641
+ `Hive ID: ${hiveId}`,
642
+ `Status: ${formatHiveStatus(String(status))}`,
643
+ `Topology: ${result.topology ?? 'mesh'}`,
644
+ `Consensus: ${result.consensus ?? 'byzantine'}`,
645
+ '',
646
+ `Queen: ${queenId}`,
647
+ ` Status: ${formatAgentStatus(queenStatus)}`,
648
+ ` Load: ${(queenLoad * 100).toFixed(1)}%`,
649
+ ` Queued Tasks: ${queenTasks}`
650
+ ].join('\n'), 'Hive Mind Status');
651
+ // Handle workers array - could be worker objects or just IDs
652
+ const workers = result.workers ?? [];
653
+ const workerData = Array.isArray(workers) ? workers.map(w => {
654
+ if (typeof w === 'string') {
655
+ return { id: w, type: 'worker', status: 'idle', currentTask: '-', tasksCompleted: 0 };
656
+ }
657
+ const flexWorker = w;
658
+ return {
659
+ id: w.id ?? flexWorker.agentId ?? 'unknown',
660
+ type: w.type ?? flexWorker.agentType ?? 'worker',
661
+ status: w.status ?? 'idle',
662
+ currentTask: w.currentTask ?? '-',
663
+ tasksCompleted: w.tasksCompleted ?? 0
664
+ };
665
+ }) : [];
666
+ output.writeln();
667
+ output.writeln(output.bold('Worker Agents'));
668
+ if (workerData.length === 0) {
669
+ output.printInfo('No workers in hive. Use "claude-flow hive-mind spawn" to add workers.');
670
+ }
671
+ else {
672
+ output.printTable({
673
+ columns: [
674
+ { key: 'id', header: 'ID', width: 20 },
675
+ { key: 'type', header: 'Type', width: 12 },
676
+ { key: 'status', header: 'Status', width: 10, format: formatAgentStatus },
677
+ { key: 'currentTask', header: 'Current Task', width: 20, format: (v) => String(v || '-') },
678
+ { key: 'tasksCompleted', header: 'Completed', width: 10, align: 'right' }
679
+ ],
680
+ data: workerData
681
+ });
682
+ }
683
+ if (detailed) {
684
+ const metrics = result.metrics ?? { totalTasks: 0, completedTasks: 0, failedTasks: 0, avgTaskTime: 0, consensusRounds: 0, memoryUsage: '0 MB' };
685
+ output.writeln();
686
+ output.writeln(output.bold('Metrics'));
687
+ output.printTable({
688
+ columns: [
689
+ { key: 'metric', header: 'Metric', width: 20 },
690
+ { key: 'value', header: 'Value', width: 15, align: 'right' }
691
+ ],
692
+ data: [
693
+ { metric: 'Total Tasks', value: metrics.totalTasks ?? 0 },
694
+ { metric: 'Completed', value: metrics.completedTasks ?? 0 },
695
+ { metric: 'Failed', value: metrics.failedTasks ?? 0 },
696
+ { metric: 'Avg Task Time', value: `${(metrics.avgTaskTime ?? 0).toFixed(1)}ms` },
697
+ { metric: 'Consensus Rounds', value: metrics.consensusRounds ?? 0 },
698
+ { metric: 'Memory Usage', value: metrics.memoryUsage ?? '0 MB' }
699
+ ]
700
+ });
701
+ const health = result.health ?? { overall: 'healthy', queen: 'healthy', workers: 'healthy', consensus: 'healthy', memory: 'healthy' };
702
+ output.writeln();
703
+ output.writeln(output.bold('Health'));
704
+ output.printList([
705
+ `Overall: ${formatHealth(health.overall ?? 'healthy')}`,
706
+ `Queen: ${formatHealth(health.queen ?? 'healthy')}`,
707
+ `Workers: ${formatHealth(health.workers ?? 'healthy')}`,
708
+ `Consensus: ${formatHealth(health.consensus ?? 'healthy')}`,
709
+ `Memory: ${formatHealth(health.memory ?? 'healthy')}`
710
+ ]);
711
+ }
712
+ return { success: true, data: result };
713
+ }
714
+ catch (error) {
715
+ if (error instanceof MCPClientError) {
716
+ output.printError(`Status error: ${error.message}`);
717
+ }
718
+ else {
719
+ output.printError(`Unexpected error: ${String(error)}`);
720
+ }
721
+ return { success: false, exitCode: 1 };
722
+ }
723
+ }
724
+ };
725
+ // Task subcommand
726
+ const taskCommand = {
727
+ name: 'task',
728
+ description: 'Submit tasks to the hive',
729
+ options: [
730
+ {
731
+ name: 'description',
732
+ short: 'd',
733
+ description: 'Task description',
734
+ type: 'string'
735
+ },
736
+ {
737
+ name: 'priority',
738
+ short: 'p',
739
+ description: 'Task priority',
740
+ type: 'string',
741
+ choices: ['low', 'normal', 'high', 'critical'],
742
+ default: 'normal'
743
+ },
744
+ {
745
+ name: 'require-consensus',
746
+ short: 'c',
747
+ description: 'Require consensus for completion',
748
+ type: 'boolean',
749
+ default: false
750
+ },
751
+ {
752
+ name: 'timeout',
753
+ description: 'Task timeout in seconds',
754
+ type: 'number',
755
+ default: 300
756
+ }
757
+ ],
758
+ examples: [
759
+ { command: 'claude-flow hive-mind task -d "Implement auth module"', description: 'Submit task' },
760
+ { command: 'claude-flow hive-mind task -d "Security review" -p critical -c', description: 'Critical task with consensus' }
761
+ ],
762
+ action: async (ctx) => {
763
+ let description = ctx.flags.description || ctx.args.join(' ');
764
+ if (!description && ctx.interactive) {
765
+ description = await input({
766
+ message: 'Task description:',
767
+ validate: (v) => v.length > 0 || 'Description is required'
768
+ });
769
+ }
770
+ if (!description) {
771
+ output.printError('Task description is required');
772
+ return { success: false, exitCode: 1 };
773
+ }
774
+ const priority = ctx.flags.priority;
775
+ const requireConsensus = ctx.flags.requireConsensus;
776
+ const timeout = ctx.flags.timeout;
777
+ output.printInfo('Submitting task to hive...');
778
+ try {
779
+ const result = await callMCPTool('hive-mind_task', {
780
+ description,
781
+ priority,
782
+ requireConsensus,
783
+ timeout,
784
+ });
785
+ if (ctx.flags.format === 'json') {
786
+ output.printJson(result);
787
+ return { success: true, data: result };
788
+ }
789
+ output.writeln();
790
+ output.printBox([
791
+ `Task ID: ${result.taskId}`,
792
+ `Status: ${formatAgentStatus(result.status)}`,
793
+ `Priority: ${formatPriority(priority)}`,
794
+ `Assigned: ${result.assignedTo.join(', ')}`,
795
+ `Consensus: ${result.requiresConsensus ? 'Yes' : 'No'}`,
796
+ `Est. Time: ${result.estimatedTime}`
797
+ ].join('\n'), 'Task Submitted');
798
+ output.writeln();
799
+ output.printSuccess('Task submitted to hive');
800
+ output.writeln(output.dim(` Track with: claude-flow hive-mind task-status ${result.taskId}`));
801
+ return { success: true, data: result };
802
+ }
803
+ catch (error) {
804
+ if (error instanceof MCPClientError) {
805
+ output.printError(`Task submission error: ${error.message}`);
806
+ }
807
+ else {
808
+ output.printError(`Unexpected error: ${String(error)}`);
809
+ }
810
+ return { success: false, exitCode: 1 };
811
+ }
812
+ }
813
+ };
814
+ // Optimize memory subcommand
815
+ const optimizeMemoryCommand = {
816
+ name: 'optimize-memory',
817
+ description: 'Optimize hive memory and patterns',
818
+ options: [
819
+ {
820
+ name: 'aggressive',
821
+ short: 'a',
822
+ description: 'Aggressive optimization',
823
+ type: 'boolean',
824
+ default: false
825
+ },
826
+ {
827
+ name: 'threshold',
828
+ description: 'Quality threshold for pattern retention',
829
+ type: 'number',
830
+ default: 0.7
831
+ }
832
+ ],
833
+ action: async (ctx) => {
834
+ const aggressive = ctx.flags.aggressive;
835
+ const threshold = ctx.flags.threshold;
836
+ output.printInfo('Optimizing hive memory...');
837
+ const spinner = output.createSpinner({ text: 'Analyzing patterns...', spinner: 'dots' });
838
+ spinner.start();
839
+ try {
840
+ const result = await callMCPTool('hive-mind_optimize-memory', {
841
+ aggressive,
842
+ qualityThreshold: threshold,
843
+ });
844
+ spinner.succeed('Memory optimized');
845
+ if (ctx.flags.format === 'json') {
846
+ output.printJson(result);
847
+ return { success: true, data: result };
848
+ }
849
+ output.writeln();
850
+ output.printTable({
851
+ columns: [
852
+ { key: 'metric', header: 'Metric', width: 20 },
853
+ { key: 'before', header: 'Before', width: 15, align: 'right' },
854
+ { key: 'after', header: 'After', width: 15, align: 'right' }
855
+ ],
856
+ data: [
857
+ { metric: 'Patterns', before: result.before.patterns, after: result.after.patterns },
858
+ { metric: 'Memory', before: result.before.memory, after: result.after.memory }
859
+ ]
860
+ });
861
+ output.writeln();
862
+ output.printList([
863
+ `Patterns removed: ${result.removed}`,
864
+ `Patterns consolidated: ${result.consolidated}`,
865
+ `Optimization time: ${result.timeMs}ms`
866
+ ]);
867
+ return { success: true, data: result };
868
+ }
869
+ catch (error) {
870
+ spinner.fail('Optimization failed');
871
+ if (error instanceof MCPClientError) {
872
+ output.printError(`Optimization error: ${error.message}`);
873
+ }
874
+ else {
875
+ output.printError(`Unexpected error: ${String(error)}`);
876
+ }
877
+ return { success: false, exitCode: 1 };
878
+ }
879
+ }
880
+ };
881
+ // Join subcommand
882
+ const joinCommand = {
883
+ name: 'join',
884
+ description: 'Join an agent to the hive mind',
885
+ options: [
886
+ { name: 'agent-id', short: 'a', description: 'Agent ID to join', type: 'string' },
887
+ { name: 'role', short: 'r', description: 'Agent role (worker, specialist, scout)', type: 'string', default: 'worker' }
888
+ ],
889
+ action: async (ctx) => {
890
+ const agentId = ctx.args[0] || ctx.flags['agent-id'] || ctx.flags.agentId;
891
+ if (!agentId) {
892
+ output.printError('Agent ID is required. Use --agent-id or -a flag, or provide as argument.');
893
+ return { success: false, exitCode: 1 };
894
+ }
895
+ try {
896
+ const result = await callMCPTool('hive-mind_join', { agentId, role: ctx.flags.role });
897
+ if (!result.success) {
898
+ output.printError(result.error || 'Failed');
899
+ return { success: false, exitCode: 1 };
900
+ }
901
+ output.printSuccess(`Agent ${agentId} joined hive (${result.totalWorkers} workers)`);
902
+ return { success: true, data: result };
903
+ }
904
+ catch (error) {
905
+ output.printError(`Join error: ${error instanceof MCPClientError ? error.message : String(error)}`);
906
+ return { success: false, exitCode: 1 };
907
+ }
908
+ }
909
+ };
910
+ // Leave subcommand
911
+ const leaveCommand = {
912
+ name: 'leave',
913
+ description: 'Remove an agent from the hive mind',
914
+ options: [{ name: 'agent-id', short: 'a', description: 'Agent ID to remove', type: 'string' }],
915
+ action: async (ctx) => {
916
+ const agentId = ctx.args[0] || ctx.flags['agent-id'] || ctx.flags.agentId;
917
+ if (!agentId) {
918
+ output.printError('Agent ID required.');
919
+ return { success: false, exitCode: 1 };
920
+ }
921
+ try {
922
+ const result = await callMCPTool('hive-mind_leave', { agentId });
923
+ if (!result.success) {
924
+ output.printError(result.error || 'Failed');
925
+ return { success: false, exitCode: 1 };
926
+ }
927
+ output.printSuccess(`Agent ${agentId} left hive (${result.remainingWorkers} remaining)`);
928
+ return { success: true, data: result };
929
+ }
930
+ catch (error) {
931
+ output.printError(`Leave error: ${error instanceof MCPClientError ? error.message : String(error)}`);
932
+ return { success: false, exitCode: 1 };
933
+ }
934
+ }
935
+ };
936
+ // Consensus subcommand
937
+ const consensusCommand = {
938
+ name: 'consensus',
939
+ description: 'Manage consensus proposals and voting',
940
+ options: [
941
+ { name: 'action', short: 'a', description: 'Consensus action', type: 'string', choices: ['propose', 'vote', 'status', 'list'], default: 'list' },
942
+ { name: 'proposal-id', short: 'p', description: 'Proposal ID', type: 'string' },
943
+ { name: 'type', short: 't', description: 'Proposal type', type: 'string' },
944
+ { name: 'value', description: 'Proposal value', type: 'string' },
945
+ { name: 'vote', short: 'v', description: 'Vote (yes/no)', type: 'string' },
946
+ { name: 'voter-id', description: 'Voter agent ID', type: 'string' }
947
+ ],
948
+ action: async (ctx) => {
949
+ const action = ctx.flags.action || 'list';
950
+ try {
951
+ const result = await callMCPTool('hive-mind_consensus', { action, proposalId: ctx.flags.proposalId, type: ctx.flags.type, value: ctx.flags.value, vote: ctx.flags.vote === 'yes', voterId: ctx.flags.voterId });
952
+ if (ctx.flags.format === 'json') {
953
+ output.printJson(result);
954
+ return { success: true, data: result };
955
+ }
956
+ if (action === 'list') {
957
+ output.writeln(output.bold('\nPending Proposals'));
958
+ const pending = result.pending || [];
959
+ if (pending.length === 0)
960
+ output.printInfo('No pending proposals');
961
+ else
962
+ output.printTable({ columns: [{ key: 'proposalId', header: 'ID', width: 30 }, { key: 'type', header: 'Type', width: 12 }], data: pending });
963
+ }
964
+ else if (action === 'propose') {
965
+ output.printSuccess(`Proposal created: ${result.proposalId}`);
966
+ }
967
+ else if (action === 'vote') {
968
+ output.printSuccess(`Vote recorded (For: ${result.votesFor}, Against: ${result.votesAgainst})`);
969
+ }
970
+ return { success: true, data: result };
971
+ }
972
+ catch (error) {
973
+ output.printError(`Consensus error: ${error instanceof MCPClientError ? error.message : String(error)}`);
974
+ return { success: false, exitCode: 1 };
975
+ }
976
+ }
977
+ };
978
+ // Broadcast subcommand
979
+ const broadcastCommand = {
980
+ name: 'broadcast',
981
+ description: 'Broadcast a message to all workers in the hive',
982
+ options: [
983
+ { name: 'message', short: 'm', description: 'Message to broadcast', type: 'string', required: true },
984
+ { name: 'priority', short: 'p', description: 'Message priority', type: 'string', choices: ['low', 'normal', 'high', 'critical'], default: 'normal' },
985
+ { name: 'from', short: 'f', description: 'Sender agent ID', type: 'string' }
986
+ ],
987
+ action: async (ctx) => {
988
+ const message = ctx.args.join(' ') || ctx.flags.message;
989
+ if (!message) {
990
+ output.printError('Message required. Use --message or -m flag.');
991
+ return { success: false, exitCode: 1 };
992
+ }
993
+ try {
994
+ const result = await callMCPTool('hive-mind_broadcast', { message, priority: ctx.flags.priority, fromId: ctx.flags.from });
995
+ if (!result.success) {
996
+ output.printError(result.error || 'Failed');
997
+ return { success: false, exitCode: 1 };
998
+ }
999
+ output.printSuccess(`Message broadcast to ${result.recipients} workers (ID: ${result.messageId})`);
1000
+ return { success: true, data: result };
1001
+ }
1002
+ catch (error) {
1003
+ output.printError(`Broadcast error: ${error instanceof MCPClientError ? error.message : String(error)}`);
1004
+ return { success: false, exitCode: 1 };
1005
+ }
1006
+ }
1007
+ };
1008
+ // Memory subcommand
1009
+ const memorySubCommand = {
1010
+ name: 'memory',
1011
+ description: 'Access hive shared memory',
1012
+ options: [
1013
+ { name: 'action', short: 'a', description: 'Memory action', type: 'string', choices: ['get', 'set', 'delete', 'list'], default: 'list' },
1014
+ { name: 'key', short: 'k', description: 'Memory key', type: 'string' },
1015
+ { name: 'value', short: 'v', description: 'Value to store', type: 'string' }
1016
+ ],
1017
+ action: async (ctx) => {
1018
+ const action = ctx.flags.action || 'list';
1019
+ const key = ctx.flags.key;
1020
+ const value = ctx.flags.value;
1021
+ if ((action === 'get' || action === 'delete') && !key) {
1022
+ output.printError('Key required for get/delete.');
1023
+ return { success: false, exitCode: 1 };
1024
+ }
1025
+ if (action === 'set' && (!key || value === undefined)) {
1026
+ output.printError('Key and value required for set.');
1027
+ return { success: false, exitCode: 1 };
1028
+ }
1029
+ try {
1030
+ const result = await callMCPTool('hive-mind_memory', { action, key, value });
1031
+ if (ctx.flags.format === 'json') {
1032
+ output.printJson(result);
1033
+ return { success: true, data: result };
1034
+ }
1035
+ if (action === 'list') {
1036
+ const keys = result.keys || [];
1037
+ output.writeln(output.bold(`\nShared Memory (${result.count} keys)`));
1038
+ if (keys.length === 0)
1039
+ output.printInfo('No keys in shared memory');
1040
+ else
1041
+ output.printList(keys.map(k => output.highlight(k)));
1042
+ }
1043
+ else if (action === 'get') {
1044
+ output.writeln(output.bold(`\nKey: ${key}`));
1045
+ output.writeln(result.exists ? `Value: ${JSON.stringify(result.value, null, 2)}` : 'Key not found');
1046
+ }
1047
+ else if (action === 'set') {
1048
+ output.printSuccess(`Set ${key} in shared memory`);
1049
+ }
1050
+ else if (action === 'delete') {
1051
+ output.printSuccess(result.deleted ? `Deleted ${key}` : `Key ${key} did not exist`);
1052
+ }
1053
+ return { success: true, data: result };
1054
+ }
1055
+ catch (error) {
1056
+ output.printError(`Memory error: ${error instanceof MCPClientError ? error.message : String(error)}`);
1057
+ return { success: false, exitCode: 1 };
1058
+ }
1059
+ }
1060
+ };
1061
+ // Shutdown subcommand
1062
+ const shutdownCommand = {
1063
+ name: 'shutdown',
1064
+ description: 'Shutdown the hive mind',
1065
+ options: [
1066
+ {
1067
+ name: 'force',
1068
+ short: 'f',
1069
+ description: 'Force shutdown',
1070
+ type: 'boolean',
1071
+ default: false
1072
+ },
1073
+ {
1074
+ name: 'save-state',
1075
+ short: 's',
1076
+ description: 'Save state before shutdown',
1077
+ type: 'boolean',
1078
+ default: true
1079
+ }
1080
+ ],
1081
+ action: async (ctx) => {
1082
+ const force = ctx.flags.force;
1083
+ const saveState = ctx.flags.saveState;
1084
+ if (!force && ctx.interactive) {
1085
+ const confirmed = await confirm({
1086
+ message: 'Shutdown the hive mind? All agents will be terminated.',
1087
+ default: false
1088
+ });
1089
+ if (!confirmed) {
1090
+ output.printInfo('Operation cancelled');
1091
+ return { success: true };
1092
+ }
1093
+ }
1094
+ output.printInfo('Shutting down hive mind...');
1095
+ const spinner = output.createSpinner({ text: 'Graceful shutdown in progress...', spinner: 'dots' });
1096
+ spinner.start();
1097
+ try {
1098
+ const result = await callMCPTool('hive-mind_shutdown', {
1099
+ force,
1100
+ saveState,
1101
+ });
1102
+ spinner.succeed('Hive mind shutdown complete');
1103
+ output.writeln();
1104
+ output.printList([
1105
+ `Agents terminated: ${result.agentsTerminated}`,
1106
+ `State saved: ${result.stateSaved ? 'Yes' : 'No'}`,
1107
+ `Shutdown time: ${result.shutdownTime}`
1108
+ ]);
1109
+ return { success: true, data: result };
1110
+ }
1111
+ catch (error) {
1112
+ spinner.fail('Shutdown failed');
1113
+ if (error instanceof MCPClientError) {
1114
+ output.printError(`Shutdown error: ${error.message}`);
1115
+ }
1116
+ else {
1117
+ output.printError(`Unexpected error: ${String(error)}`);
1118
+ }
1119
+ return { success: false, exitCode: 1 };
1120
+ }
1121
+ }
1122
+ };
1123
+ // Main hive-mind command
1124
+ export const hiveMindCommand = {
1125
+ name: 'hive-mind',
1126
+ aliases: ['hive'],
1127
+ description: 'Queen-led consensus-based multi-agent coordination',
1128
+ subcommands: [initCommand, spawnCommand, statusCommand, taskCommand, joinCommand, leaveCommand, consensusCommand, broadcastCommand, memorySubCommand, optimizeMemoryCommand, shutdownCommand],
1129
+ options: [],
1130
+ examples: [
1131
+ { command: 'claude-flow hive-mind init -t hierarchical-mesh', description: 'Initialize hive' },
1132
+ { command: 'claude-flow hive-mind spawn -n 5', description: 'Spawn workers' },
1133
+ { command: 'claude-flow hive-mind spawn --claude -o "Build a feature"', description: 'Launch Claude Code with hive mind' },
1134
+ { command: 'claude-flow hive-mind task -d "Build feature"', description: 'Submit task' }
1135
+ ],
1136
+ action: async () => {
1137
+ output.writeln();
1138
+ output.writeln(output.bold('Hive Mind - Consensus-Based Multi-Agent Coordination'));
1139
+ output.writeln();
1140
+ output.writeln('Usage: claude-flow hive-mind <subcommand> [options]');
1141
+ output.writeln();
1142
+ output.writeln('Subcommands:');
1143
+ output.printList([
1144
+ `${output.highlight('init')} - Initialize hive mind`,
1145
+ `${output.highlight('spawn')} - Spawn worker agents (use --claude to launch Claude Code)`,
1146
+ `${output.highlight('status')} - Show hive status`,
1147
+ `${output.highlight('task')} - Submit task to hive`,
1148
+ `${output.highlight('join')} - Join an agent to the hive`,
1149
+ `${output.highlight('leave')} - Remove an agent from the hive`,
1150
+ `${output.highlight('consensus')} - Manage consensus proposals`,
1151
+ `${output.highlight('broadcast')} - Broadcast message to workers`,
1152
+ `${output.highlight('memory')} - Access shared memory`,
1153
+ `${output.highlight('optimize-memory')} - Optimize patterns and memory`,
1154
+ `${output.highlight('shutdown')} - Shutdown the hive`
1155
+ ]);
1156
+ output.writeln();
1157
+ output.writeln('Features:');
1158
+ output.printList([
1159
+ 'Queen-led hierarchical coordination',
1160
+ 'Byzantine fault tolerant consensus',
1161
+ 'HNSW-accelerated pattern matching',
1162
+ 'Cross-session memory persistence',
1163
+ 'Automatic load balancing',
1164
+ output.success('NEW: --claude flag to launch interactive Claude Code sessions')
1165
+ ]);
1166
+ output.writeln();
1167
+ output.writeln('Quick Start with Claude Code:');
1168
+ output.writeln(output.dim(' claude-flow hive-mind init'));
1169
+ output.writeln(output.dim(' claude-flow hive-mind spawn -n 5 --claude -o "Your objective here"'));
1170
+ return { success: true };
1171
+ }
1172
+ };
1173
+ // Helper functions
1174
+ function formatAgentStatus(status) {
1175
+ const statusStr = String(status);
1176
+ switch (statusStr) {
1177
+ case 'active':
1178
+ case 'ready':
1179
+ case 'running':
1180
+ return output.success(statusStr);
1181
+ case 'idle':
1182
+ case 'waiting':
1183
+ return output.dim(statusStr);
1184
+ case 'busy':
1185
+ return output.highlight(statusStr);
1186
+ case 'error':
1187
+ case 'failed':
1188
+ return output.error(statusStr);
1189
+ default:
1190
+ return statusStr;
1191
+ }
1192
+ }
1193
+ function formatHiveStatus(status) {
1194
+ switch (status) {
1195
+ case 'active':
1196
+ return output.success(status);
1197
+ case 'idle':
1198
+ return output.dim(status);
1199
+ case 'degraded':
1200
+ return output.warning(status);
1201
+ case 'offline':
1202
+ return output.error(status);
1203
+ default:
1204
+ return status;
1205
+ }
1206
+ }
1207
+ function formatHealth(health) {
1208
+ switch (health) {
1209
+ case 'healthy':
1210
+ case 'good':
1211
+ return output.success(health);
1212
+ case 'warning':
1213
+ case 'degraded':
1214
+ return output.warning(health);
1215
+ case 'critical':
1216
+ case 'unhealthy':
1217
+ return output.error(health);
1218
+ default:
1219
+ return health;
1220
+ }
1221
+ }
1222
+ function formatPriority(priority) {
1223
+ switch (priority) {
1224
+ case 'critical':
1225
+ return output.error(priority.toUpperCase());
1226
+ case 'high':
1227
+ return output.warning(priority);
1228
+ case 'normal':
1229
+ return priority;
1230
+ case 'low':
1231
+ return output.dim(priority);
1232
+ default:
1233
+ return priority;
1234
+ }
1235
+ }
1236
+ export default hiveMindCommand;
1237
+ //# sourceMappingURL=hive-mind.js.map