@claude-flow/cli 3.0.2 → 3.1.0-alpha.2

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 (1012) hide show
  1. package/.claude/agents/analysis/analyze-code-quality.md +179 -0
  2. package/.claude/agents/analysis/code-analyzer.md +210 -0
  3. package/.claude/agents/analysis/code-review/analyze-code-quality.md +179 -0
  4. package/.claude/agents/architecture/arch-system-design.md +157 -0
  5. package/.claude/agents/architecture/system-design/arch-system-design.md +155 -0
  6. package/.claude/agents/browser/browser-agent.yaml +182 -0
  7. package/.claude/agents/consensus/byzantine-coordinator.md +63 -0
  8. package/.claude/agents/consensus/crdt-synchronizer.md +997 -0
  9. package/.claude/agents/consensus/gossip-coordinator.md +63 -0
  10. package/.claude/agents/consensus/performance-benchmarker.md +851 -0
  11. package/.claude/agents/consensus/quorum-manager.md +823 -0
  12. package/.claude/agents/consensus/raft-manager.md +63 -0
  13. package/.claude/agents/consensus/security-manager.md +622 -0
  14. package/.claude/agents/core/coder.md +453 -0
  15. package/.claude/agents/core/planner.md +375 -0
  16. package/.claude/agents/core/researcher.md +369 -0
  17. package/.claude/agents/core/reviewer.md +520 -0
  18. package/.claude/agents/core/tester.md +512 -0
  19. package/.claude/agents/custom/test-long-runner.md +44 -0
  20. package/.claude/agents/data/data-ml-model.md +445 -0
  21. package/.claude/agents/data/ml/data-ml-model.md +193 -0
  22. package/.claude/agents/development/backend/dev-backend-api.md +142 -0
  23. package/.claude/agents/development/dev-backend-api.md +345 -0
  24. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
  25. package/.claude/agents/devops/ops-cicd-github.md +165 -0
  26. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
  27. package/.claude/agents/documentation/docs-api-openapi.md +355 -0
  28. package/.claude/agents/flow-nexus/app-store.md +88 -0
  29. package/.claude/agents/flow-nexus/authentication.md +69 -0
  30. package/.claude/agents/flow-nexus/challenges.md +81 -0
  31. package/.claude/agents/flow-nexus/neural-network.md +88 -0
  32. package/.claude/agents/flow-nexus/payments.md +83 -0
  33. package/.claude/agents/flow-nexus/sandbox.md +76 -0
  34. package/.claude/agents/flow-nexus/swarm.md +76 -0
  35. package/.claude/agents/flow-nexus/user-tools.md +96 -0
  36. package/.claude/agents/flow-nexus/workflow.md +84 -0
  37. package/.claude/agents/github/code-review-swarm.md +377 -0
  38. package/.claude/agents/github/github-modes.md +173 -0
  39. package/.claude/agents/github/issue-tracker.md +576 -0
  40. package/.claude/agents/github/multi-repo-swarm.md +553 -0
  41. package/.claude/agents/github/pr-manager.md +438 -0
  42. package/.claude/agents/github/project-board-sync.md +509 -0
  43. package/.claude/agents/github/release-manager.md +605 -0
  44. package/.claude/agents/github/release-swarm.md +583 -0
  45. package/.claude/agents/github/repo-architect.md +398 -0
  46. package/.claude/agents/github/swarm-issue.md +573 -0
  47. package/.claude/agents/github/swarm-pr.md +428 -0
  48. package/.claude/agents/github/sync-coordinator.md +452 -0
  49. package/.claude/agents/github/workflow-automation.md +903 -0
  50. package/.claude/agents/goal/agent.md +816 -0
  51. package/.claude/agents/goal/goal-planner.md +73 -0
  52. package/.claude/agents/optimization/benchmark-suite.md +665 -0
  53. package/.claude/agents/optimization/load-balancer.md +431 -0
  54. package/.claude/agents/optimization/performance-monitor.md +672 -0
  55. package/.claude/agents/optimization/resource-allocator.md +674 -0
  56. package/.claude/agents/optimization/topology-optimizer.md +808 -0
  57. package/.claude/agents/payments/agentic-payments.md +126 -0
  58. package/.claude/agents/sona/sona-learning-optimizer.md +74 -0
  59. package/.claude/agents/sparc/architecture.md +699 -0
  60. package/.claude/agents/sparc/pseudocode.md +520 -0
  61. package/.claude/agents/sparc/refinement.md +802 -0
  62. package/.claude/agents/sparc/specification.md +478 -0
  63. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +225 -0
  64. package/.claude/agents/specialized/spec-mobile-react-native.md +227 -0
  65. package/.claude/agents/sublinear/consensus-coordinator.md +338 -0
  66. package/.claude/agents/sublinear/matrix-optimizer.md +185 -0
  67. package/.claude/agents/sublinear/pagerank-analyzer.md +299 -0
  68. package/.claude/agents/sublinear/performance-optimizer.md +368 -0
  69. package/.claude/agents/sublinear/trading-predictor.md +246 -0
  70. package/.claude/agents/swarm/adaptive-coordinator.md +1127 -0
  71. package/.claude/agents/swarm/hierarchical-coordinator.md +710 -0
  72. package/.claude/agents/swarm/mesh-coordinator.md +963 -0
  73. package/.claude/agents/templates/automation-smart-agent.md +205 -0
  74. package/.claude/agents/templates/base-template-generator.md +268 -0
  75. package/.claude/agents/templates/coordinator-swarm-init.md +90 -0
  76. package/.claude/agents/templates/github-pr-manager.md +177 -0
  77. package/.claude/agents/templates/implementer-sparc-coder.md +259 -0
  78. package/.claude/agents/templates/memory-coordinator.md +187 -0
  79. package/.claude/agents/templates/orchestrator-task.md +139 -0
  80. package/.claude/agents/templates/performance-analyzer.md +199 -0
  81. package/.claude/agents/templates/sparc-coordinator.md +514 -0
  82. package/.claude/agents/testing/production-validator.md +395 -0
  83. package/.claude/agents/testing/tdd-london-swarm.md +244 -0
  84. package/.claude/agents/v3/adr-architect.md +184 -0
  85. package/.claude/agents/v3/aidefence-guardian.md +282 -0
  86. package/.claude/agents/v3/claims-authorizer.md +208 -0
  87. package/.claude/agents/v3/collective-intelligence-coordinator.md +993 -0
  88. package/.claude/agents/v3/ddd-domain-expert.md +220 -0
  89. package/.claude/agents/v3/injection-analyst.md +236 -0
  90. package/.claude/agents/v3/memory-specialist.md +995 -0
  91. package/.claude/agents/v3/performance-engineer.md +1233 -0
  92. package/.claude/agents/v3/pii-detector.md +151 -0
  93. package/.claude/agents/v3/reasoningbank-learner.md +213 -0
  94. package/.claude/agents/v3/security-architect-aidefence.md +410 -0
  95. package/.claude/agents/v3/security-architect.md +867 -0
  96. package/.claude/agents/v3/security-auditor.md +771 -0
  97. package/.claude/agents/v3/sparc-orchestrator.md +182 -0
  98. package/.claude/agents/v3/swarm-memory-manager.md +157 -0
  99. package/.claude/agents/v3/v3-integration-architect.md +205 -0
  100. package/.claude/commands/agents/README.md +50 -0
  101. package/.claude/commands/agents/agent-capabilities.md +140 -0
  102. package/.claude/commands/agents/agent-coordination.md +28 -0
  103. package/.claude/commands/agents/agent-spawning.md +28 -0
  104. package/.claude/commands/agents/agent-types.md +216 -0
  105. package/.claude/commands/agents/health.md +139 -0
  106. package/.claude/commands/agents/list.md +100 -0
  107. package/.claude/commands/agents/logs.md +130 -0
  108. package/.claude/commands/agents/metrics.md +122 -0
  109. package/.claude/commands/agents/pool.md +127 -0
  110. package/.claude/commands/agents/spawn.md +140 -0
  111. package/.claude/commands/agents/status.md +115 -0
  112. package/.claude/commands/agents/stop.md +102 -0
  113. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
  114. package/.claude/commands/analysis/README.md +9 -0
  115. package/.claude/commands/analysis/bottleneck-detect.md +162 -0
  116. package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
  117. package/.claude/commands/analysis/performance-report.md +25 -0
  118. package/.claude/commands/analysis/token-efficiency.md +45 -0
  119. package/.claude/commands/analysis/token-usage.md +25 -0
  120. package/.claude/commands/automation/README.md +9 -0
  121. package/.claude/commands/automation/auto-agent.md +122 -0
  122. package/.claude/commands/automation/self-healing.md +106 -0
  123. package/.claude/commands/automation/session-memory.md +90 -0
  124. package/.claude/commands/automation/smart-agents.md +73 -0
  125. package/.claude/commands/automation/smart-spawn.md +25 -0
  126. package/.claude/commands/automation/workflow-select.md +25 -0
  127. package/.claude/commands/claude-flow-help.md +103 -0
  128. package/.claude/commands/claude-flow-memory.md +107 -0
  129. package/.claude/commands/claude-flow-swarm.md +205 -0
  130. package/.claude/commands/coordination/README.md +9 -0
  131. package/.claude/commands/coordination/agent-spawn.md +25 -0
  132. package/.claude/commands/coordination/init.md +44 -0
  133. package/.claude/commands/coordination/orchestrate.md +43 -0
  134. package/.claude/commands/coordination/spawn.md +45 -0
  135. package/.claude/commands/coordination/swarm-init.md +85 -0
  136. package/.claude/commands/coordination/task-orchestrate.md +25 -0
  137. package/.claude/commands/flow-nexus/app-store.md +124 -0
  138. package/.claude/commands/flow-nexus/challenges.md +120 -0
  139. package/.claude/commands/flow-nexus/login-registration.md +65 -0
  140. package/.claude/commands/flow-nexus/neural-network.md +134 -0
  141. package/.claude/commands/flow-nexus/payments.md +116 -0
  142. package/.claude/commands/flow-nexus/sandbox.md +83 -0
  143. package/.claude/commands/flow-nexus/swarm.md +87 -0
  144. package/.claude/commands/flow-nexus/user-tools.md +152 -0
  145. package/.claude/commands/flow-nexus/workflow.md +115 -0
  146. package/.claude/commands/github/README.md +11 -0
  147. package/.claude/commands/github/code-review-swarm.md +514 -0
  148. package/.claude/commands/github/code-review.md +25 -0
  149. package/.claude/commands/github/github-modes.md +147 -0
  150. package/.claude/commands/github/github-swarm.md +121 -0
  151. package/.claude/commands/github/issue-tracker.md +292 -0
  152. package/.claude/commands/github/issue-triage.md +25 -0
  153. package/.claude/commands/github/multi-repo-swarm.md +519 -0
  154. package/.claude/commands/github/pr-enhance.md +26 -0
  155. package/.claude/commands/github/pr-manager.md +170 -0
  156. package/.claude/commands/github/project-board-sync.md +471 -0
  157. package/.claude/commands/github/release-manager.md +338 -0
  158. package/.claude/commands/github/release-swarm.md +544 -0
  159. package/.claude/commands/github/repo-analyze.md +25 -0
  160. package/.claude/commands/github/repo-architect.md +367 -0
  161. package/.claude/commands/github/swarm-issue.md +482 -0
  162. package/.claude/commands/github/swarm-pr.md +285 -0
  163. package/.claude/commands/github/sync-coordinator.md +301 -0
  164. package/.claude/commands/github/workflow-automation.md +442 -0
  165. package/.claude/commands/hive-mind/README.md +17 -0
  166. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
  167. package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
  168. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
  169. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
  170. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
  171. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
  172. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
  173. package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
  174. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
  175. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
  176. package/.claude/commands/hive-mind/hive-mind.md +27 -0
  177. package/.claude/commands/hooks/README.md +11 -0
  178. package/.claude/commands/hooks/overview.md +58 -0
  179. package/.claude/commands/hooks/post-edit.md +117 -0
  180. package/.claude/commands/hooks/post-task.md +112 -0
  181. package/.claude/commands/hooks/pre-edit.md +113 -0
  182. package/.claude/commands/hooks/pre-task.md +111 -0
  183. package/.claude/commands/hooks/session-end.md +118 -0
  184. package/.claude/commands/hooks/setup.md +103 -0
  185. package/.claude/commands/memory/README.md +9 -0
  186. package/.claude/commands/memory/memory-persist.md +25 -0
  187. package/.claude/commands/memory/memory-search.md +25 -0
  188. package/.claude/commands/memory/memory-usage.md +25 -0
  189. package/.claude/commands/memory/neural.md +47 -0
  190. package/.claude/commands/monitoring/README.md +9 -0
  191. package/.claude/commands/monitoring/agent-metrics.md +25 -0
  192. package/.claude/commands/monitoring/agents.md +44 -0
  193. package/.claude/commands/monitoring/real-time-view.md +25 -0
  194. package/.claude/commands/monitoring/status.md +46 -0
  195. package/.claude/commands/monitoring/swarm-monitor.md +25 -0
  196. package/.claude/commands/optimization/README.md +9 -0
  197. package/.claude/commands/optimization/auto-topology.md +62 -0
  198. package/.claude/commands/optimization/cache-manage.md +25 -0
  199. package/.claude/commands/optimization/parallel-execute.md +25 -0
  200. package/.claude/commands/optimization/parallel-execution.md +50 -0
  201. package/.claude/commands/optimization/topology-optimize.md +25 -0
  202. package/.claude/commands/pair/README.md +261 -0
  203. package/.claude/commands/pair/commands.md +546 -0
  204. package/.claude/commands/pair/config.md +510 -0
  205. package/.claude/commands/pair/examples.md +512 -0
  206. package/.claude/commands/pair/modes.md +348 -0
  207. package/.claude/commands/pair/session.md +407 -0
  208. package/.claude/commands/pair/start.md +209 -0
  209. package/.claude/commands/sparc/analyzer.md +52 -0
  210. package/.claude/commands/sparc/architect.md +53 -0
  211. package/.claude/commands/sparc/ask.md +97 -0
  212. package/.claude/commands/sparc/batch-executor.md +54 -0
  213. package/.claude/commands/sparc/code.md +89 -0
  214. package/.claude/commands/sparc/coder.md +54 -0
  215. package/.claude/commands/sparc/debug.md +83 -0
  216. package/.claude/commands/sparc/debugger.md +54 -0
  217. package/.claude/commands/sparc/designer.md +53 -0
  218. package/.claude/commands/sparc/devops.md +109 -0
  219. package/.claude/commands/sparc/docs-writer.md +80 -0
  220. package/.claude/commands/sparc/documenter.md +54 -0
  221. package/.claude/commands/sparc/innovator.md +54 -0
  222. package/.claude/commands/sparc/integration.md +83 -0
  223. package/.claude/commands/sparc/mcp.md +117 -0
  224. package/.claude/commands/sparc/memory-manager.md +54 -0
  225. package/.claude/commands/sparc/optimizer.md +54 -0
  226. package/.claude/commands/sparc/orchestrator.md +132 -0
  227. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -0
  228. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -0
  229. package/.claude/commands/sparc/researcher.md +54 -0
  230. package/.claude/commands/sparc/reviewer.md +54 -0
  231. package/.claude/commands/sparc/security-review.md +80 -0
  232. package/.claude/commands/sparc/sparc-modes.md +174 -0
  233. package/.claude/commands/sparc/sparc.md +111 -0
  234. package/.claude/commands/sparc/spec-pseudocode.md +80 -0
  235. package/.claude/commands/sparc/supabase-admin.md +348 -0
  236. package/.claude/commands/sparc/swarm-coordinator.md +54 -0
  237. package/.claude/commands/sparc/tdd.md +54 -0
  238. package/.claude/commands/sparc/tester.md +54 -0
  239. package/.claude/commands/sparc/tutorial.md +79 -0
  240. package/.claude/commands/sparc/workflow-manager.md +54 -0
  241. package/.claude/commands/sparc.md +166 -0
  242. package/.claude/commands/stream-chain/pipeline.md +121 -0
  243. package/.claude/commands/stream-chain/run.md +70 -0
  244. package/.claude/commands/swarm/README.md +15 -0
  245. package/.claude/commands/swarm/analysis.md +95 -0
  246. package/.claude/commands/swarm/development.md +96 -0
  247. package/.claude/commands/swarm/examples.md +168 -0
  248. package/.claude/commands/swarm/maintenance.md +102 -0
  249. package/.claude/commands/swarm/optimization.md +117 -0
  250. package/.claude/commands/swarm/research.md +136 -0
  251. package/.claude/commands/swarm/swarm-analysis.md +8 -0
  252. package/.claude/commands/swarm/swarm-background.md +8 -0
  253. package/.claude/commands/swarm/swarm-init.md +19 -0
  254. package/.claude/commands/swarm/swarm-modes.md +8 -0
  255. package/.claude/commands/swarm/swarm-monitor.md +8 -0
  256. package/.claude/commands/swarm/swarm-spawn.md +19 -0
  257. package/.claude/commands/swarm/swarm-status.md +8 -0
  258. package/.claude/commands/swarm/swarm-strategies.md +8 -0
  259. package/.claude/commands/swarm/swarm.md +87 -0
  260. package/.claude/commands/swarm/testing.md +131 -0
  261. package/.claude/commands/training/README.md +9 -0
  262. package/.claude/commands/training/model-update.md +25 -0
  263. package/.claude/commands/training/neural-patterns.md +108 -0
  264. package/.claude/commands/training/neural-train.md +75 -0
  265. package/.claude/commands/training/pattern-learn.md +25 -0
  266. package/.claude/commands/training/specialization.md +63 -0
  267. package/.claude/commands/truth/start.md +143 -0
  268. package/.claude/commands/verify/check.md +50 -0
  269. package/.claude/commands/verify/start.md +128 -0
  270. package/.claude/commands/workflows/README.md +9 -0
  271. package/.claude/commands/workflows/development.md +78 -0
  272. package/.claude/commands/workflows/research.md +63 -0
  273. package/.claude/commands/workflows/workflow-create.md +25 -0
  274. package/.claude/commands/workflows/workflow-execute.md +25 -0
  275. package/.claude/commands/workflows/workflow-export.md +25 -0
  276. package/.claude/helpers/README.md +97 -0
  277. package/.claude/helpers/adr-compliance.sh +186 -0
  278. package/.claude/helpers/auto-commit.sh +178 -0
  279. package/.claude/helpers/checkpoint-manager.sh +251 -0
  280. package/.claude/helpers/daemon-manager.sh +252 -0
  281. package/.claude/helpers/ddd-tracker.sh +144 -0
  282. package/.claude/helpers/github-safe.js +106 -0
  283. package/.claude/helpers/github-setup.sh +28 -0
  284. package/.claude/helpers/guidance-hook.sh +13 -0
  285. package/.claude/helpers/guidance-hooks.sh +102 -0
  286. package/.claude/helpers/health-monitor.sh +108 -0
  287. package/.claude/helpers/learning-hooks.sh +329 -0
  288. package/.claude/helpers/learning-optimizer.sh +127 -0
  289. package/.claude/helpers/learning-service.mjs +1144 -0
  290. package/.claude/helpers/memory.js +83 -0
  291. package/.claude/helpers/metrics-db.mjs +488 -0
  292. package/.claude/helpers/pattern-consolidator.sh +86 -0
  293. package/.claude/helpers/perf-worker.sh +160 -0
  294. package/.claude/helpers/post-commit +16 -0
  295. package/.claude/helpers/pre-commit +26 -0
  296. package/.claude/helpers/quick-start.sh +19 -0
  297. package/.claude/helpers/router.js +66 -0
  298. package/.claude/helpers/security-scanner.sh +127 -0
  299. package/.claude/helpers/session.js +127 -0
  300. package/.claude/helpers/setup-mcp.sh +18 -0
  301. package/.claude/helpers/standard-checkpoint-hooks.sh +189 -0
  302. package/.claude/helpers/statusline-hook.sh +21 -0
  303. package/.claude/helpers/statusline.cjs +509 -0
  304. package/.claude/helpers/statusline.js +316 -0
  305. package/.claude/helpers/swarm-comms.sh +353 -0
  306. package/.claude/helpers/swarm-hooks.sh +761 -0
  307. package/.claude/helpers/swarm-monitor.sh +211 -0
  308. package/.claude/helpers/sync-v3-metrics.sh +245 -0
  309. package/.claude/helpers/update-v3-progress.sh +166 -0
  310. package/.claude/helpers/v3-quick-status.sh +58 -0
  311. package/.claude/helpers/v3.sh +111 -0
  312. package/.claude/helpers/validate-v3-config.sh +216 -0
  313. package/.claude/helpers/worker-manager.sh +170 -0
  314. package/.claude/settings.json +237 -0
  315. package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
  316. package/.claude/skills/agentdb-learning/SKILL.md +545 -0
  317. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
  318. package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
  319. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
  320. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  321. package/.claude/skills/aidefence-scan.md +151 -0
  322. package/.claude/skills/aidefence.yaml +297 -0
  323. package/.claude/skills/browser/SKILL.md +204 -0
  324. package/.claude/skills/flow-nexus-neural/SKILL.md +738 -0
  325. package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -0
  326. package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -0
  327. package/.claude/skills/github-code-review/SKILL.md +1140 -0
  328. package/.claude/skills/github-multi-repo/SKILL.md +874 -0
  329. package/.claude/skills/github-project-management/SKILL.md +1277 -0
  330. package/.claude/skills/github-release-management/SKILL.md +1081 -0
  331. package/.claude/skills/github-workflow-automation/SKILL.md +1065 -0
  332. package/.claude/skills/hive-mind-advanced/SKILL.md +712 -0
  333. package/.claude/skills/hooks-automation/SKILL.md +1201 -0
  334. package/.claude/skills/pair-programming/SKILL.md +1202 -0
  335. package/.claude/skills/performance-analysis/SKILL.md +563 -0
  336. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
  337. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
  338. package/.claude/skills/secure-review.md +181 -0
  339. package/{.claude-flow → .claude/skills/skill-builder/.claude-flow}/metrics/performance.json +3 -3
  340. package/.claude/skills/skill-builder/.claude-flow/metrics/task-metrics.json +10 -0
  341. package/.claude/skills/skill-builder/SKILL.md +910 -0
  342. package/.claude/skills/sparc-methodology/SKILL.md +1115 -0
  343. package/.claude/skills/stream-chain/SKILL.md +563 -0
  344. package/.claude/skills/swarm-advanced/SKILL.md +973 -0
  345. package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  346. package/.claude/skills/v3-cli-modernization/SKILL.md +872 -0
  347. package/.claude/skills/v3-core-implementation/SKILL.md +797 -0
  348. package/.claude/skills/v3-ddd-architecture/SKILL.md +442 -0
  349. package/.claude/skills/v3-integration-deep/SKILL.md +241 -0
  350. package/.claude/skills/v3-mcp-optimization/SKILL.md +777 -0
  351. package/.claude/skills/v3-memory-unification/SKILL.md +174 -0
  352. package/.claude/skills/v3-performance-optimization/SKILL.md +390 -0
  353. package/.claude/skills/v3-security-overhaul/SKILL.md +82 -0
  354. package/.claude/skills/v3-swarm-coordination/SKILL.md +340 -0
  355. package/.claude/skills/verification-quality/SKILL.md +649 -0
  356. package/.claude/skills/worker-benchmarks/skill.md +135 -0
  357. package/.claude/skills/worker-integration/skill.md +154 -0
  358. package/README.md +6512 -850
  359. package/bin/cli.js +144 -6
  360. package/bin/mcp-server.js +189 -0
  361. package/dist/src/benchmarks/pretrain/index.d.ts +58 -0
  362. package/dist/src/benchmarks/pretrain/index.d.ts.map +1 -0
  363. package/dist/src/benchmarks/pretrain/index.js +404 -0
  364. package/dist/src/benchmarks/pretrain/index.js.map +1 -0
  365. package/dist/src/commands/agent.d.ts.map +1 -1
  366. package/dist/src/commands/agent.js +49 -33
  367. package/dist/src/commands/agent.js.map +1 -1
  368. package/dist/src/commands/analyze.d.ts +19 -0
  369. package/dist/src/commands/analyze.d.ts.map +1 -0
  370. package/dist/src/commands/analyze.js +1823 -0
  371. package/dist/src/commands/analyze.js.map +1 -0
  372. package/dist/src/commands/benchmark.d.ts +10 -0
  373. package/dist/src/commands/benchmark.d.ts.map +1 -0
  374. package/dist/src/commands/benchmark.js +459 -0
  375. package/dist/src/commands/benchmark.js.map +1 -0
  376. package/dist/src/commands/categories.d.ts +75 -0
  377. package/dist/src/commands/categories.d.ts.map +1 -0
  378. package/dist/src/commands/categories.js +178 -0
  379. package/dist/src/commands/categories.js.map +1 -0
  380. package/dist/src/commands/claims.d.ts +10 -0
  381. package/dist/src/commands/claims.d.ts.map +1 -0
  382. package/dist/src/commands/claims.js +373 -0
  383. package/dist/src/commands/claims.js.map +1 -0
  384. package/dist/src/commands/completions.d.ts +10 -0
  385. package/dist/src/commands/completions.d.ts.map +1 -0
  386. package/dist/src/commands/completions.js +539 -0
  387. package/dist/src/commands/completions.js.map +1 -0
  388. package/dist/src/commands/config.js +1 -1
  389. package/dist/src/commands/config.js.map +1 -1
  390. package/dist/src/commands/daemon.d.ts +8 -0
  391. package/dist/src/commands/daemon.d.ts.map +1 -0
  392. package/dist/src/commands/daemon.js +593 -0
  393. package/dist/src/commands/daemon.js.map +1 -0
  394. package/dist/src/commands/deployment.d.ts +10 -0
  395. package/dist/src/commands/deployment.d.ts.map +1 -0
  396. package/dist/src/commands/deployment.js +289 -0
  397. package/dist/src/commands/deployment.js.map +1 -0
  398. package/dist/src/commands/doctor.d.ts +10 -0
  399. package/dist/src/commands/doctor.d.ts.map +1 -0
  400. package/dist/src/commands/doctor.js +571 -0
  401. package/dist/src/commands/doctor.js.map +1 -0
  402. package/dist/src/commands/embeddings.d.ts +18 -0
  403. package/dist/src/commands/embeddings.d.ts.map +1 -0
  404. package/dist/src/commands/embeddings.js +1576 -0
  405. package/dist/src/commands/embeddings.js.map +1 -0
  406. package/dist/src/commands/guidance.d.ts +8 -0
  407. package/dist/src/commands/guidance.d.ts.map +1 -0
  408. package/dist/src/commands/guidance.js +560 -0
  409. package/dist/src/commands/guidance.js.map +1 -0
  410. package/dist/src/commands/hive-mind.d.ts +3 -0
  411. package/dist/src/commands/hive-mind.d.ts.map +1 -1
  412. package/dist/src/commands/hive-mind.js +673 -70
  413. package/dist/src/commands/hive-mind.js.map +1 -1
  414. package/dist/src/commands/hooks.d.ts.map +1 -1
  415. package/dist/src/commands/hooks.js +1503 -52
  416. package/dist/src/commands/hooks.js.map +1 -1
  417. package/dist/src/commands/index.d.ts +70 -13
  418. package/dist/src/commands/index.d.ts.map +1 -1
  419. package/dist/src/commands/index.js +287 -33
  420. package/dist/src/commands/index.js.map +1 -1
  421. package/dist/src/commands/init.d.ts.map +1 -1
  422. package/dist/src/commands/init.js +259 -13
  423. package/dist/src/commands/init.js.map +1 -1
  424. package/dist/src/commands/issues.d.ts +21 -0
  425. package/dist/src/commands/issues.d.ts.map +1 -0
  426. package/dist/src/commands/issues.js +567 -0
  427. package/dist/src/commands/issues.js.map +1 -0
  428. package/dist/src/commands/mcp.d.ts.map +1 -1
  429. package/dist/src/commands/mcp.js +75 -37
  430. package/dist/src/commands/mcp.js.map +1 -1
  431. package/dist/src/commands/memory.d.ts.map +1 -1
  432. package/dist/src/commands/memory.js +355 -74
  433. package/dist/src/commands/memory.js.map +1 -1
  434. package/dist/src/commands/migrate.d.ts.map +1 -1
  435. package/dist/src/commands/migrate.js +15 -3
  436. package/dist/src/commands/migrate.js.map +1 -1
  437. package/dist/src/commands/neural.d.ts +10 -0
  438. package/dist/src/commands/neural.d.ts.map +1 -0
  439. package/dist/src/commands/neural.js +1448 -0
  440. package/dist/src/commands/neural.js.map +1 -0
  441. package/dist/src/commands/performance.d.ts +10 -0
  442. package/dist/src/commands/performance.d.ts.map +1 -0
  443. package/dist/src/commands/performance.js +579 -0
  444. package/dist/src/commands/performance.js.map +1 -0
  445. package/dist/src/commands/plugins.d.ts +11 -0
  446. package/dist/src/commands/plugins.d.ts.map +1 -0
  447. package/dist/src/commands/plugins.js +820 -0
  448. package/dist/src/commands/plugins.js.map +1 -0
  449. package/dist/src/commands/progress.d.ts +11 -0
  450. package/dist/src/commands/progress.d.ts.map +1 -0
  451. package/dist/src/commands/progress.js +259 -0
  452. package/dist/src/commands/progress.js.map +1 -0
  453. package/dist/src/commands/providers.d.ts +10 -0
  454. package/dist/src/commands/providers.d.ts.map +1 -0
  455. package/dist/src/commands/providers.js +232 -0
  456. package/dist/src/commands/providers.js.map +1 -0
  457. package/dist/src/commands/route.d.ts +16 -0
  458. package/dist/src/commands/route.d.ts.map +1 -0
  459. package/dist/src/commands/route.js +813 -0
  460. package/dist/src/commands/route.js.map +1 -0
  461. package/dist/src/commands/ruvector/backup.d.ts +11 -0
  462. package/dist/src/commands/ruvector/backup.d.ts.map +1 -0
  463. package/dist/src/commands/ruvector/backup.js +746 -0
  464. package/dist/src/commands/ruvector/backup.js.map +1 -0
  465. package/dist/src/commands/ruvector/benchmark.d.ts +11 -0
  466. package/dist/src/commands/ruvector/benchmark.d.ts.map +1 -0
  467. package/dist/src/commands/ruvector/benchmark.js +480 -0
  468. package/dist/src/commands/ruvector/benchmark.js.map +1 -0
  469. package/dist/src/commands/ruvector/import.d.ts +18 -0
  470. package/dist/src/commands/ruvector/import.d.ts.map +1 -0
  471. package/dist/src/commands/ruvector/import.js +349 -0
  472. package/dist/src/commands/ruvector/import.js.map +1 -0
  473. package/dist/src/commands/ruvector/index.d.ts +29 -0
  474. package/dist/src/commands/ruvector/index.d.ts.map +1 -0
  475. package/dist/src/commands/ruvector/index.js +129 -0
  476. package/dist/src/commands/ruvector/index.js.map +1 -0
  477. package/dist/src/commands/ruvector/init.d.ts +11 -0
  478. package/dist/src/commands/ruvector/init.d.ts.map +1 -0
  479. package/dist/src/commands/ruvector/init.js +431 -0
  480. package/dist/src/commands/ruvector/init.js.map +1 -0
  481. package/dist/src/commands/ruvector/migrate.d.ts +11 -0
  482. package/dist/src/commands/ruvector/migrate.d.ts.map +1 -0
  483. package/dist/src/commands/ruvector/migrate.js +481 -0
  484. package/dist/src/commands/ruvector/migrate.js.map +1 -0
  485. package/dist/src/commands/ruvector/optimize.d.ts +11 -0
  486. package/dist/src/commands/ruvector/optimize.d.ts.map +1 -0
  487. package/dist/src/commands/ruvector/optimize.js +503 -0
  488. package/dist/src/commands/ruvector/optimize.js.map +1 -0
  489. package/dist/src/commands/ruvector/setup.d.ts +18 -0
  490. package/dist/src/commands/ruvector/setup.d.ts.map +1 -0
  491. package/dist/src/commands/ruvector/setup.js +765 -0
  492. package/dist/src/commands/ruvector/setup.js.map +1 -0
  493. package/dist/src/commands/ruvector/status.d.ts +11 -0
  494. package/dist/src/commands/ruvector/status.d.ts.map +1 -0
  495. package/dist/src/commands/ruvector/status.js +456 -0
  496. package/dist/src/commands/ruvector/status.js.map +1 -0
  497. package/dist/src/commands/security.d.ts +10 -0
  498. package/dist/src/commands/security.d.ts.map +1 -0
  499. package/dist/src/commands/security.js +575 -0
  500. package/dist/src/commands/security.js.map +1 -0
  501. package/dist/src/commands/session.js +9 -9
  502. package/dist/src/commands/start.d.ts.map +1 -1
  503. package/dist/src/commands/start.js +27 -7
  504. package/dist/src/commands/start.js.map +1 -1
  505. package/dist/src/commands/status.js +7 -7
  506. package/dist/src/commands/swarm.d.ts.map +1 -1
  507. package/dist/src/commands/swarm.js +214 -39
  508. package/dist/src/commands/swarm.js.map +1 -1
  509. package/dist/src/commands/task.js +8 -8
  510. package/dist/src/commands/transfer-store.d.ts +13 -0
  511. package/dist/src/commands/transfer-store.d.ts.map +1 -0
  512. package/dist/src/commands/transfer-store.js +428 -0
  513. package/dist/src/commands/transfer-store.js.map +1 -0
  514. package/dist/src/commands/update.d.ts +8 -0
  515. package/dist/src/commands/update.d.ts.map +1 -0
  516. package/dist/src/commands/update.js +276 -0
  517. package/dist/src/commands/update.js.map +1 -0
  518. package/dist/src/commands/workflow.js +5 -5
  519. package/dist/src/config-adapter.js +2 -1
  520. package/dist/src/config-adapter.js.map +1 -1
  521. package/dist/src/index.d.ts +22 -1
  522. package/dist/src/index.d.ts.map +1 -1
  523. package/dist/src/index.js +153 -12
  524. package/dist/src/index.js.map +1 -1
  525. package/dist/src/init/claudemd-generator.d.ts +15 -5
  526. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  527. package/dist/src/init/claudemd-generator.js +399 -539
  528. package/dist/src/init/claudemd-generator.js.map +1 -1
  529. package/dist/src/init/executor.d.ts +24 -0
  530. package/dist/src/init/executor.d.ts.map +1 -1
  531. package/dist/src/init/executor.js +874 -38
  532. package/dist/src/init/executor.js.map +1 -1
  533. package/dist/src/init/helpers-generator.js +1 -1
  534. package/dist/src/init/helpers-generator.js.map +1 -1
  535. package/dist/src/init/index.d.ts +4 -3
  536. package/dist/src/init/index.d.ts.map +1 -1
  537. package/dist/src/init/index.js +2 -2
  538. package/dist/src/init/index.js.map +1 -1
  539. package/dist/src/init/mcp-generator.d.ts +9 -0
  540. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  541. package/dist/src/init/mcp-generator.js +57 -28
  542. package/dist/src/init/mcp-generator.js.map +1 -1
  543. package/dist/src/init/settings-generator.d.ts.map +1 -1
  544. package/dist/src/init/settings-generator.js +126 -89
  545. package/dist/src/init/settings-generator.js.map +1 -1
  546. package/dist/src/init/statusline-generator.d.ts +6 -0
  547. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  548. package/dist/src/init/statusline-generator.js +1119 -84
  549. package/dist/src/init/statusline-generator.js.map +1 -1
  550. package/dist/src/init/types.d.ts +37 -2
  551. package/dist/src/init/types.d.ts.map +1 -1
  552. package/dist/src/init/types.js +40 -3
  553. package/dist/src/init/types.js.map +1 -1
  554. package/dist/src/mcp-client.d.ts +3 -3
  555. package/dist/src/mcp-client.d.ts.map +1 -1
  556. package/dist/src/mcp-client.js +46 -4
  557. package/dist/src/mcp-client.js.map +1 -1
  558. package/dist/src/mcp-server.d.ts +9 -1
  559. package/dist/src/mcp-server.d.ts.map +1 -1
  560. package/dist/src/mcp-server.js +194 -46
  561. package/dist/src/mcp-server.js.map +1 -1
  562. package/dist/src/mcp-tools/agent-tools.d.ts +2 -1
  563. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  564. package/dist/src/mcp-tools/agent-tools.js +479 -20
  565. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  566. package/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
  567. package/dist/src/mcp-tools/analyze-tools.d.ts.map +1 -0
  568. package/dist/src/mcp-tools/analyze-tools.js +317 -0
  569. package/dist/src/mcp-tools/analyze-tools.js.map +1 -0
  570. package/dist/src/mcp-tools/auto-install.d.ts +83 -0
  571. package/dist/src/mcp-tools/auto-install.d.ts.map +1 -0
  572. package/dist/src/mcp-tools/auto-install.js +131 -0
  573. package/dist/src/mcp-tools/auto-install.js.map +1 -0
  574. package/dist/src/mcp-tools/browser-tools.d.ts +13 -0
  575. package/dist/src/mcp-tools/browser-tools.d.ts.map +1 -0
  576. package/dist/src/mcp-tools/browser-tools.js +550 -0
  577. package/dist/src/mcp-tools/browser-tools.js.map +1 -0
  578. package/dist/src/mcp-tools/claims-tools.d.ts +12 -0
  579. package/dist/src/mcp-tools/claims-tools.d.ts.map +1 -0
  580. package/dist/src/mcp-tools/claims-tools.js +732 -0
  581. package/dist/src/mcp-tools/claims-tools.js.map +1 -0
  582. package/dist/src/mcp-tools/config-tools.d.ts +1 -1
  583. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  584. package/dist/src/mcp-tools/config-tools.js +266 -19
  585. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  586. package/dist/src/mcp-tools/coordination-tools.d.ts +13 -0
  587. package/dist/src/mcp-tools/coordination-tools.d.ts.map +1 -0
  588. package/dist/src/mcp-tools/coordination-tools.js +486 -0
  589. package/dist/src/mcp-tools/coordination-tools.js.map +1 -0
  590. package/dist/src/mcp-tools/daa-tools.d.ts +13 -0
  591. package/dist/src/mcp-tools/daa-tools.d.ts.map +1 -0
  592. package/dist/src/mcp-tools/daa-tools.js +426 -0
  593. package/dist/src/mcp-tools/daa-tools.js.map +1 -0
  594. package/dist/src/mcp-tools/embeddings-tools.d.ts +9 -0
  595. package/dist/src/mcp-tools/embeddings-tools.d.ts.map +1 -0
  596. package/dist/src/mcp-tools/embeddings-tools.js +782 -0
  597. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -0
  598. package/dist/src/mcp-tools/github-tools.d.ts +13 -0
  599. package/dist/src/mcp-tools/github-tools.d.ts.map +1 -0
  600. package/dist/src/mcp-tools/github-tools.js +373 -0
  601. package/dist/src/mcp-tools/github-tools.js.map +1 -0
  602. package/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
  603. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -0
  604. package/dist/src/mcp-tools/hive-mind-tools.js +583 -0
  605. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -0
  606. package/dist/src/mcp-tools/hooks-tools.d.ts +3 -0
  607. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  608. package/dist/src/mcp-tools/hooks-tools.js +1307 -182
  609. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  610. package/dist/src/mcp-tools/index.d.ts +9 -0
  611. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  612. package/dist/src/mcp-tools/index.js +9 -0
  613. package/dist/src/mcp-tools/index.js.map +1 -1
  614. package/dist/src/mcp-tools/memory-tools.d.ts +8 -2
  615. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  616. package/dist/src/mcp-tools/memory-tools.js +376 -132
  617. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  618. package/dist/src/mcp-tools/neural-tools.d.ts +16 -0
  619. package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -0
  620. package/dist/src/mcp-tools/neural-tools.js +456 -0
  621. package/dist/src/mcp-tools/neural-tools.js.map +1 -0
  622. package/dist/src/mcp-tools/performance-tools.d.ts +16 -0
  623. package/dist/src/mcp-tools/performance-tools.d.ts.map +1 -0
  624. package/dist/src/mcp-tools/performance-tools.js +534 -0
  625. package/dist/src/mcp-tools/performance-tools.js.map +1 -0
  626. package/dist/src/mcp-tools/progress-tools.d.ts +14 -0
  627. package/dist/src/mcp-tools/progress-tools.d.ts.map +1 -0
  628. package/dist/src/mcp-tools/progress-tools.js +348 -0
  629. package/dist/src/mcp-tools/progress-tools.js.map +1 -0
  630. package/dist/src/mcp-tools/security-tools.d.ts +18 -0
  631. package/dist/src/mcp-tools/security-tools.d.ts.map +1 -0
  632. package/dist/src/mcp-tools/security-tools.js +434 -0
  633. package/dist/src/mcp-tools/security-tools.js.map +1 -0
  634. package/dist/src/mcp-tools/session-tools.d.ts +1 -1
  635. package/dist/src/mcp-tools/session-tools.d.ts.map +1 -1
  636. package/dist/src/mcp-tools/session-tools.js +241 -26
  637. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  638. package/dist/src/mcp-tools/swarm-tools.js +4 -4
  639. package/dist/src/mcp-tools/system-tools.d.ts +13 -0
  640. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -0
  641. package/dist/src/mcp-tools/system-tools.js +314 -0
  642. package/dist/src/mcp-tools/system-tools.js.map +1 -0
  643. package/dist/src/mcp-tools/task-tools.d.ts +1 -1
  644. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  645. package/dist/src/mcp-tools/task-tools.js +223 -21
  646. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  647. package/dist/src/mcp-tools/terminal-tools.d.ts +13 -0
  648. package/dist/src/mcp-tools/terminal-tools.d.ts.map +1 -0
  649. package/dist/src/mcp-tools/terminal-tools.js +246 -0
  650. package/dist/src/mcp-tools/terminal-tools.js.map +1 -0
  651. package/dist/src/mcp-tools/transfer-tools.d.ts +14 -0
  652. package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -0
  653. package/dist/src/mcp-tools/transfer-tools.js +396 -0
  654. package/dist/src/mcp-tools/transfer-tools.js.map +1 -0
  655. package/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
  656. package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -0
  657. package/dist/src/mcp-tools/workflow-tools.js +481 -0
  658. package/dist/src/mcp-tools/workflow-tools.js.map +1 -0
  659. package/dist/src/memory/ewc-consolidation.d.ts +271 -0
  660. package/dist/src/memory/ewc-consolidation.d.ts.map +1 -0
  661. package/dist/src/memory/ewc-consolidation.js +542 -0
  662. package/dist/src/memory/ewc-consolidation.js.map +1 -0
  663. package/dist/src/memory/intelligence.d.ts +285 -0
  664. package/dist/src/memory/intelligence.d.ts.map +1 -0
  665. package/dist/src/memory/intelligence.js +766 -0
  666. package/dist/src/memory/intelligence.js.map +1 -0
  667. package/dist/src/memory/memory-initializer.d.ts +395 -0
  668. package/dist/src/memory/memory-initializer.d.ts.map +1 -0
  669. package/dist/src/memory/memory-initializer.js +1924 -0
  670. package/dist/src/memory/memory-initializer.js.map +1 -0
  671. package/dist/src/memory/sona-optimizer.d.ts +227 -0
  672. package/dist/src/memory/sona-optimizer.d.ts.map +1 -0
  673. package/dist/src/memory/sona-optimizer.js +633 -0
  674. package/dist/src/memory/sona-optimizer.js.map +1 -0
  675. package/dist/src/output.d.ts +16 -0
  676. package/dist/src/output.d.ts.map +1 -1
  677. package/dist/src/output.js +42 -0
  678. package/dist/src/output.js.map +1 -1
  679. package/dist/src/parser.d.ts.map +1 -1
  680. package/dist/src/parser.js +27 -3
  681. package/dist/src/parser.js.map +1 -1
  682. package/dist/src/plugins/manager.d.ts +133 -0
  683. package/dist/src/plugins/manager.d.ts.map +1 -0
  684. package/dist/src/plugins/manager.js +383 -0
  685. package/dist/src/plugins/manager.js.map +1 -0
  686. package/dist/src/plugins/store/discovery.d.ts +88 -0
  687. package/dist/src/plugins/store/discovery.d.ts.map +1 -0
  688. package/dist/src/plugins/store/discovery.js +1147 -0
  689. package/dist/src/plugins/store/discovery.js.map +1 -0
  690. package/dist/src/plugins/store/index.d.ts +76 -0
  691. package/dist/src/plugins/store/index.d.ts.map +1 -0
  692. package/dist/src/plugins/store/index.js +141 -0
  693. package/dist/src/plugins/store/index.js.map +1 -0
  694. package/dist/src/plugins/store/search.d.ts +46 -0
  695. package/dist/src/plugins/store/search.d.ts.map +1 -0
  696. package/dist/src/plugins/store/search.js +230 -0
  697. package/dist/src/plugins/store/search.js.map +1 -0
  698. package/dist/src/plugins/store/types.d.ts +274 -0
  699. package/dist/src/plugins/store/types.d.ts.map +1 -0
  700. package/dist/src/plugins/store/types.js +7 -0
  701. package/dist/src/plugins/store/types.js.map +1 -0
  702. package/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
  703. package/dist/src/plugins/tests/demo-plugin-store.d.ts.map +1 -0
  704. package/dist/src/plugins/tests/demo-plugin-store.js +126 -0
  705. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -0
  706. package/dist/src/plugins/tests/standalone-test.d.ts +12 -0
  707. package/dist/src/plugins/tests/standalone-test.d.ts.map +1 -0
  708. package/dist/src/plugins/tests/standalone-test.js +188 -0
  709. package/dist/src/plugins/tests/standalone-test.js.map +1 -0
  710. package/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
  711. package/dist/src/plugins/tests/test-plugin-store.d.ts.map +1 -0
  712. package/dist/src/plugins/tests/test-plugin-store.js +206 -0
  713. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -0
  714. package/dist/src/production/circuit-breaker.d.ts +101 -0
  715. package/dist/src/production/circuit-breaker.d.ts.map +1 -0
  716. package/dist/src/production/circuit-breaker.js +241 -0
  717. package/dist/src/production/circuit-breaker.js.map +1 -0
  718. package/dist/src/production/error-handler.d.ts +92 -0
  719. package/dist/src/production/error-handler.d.ts.map +1 -0
  720. package/dist/src/production/error-handler.js +299 -0
  721. package/dist/src/production/error-handler.js.map +1 -0
  722. package/dist/src/production/index.d.ts +23 -0
  723. package/dist/src/production/index.d.ts.map +1 -0
  724. package/dist/src/production/index.js +18 -0
  725. package/dist/src/production/index.js.map +1 -0
  726. package/dist/src/production/monitoring.d.ts +161 -0
  727. package/dist/src/production/monitoring.d.ts.map +1 -0
  728. package/dist/src/production/monitoring.js +356 -0
  729. package/dist/src/production/monitoring.js.map +1 -0
  730. package/dist/src/production/rate-limiter.d.ts +80 -0
  731. package/dist/src/production/rate-limiter.d.ts.map +1 -0
  732. package/dist/src/production/rate-limiter.js +201 -0
  733. package/dist/src/production/rate-limiter.js.map +1 -0
  734. package/dist/src/production/retry.d.ts +48 -0
  735. package/dist/src/production/retry.d.ts.map +1 -0
  736. package/dist/src/production/retry.js +179 -0
  737. package/dist/src/production/retry.js.map +1 -0
  738. package/dist/src/runtime/headless.d.ts +60 -0
  739. package/dist/src/runtime/headless.d.ts.map +1 -0
  740. package/dist/src/runtime/headless.js +284 -0
  741. package/dist/src/runtime/headless.js.map +1 -0
  742. package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  743. package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
  744. package/dist/src/ruvector/ast-analyzer.js +277 -0
  745. package/dist/src/ruvector/ast-analyzer.js.map +1 -0
  746. package/dist/src/ruvector/coverage-router.d.ts +160 -0
  747. package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
  748. package/dist/src/ruvector/coverage-router.js +529 -0
  749. package/dist/src/ruvector/coverage-router.js.map +1 -0
  750. package/dist/src/ruvector/coverage-tools.d.ts +33 -0
  751. package/dist/src/ruvector/coverage-tools.d.ts.map +1 -0
  752. package/dist/src/ruvector/coverage-tools.js +157 -0
  753. package/dist/src/ruvector/coverage-tools.js.map +1 -0
  754. package/dist/src/ruvector/diff-classifier.d.ts +175 -0
  755. package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
  756. package/dist/src/ruvector/diff-classifier.js +698 -0
  757. package/dist/src/ruvector/diff-classifier.js.map +1 -0
  758. package/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
  759. package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -0
  760. package/dist/src/ruvector/enhanced-model-router.js +519 -0
  761. package/dist/src/ruvector/enhanced-model-router.js.map +1 -0
  762. package/dist/src/ruvector/flash-attention.d.ts +195 -0
  763. package/dist/src/ruvector/flash-attention.d.ts.map +1 -0
  764. package/dist/src/ruvector/flash-attention.js +643 -0
  765. package/dist/src/ruvector/flash-attention.js.map +1 -0
  766. package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
  767. package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
  768. package/dist/src/ruvector/graph-analyzer.js +929 -0
  769. package/dist/src/ruvector/graph-analyzer.js.map +1 -0
  770. package/dist/src/ruvector/index.d.ts +34 -0
  771. package/dist/src/ruvector/index.d.ts.map +1 -0
  772. package/dist/src/ruvector/index.js +60 -0
  773. package/dist/src/ruvector/index.js.map +1 -0
  774. package/dist/src/ruvector/lora-adapter.d.ts +218 -0
  775. package/dist/src/ruvector/lora-adapter.d.ts.map +1 -0
  776. package/dist/src/ruvector/lora-adapter.js +455 -0
  777. package/dist/src/ruvector/lora-adapter.js.map +1 -0
  778. package/dist/src/ruvector/model-router.d.ts +220 -0
  779. package/dist/src/ruvector/model-router.d.ts.map +1 -0
  780. package/dist/src/ruvector/model-router.js +488 -0
  781. package/dist/src/ruvector/model-router.js.map +1 -0
  782. package/dist/src/ruvector/moe-router.d.ts +206 -0
  783. package/dist/src/ruvector/moe-router.d.ts.map +1 -0
  784. package/dist/src/ruvector/moe-router.js +626 -0
  785. package/dist/src/ruvector/moe-router.js.map +1 -0
  786. package/dist/src/ruvector/q-learning-router.d.ts +211 -0
  787. package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
  788. package/dist/src/ruvector/q-learning-router.js +681 -0
  789. package/dist/src/ruvector/q-learning-router.js.map +1 -0
  790. package/dist/src/ruvector/semantic-router.d.ts +77 -0
  791. package/dist/src/ruvector/semantic-router.d.ts.map +1 -0
  792. package/dist/src/ruvector/semantic-router.js +178 -0
  793. package/dist/src/ruvector/semantic-router.js.map +1 -0
  794. package/dist/src/ruvector/vector-db.d.ts +69 -0
  795. package/dist/src/ruvector/vector-db.d.ts.map +1 -0
  796. package/dist/src/ruvector/vector-db.js +243 -0
  797. package/dist/src/ruvector/vector-db.js.map +1 -0
  798. package/dist/src/services/claim-service.d.ts +204 -0
  799. package/dist/src/services/claim-service.d.ts.map +1 -0
  800. package/dist/src/services/claim-service.js +818 -0
  801. package/dist/src/services/claim-service.js.map +1 -0
  802. package/dist/src/services/container-worker-pool.d.ts +197 -0
  803. package/dist/src/services/container-worker-pool.d.ts.map +1 -0
  804. package/dist/src/services/container-worker-pool.js +581 -0
  805. package/dist/src/services/container-worker-pool.js.map +1 -0
  806. package/dist/src/services/headless-worker-executor.d.ts +304 -0
  807. package/dist/src/services/headless-worker-executor.d.ts.map +1 -0
  808. package/dist/src/services/headless-worker-executor.js +999 -0
  809. package/dist/src/services/headless-worker-executor.js.map +1 -0
  810. package/dist/src/services/index.d.ts +13 -0
  811. package/dist/src/services/index.d.ts.map +1 -0
  812. package/dist/src/services/index.js +11 -0
  813. package/dist/src/services/index.js.map +1 -0
  814. package/dist/src/services/registry-api.d.ts +58 -0
  815. package/dist/src/services/registry-api.d.ts.map +1 -0
  816. package/dist/src/services/registry-api.js +146 -0
  817. package/dist/src/services/registry-api.js.map +1 -0
  818. package/dist/src/services/ruvector-training.d.ts +213 -0
  819. package/dist/src/services/ruvector-training.d.ts.map +1 -0
  820. package/dist/src/services/ruvector-training.js +498 -0
  821. package/dist/src/services/ruvector-training.js.map +1 -0
  822. package/dist/src/services/worker-daemon.d.ts +203 -0
  823. package/dist/src/services/worker-daemon.d.ts.map +1 -0
  824. package/dist/src/services/worker-daemon.js +756 -0
  825. package/dist/src/services/worker-daemon.js.map +1 -0
  826. package/dist/src/services/worker-queue.d.ts +194 -0
  827. package/dist/src/services/worker-queue.d.ts.map +1 -0
  828. package/dist/src/services/worker-queue.js +511 -0
  829. package/dist/src/services/worker-queue.js.map +1 -0
  830. package/dist/src/suggest.d.ts +53 -0
  831. package/dist/src/suggest.d.ts.map +1 -0
  832. package/dist/src/suggest.js +200 -0
  833. package/dist/src/suggest.js.map +1 -0
  834. package/dist/src/tests/ruvector-integration-benchmark.d.ts +6 -0
  835. package/dist/src/tests/ruvector-integration-benchmark.d.ts.map +1 -0
  836. package/dist/src/tests/ruvector-integration-benchmark.js +385 -0
  837. package/dist/src/tests/ruvector-integration-benchmark.js.map +1 -0
  838. package/dist/src/transfer/anonymization/index.d.ts +25 -0
  839. package/dist/src/transfer/anonymization/index.d.ts.map +1 -0
  840. package/dist/src/transfer/anonymization/index.js +175 -0
  841. package/dist/src/transfer/anonymization/index.js.map +1 -0
  842. package/dist/src/transfer/deploy-seraphine.d.ts +13 -0
  843. package/dist/src/transfer/deploy-seraphine.d.ts.map +1 -0
  844. package/dist/src/transfer/deploy-seraphine.js +205 -0
  845. package/dist/src/transfer/deploy-seraphine.js.map +1 -0
  846. package/dist/src/transfer/export.d.ts +25 -0
  847. package/dist/src/transfer/export.d.ts.map +1 -0
  848. package/dist/src/transfer/export.js +113 -0
  849. package/dist/src/transfer/export.js.map +1 -0
  850. package/dist/src/transfer/index.d.ts +12 -0
  851. package/dist/src/transfer/index.d.ts.map +1 -0
  852. package/dist/src/transfer/index.js +31 -0
  853. package/dist/src/transfer/index.js.map +1 -0
  854. package/dist/src/transfer/ipfs/client.d.ts +109 -0
  855. package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
  856. package/dist/src/transfer/ipfs/client.js +299 -0
  857. package/dist/src/transfer/ipfs/client.js.map +1 -0
  858. package/dist/src/transfer/ipfs/upload.d.ts +95 -0
  859. package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
  860. package/dist/src/transfer/ipfs/upload.js +413 -0
  861. package/dist/src/transfer/ipfs/upload.js.map +1 -0
  862. package/dist/src/transfer/models/seraphine.d.ts +72 -0
  863. package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
  864. package/dist/src/transfer/models/seraphine.js +373 -0
  865. package/dist/src/transfer/models/seraphine.js.map +1 -0
  866. package/dist/src/transfer/serialization/cfp.d.ts +49 -0
  867. package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
  868. package/dist/src/transfer/serialization/cfp.js +180 -0
  869. package/dist/src/transfer/serialization/cfp.js.map +1 -0
  870. package/dist/src/transfer/storage/gcs.d.ts +82 -0
  871. package/dist/src/transfer/storage/gcs.d.ts.map +1 -0
  872. package/dist/src/transfer/storage/gcs.js +230 -0
  873. package/dist/src/transfer/storage/gcs.js.map +1 -0
  874. package/dist/src/transfer/storage/index.d.ts +6 -0
  875. package/dist/src/transfer/storage/index.d.ts.map +1 -0
  876. package/dist/src/transfer/storage/index.js +6 -0
  877. package/dist/src/transfer/storage/index.js.map +1 -0
  878. package/dist/src/transfer/store/discovery.d.ts +84 -0
  879. package/dist/src/transfer/store/discovery.d.ts.map +1 -0
  880. package/dist/src/transfer/store/discovery.js +382 -0
  881. package/dist/src/transfer/store/discovery.js.map +1 -0
  882. package/dist/src/transfer/store/download.d.ts +70 -0
  883. package/dist/src/transfer/store/download.d.ts.map +1 -0
  884. package/dist/src/transfer/store/download.js +334 -0
  885. package/dist/src/transfer/store/download.js.map +1 -0
  886. package/dist/src/transfer/store/index.d.ts +84 -0
  887. package/dist/src/transfer/store/index.d.ts.map +1 -0
  888. package/dist/src/transfer/store/index.js +153 -0
  889. package/dist/src/transfer/store/index.js.map +1 -0
  890. package/dist/src/transfer/store/publish.d.ts +76 -0
  891. package/dist/src/transfer/store/publish.d.ts.map +1 -0
  892. package/dist/src/transfer/store/publish.js +294 -0
  893. package/dist/src/transfer/store/publish.js.map +1 -0
  894. package/dist/src/transfer/store/registry.d.ts +58 -0
  895. package/dist/src/transfer/store/registry.d.ts.map +1 -0
  896. package/dist/src/transfer/store/registry.js +285 -0
  897. package/dist/src/transfer/store/registry.js.map +1 -0
  898. package/dist/src/transfer/store/search.d.ts +54 -0
  899. package/dist/src/transfer/store/search.d.ts.map +1 -0
  900. package/dist/src/transfer/store/search.js +232 -0
  901. package/dist/src/transfer/store/search.js.map +1 -0
  902. package/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
  903. package/dist/src/transfer/store/tests/standalone-test.d.ts.map +1 -0
  904. package/dist/src/transfer/store/tests/standalone-test.js +190 -0
  905. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -0
  906. package/dist/src/transfer/store/types.d.ts +193 -0
  907. package/dist/src/transfer/store/types.d.ts.map +1 -0
  908. package/dist/src/transfer/store/types.js +6 -0
  909. package/dist/src/transfer/store/types.js.map +1 -0
  910. package/dist/src/transfer/test-seraphine.d.ts +6 -0
  911. package/dist/src/transfer/test-seraphine.d.ts.map +1 -0
  912. package/dist/src/transfer/test-seraphine.js +105 -0
  913. package/dist/src/transfer/test-seraphine.js.map +1 -0
  914. package/dist/src/transfer/tests/test-store.d.ts +7 -0
  915. package/dist/src/transfer/tests/test-store.d.ts.map +1 -0
  916. package/dist/src/transfer/tests/test-store.js +214 -0
  917. package/dist/src/transfer/tests/test-store.js.map +1 -0
  918. package/dist/src/transfer/types.d.ts +245 -0
  919. package/dist/src/transfer/types.d.ts.map +1 -0
  920. package/dist/src/transfer/types.js +6 -0
  921. package/dist/src/transfer/types.js.map +1 -0
  922. package/dist/src/types.d.ts +1 -1
  923. package/dist/src/types.d.ts.map +1 -1
  924. package/dist/src/update/checker.d.ts +34 -0
  925. package/dist/src/update/checker.d.ts.map +1 -0
  926. package/dist/src/update/checker.js +190 -0
  927. package/dist/src/update/checker.js.map +1 -0
  928. package/dist/src/update/executor.d.ts +32 -0
  929. package/dist/src/update/executor.d.ts.map +1 -0
  930. package/dist/src/update/executor.js +181 -0
  931. package/dist/src/update/executor.js.map +1 -0
  932. package/dist/src/update/index.d.ts +33 -0
  933. package/dist/src/update/index.d.ts.map +1 -0
  934. package/dist/src/update/index.js +64 -0
  935. package/dist/src/update/index.js.map +1 -0
  936. package/dist/src/update/rate-limiter.d.ts +20 -0
  937. package/dist/src/update/rate-limiter.d.ts.map +1 -0
  938. package/dist/src/update/rate-limiter.js +96 -0
  939. package/dist/src/update/rate-limiter.js.map +1 -0
  940. package/dist/src/update/validator.d.ts +17 -0
  941. package/dist/src/update/validator.d.ts.map +1 -0
  942. package/dist/src/update/validator.js +123 -0
  943. package/dist/src/update/validator.js.map +1 -0
  944. package/dist/tsconfig.tsbuildinfo +1 -1
  945. package/package.json +88 -11
  946. package/.agentic-flow/intelligence.json +0 -17
  947. package/.claude-flow/metrics/task-metrics.json +0 -10
  948. package/__tests__/README.md +0 -140
  949. package/__tests__/TEST_SUMMARY.md +0 -144
  950. package/__tests__/cli.test.ts +0 -558
  951. package/__tests__/commands.test.ts +0 -726
  952. package/__tests__/config-adapter.test.ts +0 -362
  953. package/__tests__/config-loading.test.ts +0 -106
  954. package/__tests__/coverage/.tmp/coverage-0.json +0 -1
  955. package/__tests__/coverage/.tmp/coverage-1.json +0 -1
  956. package/__tests__/coverage/.tmp/coverage-2.json +0 -1
  957. package/__tests__/coverage/.tmp/coverage-3.json +0 -1
  958. package/__tests__/coverage/.tmp/coverage-4.json +0 -1
  959. package/__tests__/coverage/.tmp/coverage-5.json +0 -1
  960. package/__tests__/mcp-client.test.ts +0 -480
  961. package/__tests__/p1-commands.test.ts +0 -1064
  962. package/docs/CONFIG_LOADING.md +0 -236
  963. package/docs/IMPLEMENTATION_COMPLETE.md +0 -421
  964. package/docs/MCP_CLIENT_GUIDE.md +0 -620
  965. package/docs/REFACTORING_SUMMARY.md +0 -247
  966. package/src/commands/agent.ts +0 -941
  967. package/src/commands/config.ts +0 -452
  968. package/src/commands/hive-mind.ts +0 -762
  969. package/src/commands/hooks.ts +0 -2603
  970. package/src/commands/index.ts +0 -115
  971. package/src/commands/init.ts +0 -597
  972. package/src/commands/mcp.ts +0 -753
  973. package/src/commands/memory.ts +0 -1161
  974. package/src/commands/migrate.ts +0 -447
  975. package/src/commands/process.ts +0 -695
  976. package/src/commands/session.ts +0 -891
  977. package/src/commands/start.ts +0 -457
  978. package/src/commands/status.ts +0 -736
  979. package/src/commands/swarm.ts +0 -648
  980. package/src/commands/task.ts +0 -792
  981. package/src/commands/workflow.ts +0 -742
  982. package/src/config-adapter.ts +0 -210
  983. package/src/index.ts +0 -400
  984. package/src/infrastructure/in-memory-repositories.ts +0 -310
  985. package/src/init/claudemd-generator.ts +0 -631
  986. package/src/init/executor.ts +0 -762
  987. package/src/init/helpers-generator.ts +0 -628
  988. package/src/init/index.ts +0 -60
  989. package/src/init/mcp-generator.ts +0 -83
  990. package/src/init/settings-generator.ts +0 -274
  991. package/src/init/statusline-generator.ts +0 -211
  992. package/src/init/types.ts +0 -447
  993. package/src/mcp-client.ts +0 -229
  994. package/src/mcp-server.ts +0 -577
  995. package/src/mcp-tools/agent-tools.ts +0 -92
  996. package/src/mcp-tools/config-tools.ts +0 -88
  997. package/src/mcp-tools/hooks-tools.ts +0 -1849
  998. package/src/mcp-tools/index.ts +0 -14
  999. package/src/mcp-tools/memory-tools.ts +0 -270
  1000. package/src/mcp-tools/session-tools.ts +0 -102
  1001. package/src/mcp-tools/swarm-tools.ts +0 -105
  1002. package/src/mcp-tools/task-tools.ts +0 -102
  1003. package/src/mcp-tools/types.ts +0 -33
  1004. package/src/output.ts +0 -593
  1005. package/src/parser.ts +0 -417
  1006. package/src/prompt.ts +0 -619
  1007. package/src/types.ts +0 -287
  1008. package/tsconfig.json +0 -16
  1009. package/tsconfig.tsbuildinfo +0 -1
  1010. package/vitest.config.ts +0 -13
  1011. /package/{tmp.json → .claude/agents/tmp.json} +0 -0
  1012. /package/{.claude-flow → .claude/skills/skill-builder/.claude-flow}/metrics/agent-metrics.json +0 -0
@@ -4,19 +4,31 @@
4
4
  */
5
5
  /**
6
6
  * Generate statusline configuration script
7
+ * Matches the advanced format:
8
+ * ▊ Claude Flow V3 ● user │ ⎇ v3 │ Opus 4.5
9
+ * ─────────────────────────────────────────────────────
10
+ * 🏗️ DDD Domains [●●●●●] 5/5 ⚡ HNSW 12500x (or 📚 22.9k patterns)
11
+ * 🤖 Swarm ◉ [12/15] 👥 0 🟢 CVE 3/3 💾 5177MB 📂 56% 🧠 30%
12
+ * 🔧 Architecture DDD ●100% │ Security ●CLEAN │ Memory ●AgentDB │ Integration ●
7
13
  */
8
14
  export function generateStatuslineScript(options) {
9
15
  const config = options.statusline;
16
+ // Generate CommonJS script - use .cjs extension for ES module project compatibility
10
17
  return `#!/usr/bin/env node
11
18
  /**
12
19
  * Claude Flow V3 Statusline Generator
13
20
  * Displays real-time V3 implementation progress and system status
14
21
  *
15
- * Usage: node statusline.js [--json]
22
+ * Usage: node statusline.cjs [--json] [--compact]
23
+ *
24
+ * IMPORTANT: This file uses .cjs extension to work in ES module projects.
25
+ * The require() syntax is intentional for CommonJS compatibility.
16
26
  */
17
27
 
28
+ /* eslint-disable @typescript-eslint/no-var-requires */
18
29
  const fs = require('fs');
19
30
  const path = require('path');
31
+ const { execSync } = require('child_process');
20
32
 
21
33
  // Configuration
22
34
  const CONFIG = {
@@ -27,147 +39,1170 @@ const CONFIG = {
27
39
  showHooks: ${config.showHooks},
28
40
  showPerformance: ${config.showPerformance},
29
41
  refreshInterval: ${config.refreshInterval},
42
+ maxAgents: ${options.runtime.maxAgents},
43
+ topology: '${options.runtime.topology}',
30
44
  };
31
45
 
32
46
  // ANSI colors
33
- const colors = {
47
+ const c = {
34
48
  reset: '\\x1b[0m',
35
- bright: '\\x1b[1m',
49
+ bold: '\\x1b[1m',
36
50
  dim: '\\x1b[2m',
37
- green: '\\x1b[32m',
38
- yellow: '\\x1b[33m',
39
- blue: '\\x1b[34m',
40
- magenta: '\\x1b[35m',
41
- cyan: '\\x1b[36m',
42
- red: '\\x1b[31m',
51
+ red: '\\x1b[0;31m',
52
+ green: '\\x1b[0;32m',
53
+ yellow: '\\x1b[0;33m',
54
+ blue: '\\x1b[0;34m',
55
+ purple: '\\x1b[0;35m',
56
+ cyan: '\\x1b[0;36m',
57
+ brightRed: '\\x1b[1;31m',
58
+ brightGreen: '\\x1b[1;32m',
59
+ brightYellow: '\\x1b[1;33m',
60
+ brightBlue: '\\x1b[1;34m',
61
+ brightPurple: '\\x1b[1;35m',
62
+ brightCyan: '\\x1b[1;36m',
63
+ brightWhite: '\\x1b[1;37m',
43
64
  };
44
65
 
45
- // Get V3 progress from filesystem
46
- function getV3Progress() {
47
- const v3Path = path.join(process.cwd(), 'v3', '@claude-flow');
48
- let modulesCount = 0;
49
- let filesCount = 0;
66
+ // Get user info
67
+ function getUserInfo() {
68
+ let name = 'user';
69
+ let gitBranch = '';
70
+ let modelName = '🤖 Claude Code';
71
+
72
+ try {
73
+ name = execSync('git config user.name 2>/dev/null || echo "user"', { encoding: 'utf-8' }).trim();
74
+ gitBranch = execSync('git branch --show-current 2>/dev/null || echo ""', { encoding: 'utf-8' }).trim();
75
+ } catch (e) {
76
+ // Ignore errors
77
+ }
50
78
 
79
+ // Auto-detect model from Claude Code's config
51
80
  try {
52
- if (fs.existsSync(v3Path)) {
53
- const modules = fs.readdirSync(v3Path);
54
- modulesCount = modules.filter(m => fs.statSync(path.join(v3Path, m)).isDirectory()).length;
55
-
56
- // Count TypeScript files
57
- const countFiles = (dir) => {
58
- let count = 0;
59
- const items = fs.readdirSync(dir, { withFileTypes: true });
60
- for (const item of items) {
61
- if (item.isDirectory() && item.name !== 'node_modules' && item.name !== 'dist') {
62
- count += countFiles(path.join(dir, item.name));
63
- } else if (item.isFile() && item.name.endsWith('.ts')) {
64
- count++;
81
+ const homedir = require('os').homedir();
82
+ const claudeConfigPath = path.join(homedir, '.claude.json');
83
+ if (fs.existsSync(claudeConfigPath)) {
84
+ const claudeConfig = JSON.parse(fs.readFileSync(claudeConfigPath, 'utf-8'));
85
+ // Try to find lastModelUsage - check current dir and parent dirs
86
+ let lastModelUsage = null;
87
+ const cwd = process.cwd();
88
+ if (claudeConfig.projects) {
89
+ // Try exact match first, then check if cwd starts with any project path
90
+ for (const [projectPath, projectConfig] of Object.entries(claudeConfig.projects)) {
91
+ if (cwd === projectPath || cwd.startsWith(projectPath + '/')) {
92
+ lastModelUsage = projectConfig.lastModelUsage;
93
+ break;
65
94
  }
66
95
  }
67
- return count;
68
- };
69
- filesCount = countFiles(v3Path);
96
+ }
97
+ if (lastModelUsage) {
98
+ const modelIds = Object.keys(lastModelUsage);
99
+ if (modelIds.length > 0) {
100
+ // Find the most recently used model by checking lastUsedAt timestamps
101
+ // or fall back to the last key in the object (preserves insertion order in modern JS)
102
+ let modelId = modelIds[modelIds.length - 1];
103
+ let latestTimestamp = 0;
104
+
105
+ for (const id of modelIds) {
106
+ const usage = lastModelUsage[id];
107
+ // Check for lastUsedAt timestamp (if available)
108
+ if (usage.lastUsedAt) {
109
+ const ts = new Date(usage.lastUsedAt).getTime();
110
+ if (ts > latestTimestamp) {
111
+ latestTimestamp = ts;
112
+ modelId = id;
113
+ }
114
+ }
115
+ }
116
+
117
+ // Parse model ID to human-readable name
118
+ if (modelId.includes('opus')) modelName = 'Opus 4.5';
119
+ else if (modelId.includes('sonnet')) modelName = 'Sonnet 4';
120
+ else if (modelId.includes('haiku')) modelName = 'Haiku 4.5';
121
+ else modelName = modelId.split('-').slice(1, 3).join(' ');
122
+ }
123
+ }
70
124
  }
71
125
  } catch (e) {
72
- // Ignore errors
126
+ // Fallback to Unknown if can't read config
73
127
  }
74
128
 
75
- return { modulesCount, filesCount };
129
+ // Fallback: check project's .claude/settings.json for model
130
+ if (modelName === 'Unknown') {
131
+ try {
132
+ const settingsPath = path.join(process.cwd(), '.claude', 'settings.json');
133
+ if (fs.existsSync(settingsPath)) {
134
+ const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
135
+ if (settings.model) {
136
+ if (settings.model.includes('opus')) modelName = 'Opus 4.5';
137
+ else if (settings.model.includes('sonnet')) modelName = 'Sonnet 4';
138
+ else if (settings.model.includes('haiku')) modelName = 'Haiku 4.5';
139
+ else modelName = settings.model.split('-').slice(1, 3).join(' ');
140
+ }
141
+ }
142
+ } catch (e) {
143
+ // Keep Unknown
144
+ }
145
+ }
146
+
147
+ return { name, gitBranch, modelName };
148
+ }
149
+
150
+ // Get learning stats from memory database
151
+ function getLearningStats() {
152
+ const memoryPaths = [
153
+ path.join(process.cwd(), '.swarm', 'memory.db'),
154
+ path.join(process.cwd(), '.claude-flow', 'memory.db'),
155
+ path.join(process.cwd(), '.claude', 'memory.db'),
156
+ path.join(process.cwd(), 'data', 'memory.db'),
157
+ path.join(process.cwd(), 'memory.db'),
158
+ path.join(process.cwd(), '.agentdb', 'memory.db'),
159
+ ];
160
+
161
+ let patterns = 0;
162
+ let sessions = 0;
163
+ let trajectories = 0;
164
+
165
+ // Try to read from sqlite database
166
+ for (const dbPath of memoryPaths) {
167
+ if (fs.existsSync(dbPath)) {
168
+ try {
169
+ // Count entries in memory file (rough estimate from file size)
170
+ const stats = fs.statSync(dbPath);
171
+ const sizeKB = stats.size / 1024;
172
+ // Estimate: ~2KB per pattern on average
173
+ patterns = Math.floor(sizeKB / 2);
174
+ sessions = Math.max(1, Math.floor(patterns / 10));
175
+ trajectories = Math.floor(patterns / 5);
176
+ break;
177
+ } catch (e) {
178
+ // Ignore
179
+ }
180
+ }
181
+ }
182
+
183
+ // Also check for session files
184
+ const sessionsPath = path.join(process.cwd(), '.claude', 'sessions');
185
+ if (fs.existsSync(sessionsPath)) {
186
+ try {
187
+ const sessionFiles = fs.readdirSync(sessionsPath).filter(f => f.endsWith('.json'));
188
+ sessions = Math.max(sessions, sessionFiles.length);
189
+ } catch (e) {
190
+ // Ignore
191
+ }
192
+ }
193
+
194
+ return { patterns, sessions, trajectories };
76
195
  }
77
196
 
78
- // Get security status
197
+ // Get V3 progress from REAL metrics files
198
+ function getV3Progress() {
199
+ const learning = getLearningStats();
200
+ const totalDomains = 5;
201
+
202
+ let dddProgress = 0;
203
+ let dddScore = 0;
204
+ let dddMaxScore = 100;
205
+ let moduleCount = 0;
206
+
207
+ // Check ddd-progress.json for REAL DDD analysis
208
+ const dddPath = path.join(process.cwd(), '.claude-flow', 'metrics', 'ddd-progress.json');
209
+ if (fs.existsSync(dddPath)) {
210
+ try {
211
+ const data = JSON.parse(fs.readFileSync(dddPath, 'utf-8'));
212
+ dddProgress = data.progress || 0;
213
+ dddScore = data.score || 0;
214
+ dddMaxScore = data.maxScore || 100;
215
+ moduleCount = data.modules ? Object.keys(data.modules).length : 0;
216
+ } catch (e) {
217
+ // Ignore - use fallback
218
+ }
219
+ }
220
+
221
+ // Calculate domains completed from DDD progress (each 20% = 1 domain)
222
+ let domainsCompleted = Math.min(5, Math.floor(dddProgress / 20));
223
+
224
+ // Fallback: if no DDD data, use pattern-based calculation
225
+ if (dddProgress === 0 && learning.patterns > 0) {
226
+ if (learning.patterns >= 500) domainsCompleted = 5;
227
+ else if (learning.patterns >= 200) domainsCompleted = 4;
228
+ else if (learning.patterns >= 100) domainsCompleted = 3;
229
+ else if (learning.patterns >= 50) domainsCompleted = 2;
230
+ else if (learning.patterns >= 10) domainsCompleted = 1;
231
+ dddProgress = Math.floor((domainsCompleted / totalDomains) * 100);
232
+ }
233
+
234
+ return {
235
+ domainsCompleted,
236
+ totalDomains,
237
+ dddProgress,
238
+ dddScore,
239
+ dddMaxScore,
240
+ moduleCount,
241
+ patternsLearned: learning.patterns,
242
+ sessionsCompleted: learning.sessions
243
+ };
244
+ }
245
+
246
+ // Get security status based on actual scans
79
247
  function getSecurityStatus() {
80
- // Check for security-related files
81
- const securityPath = path.join(process.cwd(), 'v3', '@claude-flow', 'security');
82
- const exists = fs.existsSync(securityPath);
248
+ const totalCves = 3;
249
+ let cvesFixed = 0;
250
+
251
+ // Check audit-status.json first (created by init)
252
+ const auditStatusPath = path.join(process.cwd(), '.claude-flow', 'security', 'audit-status.json');
253
+ if (fs.existsSync(auditStatusPath)) {
254
+ try {
255
+ const data = JSON.parse(fs.readFileSync(auditStatusPath, 'utf-8'));
256
+ return {
257
+ status: data.status || 'PENDING',
258
+ cvesFixed: data.cvesFixed || 0,
259
+ totalCves: data.totalCves || 3,
260
+ };
261
+ } catch (e) {
262
+ // Fall through to scan directory check
263
+ }
264
+ }
265
+
266
+ // Check for security scan results in memory
267
+ const scanResultsPath = path.join(process.cwd(), '.claude', 'security-scans');
268
+ if (fs.existsSync(scanResultsPath)) {
269
+ try {
270
+ const scans = fs.readdirSync(scanResultsPath).filter(f => f.endsWith('.json'));
271
+ // Each successful scan file = 1 CVE addressed
272
+ cvesFixed = Math.min(totalCves, scans.length);
273
+ } catch (e) {
274
+ // Ignore
275
+ }
276
+ }
277
+
278
+ // Also check .swarm/security for audit results
279
+ const swarmAuditPath = path.join(process.cwd(), '.swarm', 'security');
280
+ if (fs.existsSync(swarmAuditPath)) {
281
+ try {
282
+ const audits = fs.readdirSync(swarmAuditPath).filter(f => f.includes('audit'));
283
+ cvesFixed = Math.min(totalCves, Math.max(cvesFixed, audits.length));
284
+ } catch (e) {
285
+ // Ignore
286
+ }
287
+ }
288
+
289
+ const status = cvesFixed >= totalCves ? 'CLEAN' : cvesFixed > 0 ? 'IN_PROGRESS' : 'PENDING';
83
290
 
84
291
  return {
85
- status: exists ? 'IN_PROGRESS' : 'PENDING',
86
- cvesFixed: exists ? 2 : 0,
87
- totalCves: 3,
292
+ status,
293
+ cvesFixed,
294
+ totalCves,
88
295
  };
89
296
  }
90
297
 
91
- // Get swarm status
298
+ // Get swarm status (cross-platform)
92
299
  function getSwarmStatus() {
93
- const configPath = path.join(process.cwd(), '.claude-flow', 'config.yaml');
300
+ let activeAgents = 0;
301
+ let coordinationActive = false;
302
+
303
+ // Check swarm-activity.json first (works on all platforms)
304
+ const activityPath = path.join(process.cwd(), '.claude-flow', 'metrics', 'swarm-activity.json');
305
+ if (fs.existsSync(activityPath)) {
306
+ try {
307
+ const data = JSON.parse(fs.readFileSync(activityPath, 'utf-8'));
308
+ if (data.swarm) {
309
+ return {
310
+ activeAgents: data.swarm.agent_count || 0,
311
+ maxAgents: CONFIG.maxAgents,
312
+ coordinationActive: data.swarm.coordination_active || data.swarm.active || false,
313
+ };
314
+ }
315
+ } catch (e) {
316
+ // Fall through to v3-progress.json check
317
+ }
318
+ }
319
+
320
+ // Also check v3-progress.json for swarm data (secondary source)
321
+ const progressPath = path.join(process.cwd(), '.claude-flow', 'metrics', 'v3-progress.json');
322
+ if (fs.existsSync(progressPath)) {
323
+ try {
324
+ const data = JSON.parse(fs.readFileSync(progressPath, 'utf-8'));
325
+ if (data.swarm) {
326
+ return {
327
+ activeAgents: data.swarm.activeAgents || data.swarm.agent_count || 0,
328
+ maxAgents: data.swarm.totalAgents || CONFIG.maxAgents,
329
+ coordinationActive: data.swarm.active || (data.swarm.activeAgents > 0),
330
+ };
331
+ }
332
+ } catch (e) {
333
+ // Fall through to process detection
334
+ }
335
+ }
336
+
337
+ // Platform-specific process detection (fallback)
338
+ const isWindows = process.platform === 'win32';
339
+ try {
340
+ if (isWindows) {
341
+ // Windows: use tasklist
342
+ const ps = execSync('tasklist /FI "IMAGENAME eq node.exe" /NH 2>nul || echo ""', { encoding: 'utf-8' });
343
+ const nodeProcesses = (ps.match(/node\\.exe/gi) || []).length;
344
+ activeAgents = Math.max(0, Math.floor(nodeProcesses / 3)); // Heuristic
345
+ coordinationActive = nodeProcesses > 0;
346
+ } else {
347
+ // Unix: use ps - check for various agent process patterns
348
+ try {
349
+ const ps = execSync('ps aux 2>/dev/null | grep -E "(agentic-flow|claude-flow|mcp.*server)" | grep -v grep | wc -l', { encoding: 'utf-8' });
350
+ activeAgents = Math.max(0, parseInt(ps.trim()));
351
+ coordinationActive = activeAgents > 0;
352
+ } catch (e) {
353
+ // Fallback to simple agentic-flow check
354
+ const ps = execSync('ps aux 2>/dev/null | grep -c agentic-flow || echo "0"', { encoding: 'utf-8' });
355
+ activeAgents = Math.max(0, parseInt(ps.trim()) - 1);
356
+ coordinationActive = activeAgents > 0;
357
+ }
358
+ }
359
+ } catch (e) {
360
+ // Ignore errors - return defaults
361
+ }
94
362
 
95
363
  return {
96
- activeAgents: 0,
97
- maxAgents: ${options.runtime.maxAgents},
98
- topology: '${options.runtime.topology}',
99
- coordinationActive: false,
364
+ activeAgents,
365
+ maxAgents: CONFIG.maxAgents,
366
+ coordinationActive,
100
367
  };
101
368
  }
102
369
 
103
- // Get hooks metrics
104
- function getHooksMetrics() {
105
- const metricsPath = path.join(process.cwd(), '.claude-flow', 'data', 'hooks-metrics.json');
370
+ // Get system metrics (cross-platform)
371
+ function getSystemMetrics() {
372
+ let memoryMB = 0;
373
+ let subAgents = 0;
374
+
375
+ // Check learning.json first for REAL intelligence metrics
376
+ const learningMetricsPath = path.join(process.cwd(), '.claude-flow', 'metrics', 'learning.json');
377
+ let intelligenceFromFile = null;
378
+ let contextFromFile = null;
379
+ if (fs.existsSync(learningMetricsPath)) {
380
+ try {
381
+ const data = JSON.parse(fs.readFileSync(learningMetricsPath, 'utf-8'));
382
+ // Use intelligence.score (the REAL metric) instead of routing.accuracy
383
+ if (data.intelligence?.score !== undefined) {
384
+ intelligenceFromFile = Math.min(100, Math.floor(data.intelligence.score));
385
+ }
386
+ if (data.sessions?.total !== undefined) {
387
+ contextFromFile = Math.min(100, data.sessions.total * 5);
388
+ }
389
+ } catch (e) {
390
+ // Fall through
391
+ }
392
+ }
106
393
 
394
+ // Platform-specific memory detection
395
+ const isWindows = process.platform === 'win32';
107
396
  try {
108
- if (fs.existsSync(metricsPath)) {
109
- return JSON.parse(fs.readFileSync(metricsPath, 'utf-8'));
397
+ if (isWindows) {
398
+ // Windows: use process.memoryUsage() (most reliable cross-platform)
399
+ memoryMB = Math.floor(process.memoryUsage().heapUsed / 1024 / 1024);
400
+ } else {
401
+ // Unix: try ps command, fallback to process.memoryUsage()
402
+ try {
403
+ const mem = execSync('ps aux | grep -E "(node|agentic|claude)" | grep -v grep | awk \\'{sum += \\$6} END {print int(sum/1024)}\\'', { encoding: 'utf-8' });
404
+ memoryMB = parseInt(mem.trim()) || 0;
405
+ } catch (e) {
406
+ memoryMB = Math.floor(process.memoryUsage().heapUsed / 1024 / 1024);
407
+ }
110
408
  }
111
409
  } catch (e) {
112
- // Ignore errors
410
+ // Fallback to Node.js memory API
411
+ memoryMB = Math.floor(process.memoryUsage().heapUsed / 1024 / 1024);
412
+ }
413
+
414
+ // Get learning stats for intelligence %
415
+ const learning = getLearningStats();
416
+
417
+ // Also get AgentDB stats for fallback intelligence calculation
418
+ const agentdbStats = getAgentDBStats();
419
+
420
+ // Intelligence % based on learned patterns, vectors, or project maturity
421
+ // Calculate all sources and take the maximum
422
+ let intelligencePct = 0;
423
+
424
+ if (intelligenceFromFile !== null) {
425
+ intelligencePct = intelligenceFromFile;
426
+ } else {
427
+ // Calculate from multiple sources and take the best
428
+ const fromPatterns = learning.patterns > 0 ? Math.min(100, Math.floor(learning.patterns / 10)) : 0;
429
+ const fromVectors = agentdbStats.vectorCount > 0 ? Math.min(100, Math.floor(agentdbStats.vectorCount / 100)) : 0;
430
+
431
+ intelligencePct = Math.max(fromPatterns, fromVectors);
432
+ }
433
+
434
+ // If still 0, use project maturity fallback
435
+ if (intelligencePct === 0) {
436
+ // Final fallback: estimate from project maturity indicators
437
+ let maturityScore = 0;
438
+
439
+ // Check git commit count (proxy for project development)
440
+ try {
441
+ const commitCount = parseInt(execSync('git rev-list --count HEAD 2>/dev/null || echo "0"', { encoding: 'utf-8' }).trim());
442
+ maturityScore += Math.min(30, Math.floor(commitCount / 10)); // Max 30% from commits
443
+ } catch (e) { /* ignore */ }
444
+
445
+ // Check for Claude session history
446
+ const sessionPaths = [
447
+ path.join(process.cwd(), '.claude', 'sessions'),
448
+ path.join(process.cwd(), '.claude-flow', 'sessions'),
449
+ ];
450
+ for (const sessPath of sessionPaths) {
451
+ if (fs.existsSync(sessPath)) {
452
+ try {
453
+ const sessions = fs.readdirSync(sessPath).filter(f => f.endsWith('.json')).length;
454
+ maturityScore += Math.min(20, sessions * 2); // Max 20% from sessions
455
+ break;
456
+ } catch (e) { /* ignore */ }
457
+ }
458
+ }
459
+
460
+ // Check for source files (indicates codebase size)
461
+ try {
462
+ const srcDirs = ['src', 'lib', 'app', 'packages'];
463
+ for (const dir of srcDirs) {
464
+ const dirPath = path.join(process.cwd(), dir);
465
+ if (fs.existsSync(dirPath)) {
466
+ maturityScore += 15; // Base score for having source dir
467
+ break;
468
+ }
469
+ }
470
+ } catch (e) { /* ignore */ }
471
+
472
+ // Check for test files
473
+ try {
474
+ const testDirs = ['tests', 'test', '__tests__', 'spec'];
475
+ for (const dir of testDirs) {
476
+ const dirPath = path.join(process.cwd(), dir);
477
+ if (fs.existsSync(dirPath)) {
478
+ maturityScore += 10; // Bonus for having tests
479
+ break;
480
+ }
481
+ }
482
+ } catch (e) { /* ignore */ }
483
+
484
+ // Check for .claude directory (Claude Code usage)
485
+ if (fs.existsSync(path.join(process.cwd(), '.claude'))) {
486
+ maturityScore += 15; // Bonus for Claude Code integration
487
+ }
488
+
489
+ // Check for config files (project maturity)
490
+ const configFiles = ['package.json', 'tsconfig.json', 'pyproject.toml', 'Cargo.toml', 'go.mod'];
491
+ for (const cfg of configFiles) {
492
+ if (fs.existsSync(path.join(process.cwd(), cfg))) {
493
+ maturityScore += 5;
494
+ break;
495
+ }
496
+ }
497
+
498
+ intelligencePct = Math.min(100, maturityScore);
499
+ }
500
+
501
+ // Context % based on session history (0 sessions = 0%, grows with usage)
502
+ const contextPct = contextFromFile !== null
503
+ ? contextFromFile
504
+ : Math.min(100, Math.floor(learning.sessions * 5));
505
+
506
+ // Count active sub-agents (cross-platform via metrics file)
507
+ const activityPath = path.join(process.cwd(), '.claude-flow', 'metrics', 'swarm-activity.json');
508
+ if (fs.existsSync(activityPath)) {
509
+ try {
510
+ const data = JSON.parse(fs.readFileSync(activityPath, 'utf-8'));
511
+ subAgents = data.processes?.estimated_agents || 0;
512
+ } catch (e) {
513
+ // Ignore
514
+ }
515
+ }
516
+
517
+ // Fallback to process detection on Unix only
518
+ if (subAgents === 0 && !isWindows) {
519
+ try {
520
+ const agents = execSync('ps aux 2>/dev/null | grep -c "claude-flow.*agent" || echo "0"', { encoding: 'utf-8' });
521
+ subAgents = Math.max(0, parseInt(agents.trim()) - 1);
522
+ } catch (e) {
523
+ // Ignore
524
+ }
113
525
  }
114
526
 
115
527
  return {
116
- status: 'ACTIVE',
117
- patternsLearned: 0,
118
- routingAccuracy: 0,
119
- totalOperations: 0,
528
+ memoryMB,
529
+ contextPct,
530
+ intelligencePct,
531
+ subAgents,
120
532
  };
121
533
  }
122
534
 
123
- // Generate statusline
124
- function generateStatusline() {
125
- const segments = [];
535
+ // Get ADR (Architecture Decision Records) status from REAL compliance data
536
+ function getADRStatus() {
537
+ let compliance = 0;
538
+ let totalChecks = 0;
539
+ let compliantChecks = 0;
540
+ let checks = {};
541
+
542
+ // Check adr-compliance.json for REAL compliance data
543
+ const compliancePath = path.join(process.cwd(), '.claude-flow', 'metrics', 'adr-compliance.json');
544
+ if (fs.existsSync(compliancePath)) {
545
+ try {
546
+ const data = JSON.parse(fs.readFileSync(compliancePath, 'utf-8'));
547
+ compliance = data.compliance || 0;
548
+ checks = data.checks || {};
549
+ totalChecks = Object.keys(checks).length;
550
+ compliantChecks = Object.values(checks).filter(c => c.compliant).length;
551
+ return { count: totalChecks, implemented: compliantChecks, compliance };
552
+ } catch (e) {
553
+ // Fall through to file-based detection
554
+ }
555
+ }
556
+
557
+ // Fallback: count ADR files directly
558
+ const adrPaths = [
559
+ path.join(process.cwd(), 'docs', 'adrs'),
560
+ path.join(process.cwd(), 'docs', 'adr'),
561
+ path.join(process.cwd(), 'adr'),
562
+ path.join(process.cwd(), 'ADR'),
563
+ path.join(process.cwd(), '.claude-flow', 'adrs'),
564
+ path.join(process.cwd(), 'v3', 'implementation', 'adrs'),
565
+ path.join(process.cwd(), 'implementation', 'adrs'),
566
+ ];
567
+
568
+ let count = 0;
569
+ let implemented = 0;
570
+
571
+ for (const adrPath of adrPaths) {
572
+ if (fs.existsSync(adrPath)) {
573
+ try {
574
+ const files = fs.readdirSync(adrPath).filter(f =>
575
+ f.endsWith('.md') && (f.startsWith('ADR-') || f.startsWith('adr-') || /^\\d{4}-/.test(f))
576
+ );
577
+ count = files.length;
578
+
579
+ for (const file of files) {
580
+ try {
581
+ const content = fs.readFileSync(path.join(adrPath, file), 'utf-8');
582
+ if (content.includes('Status: Implemented') || content.includes('status: implemented') ||
583
+ content.includes('Status: Accepted') || content.includes('status: accepted')) {
584
+ implemented++;
585
+ }
586
+ } catch (e) {
587
+ // Skip unreadable files
588
+ }
589
+ }
590
+ break;
591
+ } catch (e) {
592
+ // Ignore
593
+ }
594
+ }
595
+ }
596
+
597
+ compliance = count > 0 ? Math.floor((implemented / count) * 100) : 0;
598
+ return { count, implemented, compliance };
599
+ }
600
+
601
+ // Get hooks status (enabled/registered hooks)
602
+ function getHooksStatus() {
603
+ let enabled = 0;
604
+ let total = 17; // V3 has 17 hook types
605
+
606
+ // Check .claude/settings.json for hooks config
607
+ const settingsPaths = [
608
+ path.join(process.cwd(), '.claude', 'settings.json'),
609
+ path.join(process.cwd(), '.claude', 'settings.local.json'),
610
+ ];
611
+
612
+ for (const settingsPath of settingsPaths) {
613
+ if (fs.existsSync(settingsPath)) {
614
+ try {
615
+ const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
616
+ if (settings.hooks) {
617
+ // Claude Code native hooks format: PreToolUse, PostToolUse, SessionStart, etc.
618
+ const hookCategories = Object.keys(settings.hooks);
619
+ for (const category of hookCategories) {
620
+ const categoryHooks = settings.hooks[category];
621
+ if (Array.isArray(categoryHooks) && categoryHooks.length > 0) {
622
+ // Count categories with at least one hook defined
623
+ enabled++;
624
+ }
625
+ }
626
+ }
627
+ break;
628
+ } catch (e) {
629
+ // Ignore parse errors
630
+ }
631
+ }
632
+ }
126
633
 
127
- if (CONFIG.showProgress) {
128
- const progress = getV3Progress();
129
- segments.push(\`\${colors.cyan}V3\${colors.reset} \${progress.modulesCount}mod/\${progress.filesCount}files\`);
634
+ // Also check for hook files in .claude/hooks
635
+ const hooksDir = path.join(process.cwd(), '.claude', 'hooks');
636
+ if (fs.existsSync(hooksDir)) {
637
+ try {
638
+ const hookFiles = fs.readdirSync(hooksDir).filter(f => f.endsWith('.js') || f.endsWith('.sh'));
639
+ enabled = Math.max(enabled, hookFiles.length);
640
+ } catch (e) {
641
+ // Ignore
642
+ }
130
643
  }
131
644
 
132
- if (CONFIG.showSecurity) {
133
- const security = getSecurityStatus();
134
- const statusColor = security.status === 'CLEAN' ? colors.green :
135
- security.status === 'IN_PROGRESS' ? colors.yellow : colors.red;
136
- segments.push(\`\${colors.magenta}SEC\${colors.reset} \${statusColor}\${security.cvesFixed}/\${security.totalCves}\${colors.reset}\`);
645
+ return { enabled, total };
646
+ }
647
+
648
+ // Get AgentDB memory stats
649
+ function getAgentDBStats() {
650
+ let vectorCount = 0;
651
+ let dbSizeKB = 0;
652
+ let namespaces = 0;
653
+ let hasHnsw = false;
654
+
655
+ // Check for database directories
656
+ const dbDirPaths = [
657
+ path.join(process.cwd(), '.claude-flow', 'agentdb'),
658
+ path.join(process.cwd(), '.swarm', 'agentdb'),
659
+ path.join(process.cwd(), 'data', 'agentdb'),
660
+ path.join(process.cwd(), '.claude', 'memory'),
661
+ path.join(process.cwd(), '.agentdb'),
662
+ ];
663
+
664
+ // Check for direct database files (memory.db, etc.)
665
+ const dbFilePaths = [
666
+ path.join(process.cwd(), '.swarm', 'memory.db'),
667
+ path.join(process.cwd(), '.claude-flow', 'memory.db'),
668
+ path.join(process.cwd(), '.claude', 'memory.db'),
669
+ path.join(process.cwd(), 'data', 'memory.db'),
670
+ path.join(process.cwd(), 'memory.db'),
671
+ ];
672
+
673
+ // Check for HNSW index files
674
+ const hnswPaths = [
675
+ path.join(process.cwd(), '.swarm', 'hnsw.index'),
676
+ path.join(process.cwd(), '.claude-flow', 'hnsw.index'),
677
+ path.join(process.cwd(), 'data', 'hnsw.index'),
678
+ ];
679
+
680
+ // Check direct database files first
681
+ for (const dbFile of dbFilePaths) {
682
+ if (fs.existsSync(dbFile)) {
683
+ try {
684
+ const stats = fs.statSync(dbFile);
685
+ dbSizeKB = stats.size / 1024;
686
+ // Estimate vectors: ~2KB per vector for SQLite with embeddings
687
+ vectorCount = Math.floor(dbSizeKB / 2);
688
+ namespaces = 1;
689
+ break;
690
+ } catch (e) {
691
+ // Ignore
692
+ }
693
+ }
137
694
  }
138
695
 
139
- if (CONFIG.showSwarm) {
140
- const swarm = getSwarmStatus();
141
- segments.push(\`\${colors.blue}SWARM\${colors.reset} \${swarm.activeAgents}/\${swarm.maxAgents}\`);
696
+ // Check database directories if no direct file found
697
+ if (vectorCount === 0) {
698
+ for (const dbPath of dbDirPaths) {
699
+ if (fs.existsSync(dbPath)) {
700
+ try {
701
+ const stats = fs.statSync(dbPath);
702
+ if (stats.isDirectory()) {
703
+ const files = fs.readdirSync(dbPath);
704
+ namespaces = files.filter(f => f.endsWith('.db') || f.endsWith('.sqlite')).length;
705
+
706
+ for (const file of files) {
707
+ const filePath = path.join(dbPath, file);
708
+ const fileStat = fs.statSync(filePath);
709
+ if (fileStat.isFile()) {
710
+ dbSizeKB += fileStat.size / 1024;
711
+ }
712
+ }
713
+
714
+ vectorCount = Math.floor(dbSizeKB / 2);
715
+ }
716
+ break;
717
+ } catch (e) {
718
+ // Ignore
719
+ }
720
+ }
721
+ }
142
722
  }
143
723
 
144
- if (CONFIG.showHooks) {
145
- const hooks = getHooksMetrics();
146
- segments.push(\`\${colors.green}HOOKS\${colors.reset} \${hooks.patternsLearned}pat\`);
724
+ // Check for HNSW index (indicates vector search capability)
725
+ for (const hnswPath of hnswPaths) {
726
+ if (fs.existsSync(hnswPath)) {
727
+ hasHnsw = true;
728
+ try {
729
+ const stats = fs.statSync(hnswPath);
730
+ // HNSW index: ~0.5KB per vector
731
+ const hnswVectors = Math.floor(stats.size / 1024 / 0.5);
732
+ vectorCount = Math.max(vectorCount, hnswVectors);
733
+ } catch (e) {
734
+ // Ignore
735
+ }
736
+ break;
737
+ }
147
738
  }
148
739
 
149
- if (CONFIG.showPerformance) {
150
- segments.push(\`\${colors.yellow}PERF\${colors.reset} 2.49x-7.47x\`);
740
+ // Also check for vectors.json (simple vector store)
741
+ const vectorsPath = path.join(process.cwd(), '.claude-flow', 'vectors.json');
742
+ if (fs.existsSync(vectorsPath) && vectorCount === 0) {
743
+ try {
744
+ const data = JSON.parse(fs.readFileSync(vectorsPath, 'utf-8'));
745
+ if (Array.isArray(data)) {
746
+ vectorCount = data.length;
747
+ } else if (data.vectors) {
748
+ vectorCount = Object.keys(data.vectors).length;
749
+ }
750
+ } catch (e) {
751
+ // Ignore
752
+ }
151
753
  }
152
754
 
153
- return segments.join(' | ');
755
+ return { vectorCount, dbSizeKB: Math.floor(dbSizeKB), namespaces, hasHnsw };
154
756
  }
155
757
 
156
- // Output JSON if requested
157
- if (process.argv.includes('--json')) {
158
- const data = {
758
+ // Get test statistics
759
+ function getTestStats() {
760
+ let testFiles = 0;
761
+ let testCases = 0;
762
+
763
+ const testDirs = [
764
+ path.join(process.cwd(), 'tests'),
765
+ path.join(process.cwd(), 'test'),
766
+ path.join(process.cwd(), '__tests__'),
767
+ path.join(process.cwd(), 'src', '__tests__'),
768
+ path.join(process.cwd(), 'v3', '__tests__'),
769
+ ];
770
+
771
+ // Recursively count test files
772
+ function countTestFiles(dir, depth = 0) {
773
+ if (depth > 3) return; // Limit recursion
774
+ if (!fs.existsSync(dir)) return;
775
+
776
+ try {
777
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
778
+ for (const entry of entries) {
779
+ if (entry.isDirectory() && !entry.name.startsWith('.') && entry.name !== 'node_modules') {
780
+ countTestFiles(path.join(dir, entry.name), depth + 1);
781
+ } else if (entry.isFile()) {
782
+ const name = entry.name;
783
+ if (name.includes('.test.') || name.includes('.spec.') ||
784
+ name.includes('_test.') || name.includes('_spec.') ||
785
+ name.startsWith('test_') || name.startsWith('spec_')) {
786
+ testFiles++;
787
+
788
+ // Try to estimate test cases from file
789
+ try {
790
+ const content = fs.readFileSync(path.join(dir, name), 'utf-8');
791
+ // Count it(), test(), describe() patterns
792
+ const itMatches = (content.match(/\\bit\\s*\\(/g) || []).length;
793
+ const testMatches = (content.match(/\\btest\\s*\\(/g) || []).length;
794
+ testCases += itMatches + testMatches;
795
+ } catch (e) {
796
+ // Estimate 3 tests per file if can't read
797
+ testCases += 3;
798
+ }
799
+ }
800
+ }
801
+ }
802
+ } catch (e) {
803
+ // Ignore
804
+ }
805
+ }
806
+
807
+ for (const dir of testDirs) {
808
+ countTestFiles(dir);
809
+ }
810
+
811
+ // Also check src directory for colocated tests
812
+ const srcDir = path.join(process.cwd(), 'src');
813
+ if (fs.existsSync(srcDir)) {
814
+ countTestFiles(srcDir);
815
+ }
816
+
817
+ return { testFiles, testCases };
818
+ }
819
+
820
+ // Get integration status (MCP servers, external connections)
821
+ function getIntegrationStatus() {
822
+ let mcpServers = { total: 0, enabled: 0, names: [] };
823
+ let hasDatabase = false;
824
+ let hasCache = false;
825
+ let hasApi = false;
826
+
827
+ // Check for MCP servers in settings
828
+ const settingsPaths = [
829
+ path.join(process.cwd(), '.claude', 'settings.json'),
830
+ path.join(process.cwd(), '.claude', 'settings.local.json'),
831
+ ];
832
+
833
+ for (const settingsPath of settingsPaths) {
834
+ if (fs.existsSync(settingsPath)) {
835
+ try {
836
+ const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
837
+
838
+ // Check mcpServers object
839
+ if (settings.mcpServers && typeof settings.mcpServers === 'object') {
840
+ const servers = Object.keys(settings.mcpServers);
841
+ mcpServers.total = servers.length;
842
+ mcpServers.names = servers;
843
+
844
+ // Check enabledMcpjsonServers for enabled count
845
+ if (settings.enabledMcpjsonServers && Array.isArray(settings.enabledMcpjsonServers)) {
846
+ mcpServers.enabled = settings.enabledMcpjsonServers.filter(s => servers.includes(s)).length;
847
+ } else {
848
+ mcpServers.enabled = mcpServers.total; // Assume all enabled if not specified
849
+ }
850
+ }
851
+ break;
852
+ } catch (e) { /* ignore */ }
853
+ }
854
+ }
855
+
856
+ // Also check .mcp.json or mcp.json
857
+ const mcpConfigPaths = [
858
+ path.join(process.cwd(), '.mcp.json'),
859
+ path.join(process.cwd(), 'mcp.json'),
860
+ path.join(require('os').homedir(), '.claude', 'mcp.json'),
861
+ ];
862
+
863
+ for (const mcpPath of mcpConfigPaths) {
864
+ if (fs.existsSync(mcpPath) && mcpServers.total === 0) {
865
+ try {
866
+ const config = JSON.parse(fs.readFileSync(mcpPath, 'utf-8'));
867
+ if (config.mcpServers) {
868
+ const servers = Object.keys(config.mcpServers);
869
+ mcpServers.total = servers.length;
870
+ mcpServers.names = servers;
871
+ mcpServers.enabled = servers.length;
872
+ }
873
+ } catch (e) { /* ignore */ }
874
+ }
875
+ }
876
+
877
+ // Check for database (AgentDB, SQLite, etc.)
878
+ const dbPaths = [
879
+ path.join(process.cwd(), '.swarm', 'memory.db'),
880
+ path.join(process.cwd(), '.claude-flow', 'memory.db'),
881
+ path.join(process.cwd(), 'data', 'memory.db'),
882
+ ];
883
+ hasDatabase = dbPaths.some(p => fs.existsSync(p));
884
+
885
+ // Check for cache
886
+ const cachePaths = [
887
+ path.join(process.cwd(), '.claude-flow', 'cache'),
888
+ path.join(process.cwd(), '.cache'),
889
+ path.join(process.cwd(), 'node_modules', '.cache'),
890
+ ];
891
+ hasCache = cachePaths.some(p => fs.existsSync(p));
892
+
893
+ // Check for API configuration (env vars or config)
894
+ try {
895
+ hasApi = !!(process.env.ANTHROPIC_API_KEY || process.env.OPENAI_API_KEY);
896
+ } catch (e) { /* ignore */ }
897
+
898
+ return { mcpServers, hasDatabase, hasCache, hasApi };
899
+ }
900
+
901
+ // Get git status (uncommitted changes, untracked files) - cross-platform
902
+ function getGitStatus() {
903
+ let modified = 0;
904
+ let untracked = 0;
905
+ let staged = 0;
906
+ let ahead = 0;
907
+ let behind = 0;
908
+ const isWindows = process.platform === 'win32';
909
+
910
+ try {
911
+ // Get modified and staged counts - works on all platforms
912
+ const status = execSync('git status --porcelain', {
913
+ encoding: 'utf-8',
914
+ stdio: ['pipe', 'pipe', 'pipe'], // Suppress stderr
915
+ timeout: 5000,
916
+ });
917
+ const lines = status.trim().split('\\n').filter(l => l);
918
+ for (const line of lines) {
919
+ const code = line.substring(0, 2);
920
+ if (code.includes('M') || code.includes('D') || code.includes('R')) {
921
+ if (code[0] !== ' ') staged++;
922
+ if (code[1] !== ' ') modified++;
923
+ }
924
+ if (code.includes('?')) untracked++;
925
+ if (code.includes('A')) staged++;
926
+ }
927
+
928
+ // Get ahead/behind - may fail if no upstream
929
+ try {
930
+ const abStatus = execSync('git rev-list --left-right --count HEAD...@{upstream}', {
931
+ encoding: 'utf-8',
932
+ stdio: ['pipe', 'pipe', 'pipe'],
933
+ timeout: 5000,
934
+ });
935
+ const parts = abStatus.trim().split(/\\s+/);
936
+ ahead = parseInt(parts[0]) || 0;
937
+ behind = parseInt(parts[1]) || 0;
938
+ } catch (e) { /* no upstream or error - that's ok */ }
939
+
940
+ } catch (e) {
941
+ // Not a git repo or git not installed - return zeros
942
+ }
943
+
944
+ return { modified, untracked, staged, ahead, behind };
945
+ }
946
+
947
+ // Get session statistics
948
+ function getSessionStats() {
949
+ let sessionStart = null;
950
+ let duration = '';
951
+ let lastActivity = '';
952
+ let operationsCount = 0;
953
+
954
+ // Check for session file
955
+ const sessionPaths = [
956
+ path.join(process.cwd(), '.claude-flow', 'session.json'),
957
+ path.join(process.cwd(), '.claude', 'session.json'),
958
+ ];
959
+
960
+ for (const sessPath of sessionPaths) {
961
+ if (fs.existsSync(sessPath)) {
962
+ try {
963
+ const data = JSON.parse(fs.readFileSync(sessPath, 'utf-8'));
964
+ if (data.startTime) {
965
+ sessionStart = new Date(data.startTime);
966
+ const now = new Date();
967
+ const diffMs = now.getTime() - sessionStart.getTime();
968
+ const diffMins = Math.floor(diffMs / 60000);
969
+ if (diffMins < 60) {
970
+ duration = \`\${diffMins}m\`;
971
+ } else {
972
+ const hours = Math.floor(diffMins / 60);
973
+ const mins = diffMins % 60;
974
+ duration = \`\${hours}h\${mins}m\`;
975
+ }
976
+ }
977
+ if (data.lastActivity) {
978
+ const last = new Date(data.lastActivity);
979
+ const now = new Date();
980
+ const diffMs = now.getTime() - last.getTime();
981
+ const diffMins = Math.floor(diffMs / 60000);
982
+ if (diffMins < 1) lastActivity = 'now';
983
+ else if (diffMins < 60) lastActivity = \`\${diffMins}m ago\`;
984
+ else lastActivity = \`\${Math.floor(diffMins / 60)}h ago\`;
985
+ }
986
+ operationsCount = data.operationsCount || data.commandCount || 0;
987
+ break;
988
+ } catch (e) { /* ignore */ }
989
+ }
990
+ }
991
+
992
+ // Fallback: check metrics for activity
993
+ if (!duration) {
994
+ const metricsPath = path.join(process.cwd(), '.claude-flow', 'metrics', 'activity.json');
995
+ if (fs.existsSync(metricsPath)) {
996
+ try {
997
+ const data = JSON.parse(fs.readFileSync(metricsPath, 'utf-8'));
998
+ operationsCount = data.totalOperations || 0;
999
+ } catch (e) { /* ignore */ }
1000
+ }
1001
+ }
1002
+
1003
+ return { duration, lastActivity, operationsCount };
1004
+ }
1005
+
1006
+ // Get trend indicator based on change
1007
+ function getTrend(current, previous) {
1008
+ if (previous === null || previous === undefined) return '';
1009
+ if (current > previous) return \`\${c.brightGreen}↑\${c.reset}\`;
1010
+ if (current < previous) return \`\${c.brightRed}↓\${c.reset}\`;
1011
+ return \`\${c.dim}→\${c.reset}\`;
1012
+ }
1013
+
1014
+ // Store previous values for trends (persisted between calls)
1015
+ let prevIntelligence = null;
1016
+ try {
1017
+ const trendPath = path.join(process.cwd(), '.claude-flow', '.trend-cache.json');
1018
+ if (fs.existsSync(trendPath)) {
1019
+ const data = JSON.parse(fs.readFileSync(trendPath, 'utf-8'));
1020
+ prevIntelligence = data.intelligence;
1021
+ }
1022
+ } catch (e) { /* ignore */ }
1023
+
1024
+ // Generate progress bar
1025
+ function progressBar(current, total) {
1026
+ const width = 5;
1027
+ const filled = Math.round((current / total) * width);
1028
+ const empty = width - filled;
1029
+ return '[' + '\\u25CF'.repeat(filled) + '\\u25CB'.repeat(empty) + ']';
1030
+ }
1031
+
1032
+ // Generate full statusline
1033
+ function generateStatusline() {
1034
+ const user = getUserInfo();
1035
+ const progress = getV3Progress();
1036
+ const security = getSecurityStatus();
1037
+ const swarm = getSwarmStatus();
1038
+ const system = getSystemMetrics();
1039
+ const adrs = getADRStatus();
1040
+ const hooks = getHooksStatus();
1041
+ const agentdb = getAgentDBStats();
1042
+ const tests = getTestStats();
1043
+ const git = getGitStatus();
1044
+ const session = getSessionStats();
1045
+ const integration = getIntegrationStatus();
1046
+ const lines = [];
1047
+
1048
+ // Calculate intelligence trend
1049
+ const intellTrend = getTrend(system.intelligencePct, prevIntelligence);
1050
+
1051
+ // Save current values for next trend calculation
1052
+ try {
1053
+ const trendPath = path.join(process.cwd(), '.claude-flow', '.trend-cache.json');
1054
+ const trendDir = path.dirname(trendPath);
1055
+ if (!fs.existsSync(trendDir)) fs.mkdirSync(trendDir, { recursive: true });
1056
+ fs.writeFileSync(trendPath, JSON.stringify({ intelligence: system.intelligencePct, timestamp: Date.now() }));
1057
+ } catch (e) { /* ignore */ }
1058
+
1059
+ // Header Line with git changes indicator
1060
+ let header = \`\${c.bold}\${c.brightPurple}▊ Claude Flow V3 \${c.reset}\`;
1061
+ header += \`\${swarm.coordinationActive ? c.brightCyan : c.dim}● \${c.brightCyan}\${user.name}\${c.reset}\`;
1062
+ if (user.gitBranch) {
1063
+ header += \` \${c.dim}│\${c.reset} \${c.brightBlue}⎇ \${user.gitBranch}\${c.reset}\`;
1064
+ // Add git changes indicator
1065
+ const gitChanges = git.modified + git.staged + git.untracked;
1066
+ if (gitChanges > 0) {
1067
+ let gitIndicator = '';
1068
+ if (git.staged > 0) gitIndicator += \`\${c.brightGreen}+\${git.staged}\${c.reset}\`;
1069
+ if (git.modified > 0) gitIndicator += \`\${c.brightYellow}~\${git.modified}\${c.reset}\`;
1070
+ if (git.untracked > 0) gitIndicator += \`\${c.dim}?\${git.untracked}\${c.reset}\`;
1071
+ header += \` \${gitIndicator}\`;
1072
+ }
1073
+ // Add ahead/behind indicator
1074
+ if (git.ahead > 0 || git.behind > 0) {
1075
+ if (git.ahead > 0) header += \` \${c.brightGreen}↑\${git.ahead}\${c.reset}\`;
1076
+ if (git.behind > 0) header += \` \${c.brightRed}↓\${git.behind}\${c.reset}\`;
1077
+ }
1078
+ }
1079
+ header += \` \${c.dim}│\${c.reset} \${c.purple}\${user.modelName}\${c.reset}\`;
1080
+ // Add session duration if available
1081
+ if (session.duration) {
1082
+ header += \` \${c.dim}│\${c.reset} \${c.cyan}⏱ \${session.duration}\${c.reset}\`;
1083
+ }
1084
+ lines.push(header);
1085
+
1086
+ // Separator
1087
+ lines.push(\`\${c.dim}─────────────────────────────────────────────────────\${c.reset}\`);
1088
+
1089
+ // Line 1: DDD Domain Progress with dynamic performance indicator
1090
+ const domainsColor = progress.domainsCompleted >= 3 ? c.brightGreen : progress.domainsCompleted > 0 ? c.yellow : c.red;
1091
+ // Show HNSW speedup if enabled, otherwise show patterns learned
1092
+ let perfIndicator = '';
1093
+ if (agentdb.hasHnsw && agentdb.vectorCount > 0) {
1094
+ // HNSW enabled: show estimated speedup (150x-12500x based on vector count)
1095
+ const speedup = agentdb.vectorCount > 10000 ? '12500x' : agentdb.vectorCount > 1000 ? '150x' : '10x';
1096
+ perfIndicator = \`\${c.brightGreen}⚡ HNSW \${speedup}\${c.reset}\`;
1097
+ } else if (progress.patternsLearned > 0) {
1098
+ // Show patterns learned
1099
+ const patternsK = progress.patternsLearned >= 1000
1100
+ ? \`\${(progress.patternsLearned / 1000).toFixed(1)}k\`
1101
+ : String(progress.patternsLearned);
1102
+ perfIndicator = \`\${c.brightYellow}📚 \${patternsK} patterns\${c.reset}\`;
1103
+ } else {
1104
+ // New project: show target
1105
+ perfIndicator = \`\${c.dim}⚡ target: 150x-12500x\${c.reset}\`;
1106
+ }
1107
+ lines.push(
1108
+ \`\${c.brightCyan}🏗️ DDD Domains\${c.reset} \${progressBar(progress.domainsCompleted, progress.totalDomains)} \` +
1109
+ \`\${domainsColor}\${progress.domainsCompleted}\${c.reset}/\${c.brightWhite}\${progress.totalDomains}\${c.reset} \` +
1110
+ perfIndicator
1111
+ );
1112
+
1113
+ // Line 2: Swarm + Hooks + CVE + Memory + Context + Intelligence
1114
+ const swarmIndicator = swarm.coordinationActive ? \`\${c.brightGreen}◉\${c.reset}\` : \`\${c.dim}○\${c.reset}\`;
1115
+ const agentsColor = swarm.activeAgents > 0 ? c.brightGreen : c.red;
1116
+ let securityIcon = security.status === 'CLEAN' ? '🟢' : security.status === 'IN_PROGRESS' ? '🟡' : '🔴';
1117
+ let securityColor = security.status === 'CLEAN' ? c.brightGreen : security.status === 'IN_PROGRESS' ? c.brightYellow : c.brightRed;
1118
+ const hooksColor = hooks.enabled > 0 ? c.brightGreen : c.dim;
1119
+
1120
+ lines.push(
1121
+ \`\${c.brightYellow}🤖 Swarm\${c.reset} \${swarmIndicator} [\${agentsColor}\${String(swarm.activeAgents).padStart(2)}\${c.reset}/\${c.brightWhite}\${swarm.maxAgents}\${c.reset}] \` +
1122
+ \`\${c.brightPurple}👥 \${system.subAgents}\${c.reset} \` +
1123
+ \`\${c.brightBlue}🪝 \${hooksColor}\${hooks.enabled}\${c.reset}/\${c.brightWhite}\${hooks.total}\${c.reset} \` +
1124
+ \`\${securityIcon} \${securityColor}CVE \${security.cvesFixed}\${c.reset}/\${c.brightWhite}\${security.totalCves}\${c.reset} \` +
1125
+ \`\${c.brightCyan}💾 \${system.memoryMB}MB\${c.reset} \` +
1126
+ \`\${system.intelligencePct >= 80 ? c.brightGreen : system.intelligencePct >= 40 ? c.brightYellow : c.dim}🧠 \${String(system.intelligencePct).padStart(3)}%\${intellTrend}\${c.reset}\`
1127
+ );
1128
+
1129
+ // Line 3: Architecture status with ADRs, AgentDB, Tests
1130
+ const dddColor = progress.dddProgress >= 50 ? c.brightGreen : progress.dddProgress > 0 ? c.yellow : c.red;
1131
+ const adrColor = adrs.count > 0 ? (adrs.implemented === adrs.count ? c.brightGreen : c.yellow) : c.dim;
1132
+ const vectorColor = agentdb.vectorCount > 0 ? c.brightGreen : c.dim;
1133
+ const testColor = tests.testFiles > 0 ? c.brightGreen : c.dim;
1134
+
1135
+ // Show ADR compliance % if from real data, otherwise show count
1136
+ const adrDisplay = adrs.compliance > 0
1137
+ ? \`\${adrColor}●\${adrs.compliance}%\${c.reset}\`
1138
+ : \`\${adrColor}●\${adrs.implemented}/\${adrs.count}\${c.reset}\`;
1139
+
1140
+ lines.push(
1141
+ \`\${c.brightPurple}🔧 Architecture\${c.reset} \` +
1142
+ \`\${c.cyan}ADRs\${c.reset} \${adrDisplay} \${c.dim}│\${c.reset} \` +
1143
+ \`\${c.cyan}DDD\${c.reset} \${dddColor}●\${String(progress.dddProgress).padStart(3)}%\${c.reset} \${c.dim}│\${c.reset} \` +
1144
+ \`\${c.cyan}Security\${c.reset} \${securityColor}●\${security.status}\${c.reset}\`
1145
+ );
1146
+
1147
+ // Line 4: Memory, Vectors, Tests
1148
+ const hnswIndicator = agentdb.hasHnsw ? \`\${c.brightGreen}⚡\${c.reset}\` : '';
1149
+ const sizeDisplay = agentdb.dbSizeKB >= 1024
1150
+ ? \`\${(agentdb.dbSizeKB / 1024).toFixed(1)}MB\`
1151
+ : \`\${agentdb.dbSizeKB}KB\`;
1152
+ // Build integration status string
1153
+ let integrationStr = '';
1154
+ if (integration.mcpServers.total > 0) {
1155
+ const mcpColor = integration.mcpServers.enabled === integration.mcpServers.total ? c.brightGreen :
1156
+ integration.mcpServers.enabled > 0 ? c.brightYellow : c.red;
1157
+ integrationStr += \`\${c.cyan}MCP\${c.reset} \${mcpColor}●\${integration.mcpServers.enabled}/\${integration.mcpServers.total}\${c.reset}\`;
1158
+ }
1159
+ if (integration.hasDatabase) {
1160
+ integrationStr += (integrationStr ? ' ' : '') + \`\${c.brightGreen}◆\${c.reset}DB\`;
1161
+ }
1162
+ if (integration.hasApi) {
1163
+ integrationStr += (integrationStr ? ' ' : '') + \`\${c.brightGreen}◆\${c.reset}API\`;
1164
+ }
1165
+ if (!integrationStr) {
1166
+ integrationStr = \`\${c.dim}●none\${c.reset}\`;
1167
+ }
1168
+
1169
+ lines.push(
1170
+ \`\${c.brightCyan}📊 AgentDB\${c.reset} \` +
1171
+ \`\${c.cyan}Vectors\${c.reset} \${vectorColor}●\${agentdb.vectorCount}\${hnswIndicator}\${c.reset} \${c.dim}│\${c.reset} \` +
1172
+ \`\${c.cyan}Size\${c.reset} \${c.brightWhite}\${sizeDisplay}\${c.reset} \${c.dim}│\${c.reset} \` +
1173
+ \`\${c.cyan}Tests\${c.reset} \${testColor}●\${tests.testFiles}\${c.reset} \${c.dim}(\${tests.testCases} cases)\${c.reset} \${c.dim}│\${c.reset} \` +
1174
+ integrationStr
1175
+ );
1176
+
1177
+ return lines.join('\\n');
1178
+ }
1179
+
1180
+ // Generate JSON data
1181
+ function generateJSON() {
1182
+ return {
1183
+ user: getUserInfo(),
159
1184
  v3Progress: getV3Progress(),
160
1185
  security: getSecurityStatus(),
161
1186
  swarm: getSwarmStatus(),
162
- hooks: getHooksMetrics(),
1187
+ system: getSystemMetrics(),
1188
+ adrs: getADRStatus(),
1189
+ hooks: getHooksStatus(),
1190
+ agentdb: getAgentDBStats(),
1191
+ tests: getTestStats(),
163
1192
  performance: {
164
1193
  flashAttentionTarget: '2.49x-7.47x',
165
- searchImprovement: '150x-12500x',
1194
+ searchImprovement: '150x-12,500x',
166
1195
  memoryReduction: '50-75%',
167
1196
  },
168
1197
  lastUpdated: new Date().toISOString(),
169
1198
  };
170
- console.log(JSON.stringify(data, null, 2));
1199
+ }
1200
+
1201
+ // Main
1202
+ if (process.argv.includes('--json')) {
1203
+ console.log(JSON.stringify(generateJSON(), null, 2));
1204
+ } else if (process.argv.includes('--compact')) {
1205
+ console.log(JSON.stringify(generateJSON()));
171
1206
  } else {
172
1207
  console.log(generateStatusline());
173
1208
  }
@@ -185,7 +1220,7 @@ export function generateStatuslineHook(options) {
185
1220
 
186
1221
  # Function to get statusline
187
1222
  claude_flow_statusline() {
188
- local statusline_script="\${CLAUDE_FLOW_DIR:-.claude}/helpers/statusline.js"
1223
+ local statusline_script="\${CLAUDE_FLOW_DIR:-.claude}/helpers/statusline.cjs"
189
1224
  if [ -f "$statusline_script" ]; then
190
1225
  node "$statusline_script" 2>/dev/null || echo ""
191
1226
  fi
@@ -199,8 +1234,8 @@ claude_flow_statusline() {
199
1234
 
200
1235
  # For starship (add to starship.toml)
201
1236
  # [custom.claude_flow]
202
- # command = "node .claude/helpers/statusline.js 2>/dev/null"
203
- # when = "test -f .claude/helpers/statusline.js"
1237
+ # command = "node .claude/helpers/statusline.cjs 2>/dev/null"
1238
+ # when = "test -f .claude/helpers/statusline.cjs"
204
1239
  `;
205
1240
  }
206
1241
  //# sourceMappingURL=statusline-generator.js.map