@sparkleideas/cli 3.1.0-alpha.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. package/.claude/agents/analysis/analyze-code-quality.md +179 -0
  2. package/.claude/agents/analysis/code-analyzer.md +210 -0
  3. package/.claude/agents/analysis/code-review/analyze-code-quality.md +179 -0
  4. package/.claude/agents/architecture/arch-system-design.md +157 -0
  5. package/.claude/agents/architecture/system-design/arch-system-design.md +155 -0
  6. package/.claude/agents/browser/browser-agent.yaml +182 -0
  7. package/.claude/agents/consensus/byzantine-coordinator.md +63 -0
  8. package/.claude/agents/consensus/crdt-synchronizer.md +997 -0
  9. package/.claude/agents/consensus/gossip-coordinator.md +63 -0
  10. package/.claude/agents/consensus/performance-benchmarker.md +851 -0
  11. package/.claude/agents/consensus/quorum-manager.md +823 -0
  12. package/.claude/agents/consensus/raft-manager.md +63 -0
  13. package/.claude/agents/consensus/security-manager.md +622 -0
  14. package/.claude/agents/core/coder.md +453 -0
  15. package/.claude/agents/core/planner.md +375 -0
  16. package/.claude/agents/core/researcher.md +369 -0
  17. package/.claude/agents/core/reviewer.md +520 -0
  18. package/.claude/agents/core/tester.md +512 -0
  19. package/.claude/agents/custom/test-long-runner.md +44 -0
  20. package/.claude/agents/data/data-ml-model.md +445 -0
  21. package/.claude/agents/data/ml/data-ml-model.md +193 -0
  22. package/.claude/agents/development/backend/dev-backend-api.md +142 -0
  23. package/.claude/agents/development/dev-backend-api.md +345 -0
  24. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
  25. package/.claude/agents/devops/ops-cicd-github.md +165 -0
  26. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
  27. package/.claude/agents/documentation/docs-api-openapi.md +355 -0
  28. package/.claude/agents/flow-nexus/app-store.md +88 -0
  29. package/.claude/agents/flow-nexus/authentication.md +69 -0
  30. package/.claude/agents/flow-nexus/challenges.md +81 -0
  31. package/.claude/agents/flow-nexus/neural-network.md +88 -0
  32. package/.claude/agents/flow-nexus/payments.md +83 -0
  33. package/.claude/agents/flow-nexus/sandbox.md +76 -0
  34. package/.claude/agents/flow-nexus/swarm.md +76 -0
  35. package/.claude/agents/flow-nexus/user-tools.md +96 -0
  36. package/.claude/agents/flow-nexus/workflow.md +84 -0
  37. package/.claude/agents/github/code-review-swarm.md +377 -0
  38. package/.claude/agents/github/github-modes.md +173 -0
  39. package/.claude/agents/github/issue-tracker.md +576 -0
  40. package/.claude/agents/github/multi-repo-swarm.md +553 -0
  41. package/.claude/agents/github/pr-manager.md +438 -0
  42. package/.claude/agents/github/project-board-sync.md +509 -0
  43. package/.claude/agents/github/release-manager.md +605 -0
  44. package/.claude/agents/github/release-swarm.md +583 -0
  45. package/.claude/agents/github/repo-architect.md +398 -0
  46. package/.claude/agents/github/swarm-issue.md +573 -0
  47. package/.claude/agents/github/swarm-pr.md +428 -0
  48. package/.claude/agents/github/sync-coordinator.md +452 -0
  49. package/.claude/agents/github/workflow-automation.md +903 -0
  50. package/.claude/agents/goal/agent.md +816 -0
  51. package/.claude/agents/goal/goal-planner.md +73 -0
  52. package/.claude/agents/optimization/benchmark-suite.md +665 -0
  53. package/.claude/agents/optimization/load-balancer.md +431 -0
  54. package/.claude/agents/optimization/performance-monitor.md +672 -0
  55. package/.claude/agents/optimization/resource-allocator.md +674 -0
  56. package/.claude/agents/optimization/topology-optimizer.md +808 -0
  57. package/.claude/agents/payments/agentic-payments.md +126 -0
  58. package/.claude/agents/sona/sona-learning-optimizer.md +74 -0
  59. package/.claude/agents/sparc/architecture.md +699 -0
  60. package/.claude/agents/sparc/pseudocode.md +520 -0
  61. package/.claude/agents/sparc/refinement.md +802 -0
  62. package/.claude/agents/sparc/specification.md +478 -0
  63. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +225 -0
  64. package/.claude/agents/specialized/spec-mobile-react-native.md +227 -0
  65. package/.claude/agents/sublinear/consensus-coordinator.md +338 -0
  66. package/.claude/agents/sublinear/matrix-optimizer.md +185 -0
  67. package/.claude/agents/sublinear/pagerank-analyzer.md +299 -0
  68. package/.claude/agents/sublinear/performance-optimizer.md +368 -0
  69. package/.claude/agents/sublinear/trading-predictor.md +246 -0
  70. package/.claude/agents/swarm/adaptive-coordinator.md +1127 -0
  71. package/.claude/agents/swarm/hierarchical-coordinator.md +710 -0
  72. package/.claude/agents/swarm/mesh-coordinator.md +963 -0
  73. package/.claude/agents/templates/automation-smart-agent.md +205 -0
  74. package/.claude/agents/templates/base-template-generator.md +268 -0
  75. package/.claude/agents/templates/coordinator-swarm-init.md +90 -0
  76. package/.claude/agents/templates/github-pr-manager.md +177 -0
  77. package/.claude/agents/templates/implementer-sparc-coder.md +259 -0
  78. package/.claude/agents/templates/memory-coordinator.md +187 -0
  79. package/.claude/agents/templates/orchestrator-task.md +139 -0
  80. package/.claude/agents/templates/performance-analyzer.md +199 -0
  81. package/.claude/agents/templates/sparc-coordinator.md +514 -0
  82. package/.claude/agents/testing/production-validator.md +395 -0
  83. package/.claude/agents/testing/tdd-london-swarm.md +244 -0
  84. package/.claude/agents/tmp.json +0 -0
  85. package/.claude/agents/v3/adr-architect.md +184 -0
  86. package/.claude/agents/v3/aidefence-guardian.md +282 -0
  87. package/.claude/agents/v3/claims-authorizer.md +208 -0
  88. package/.claude/agents/v3/collective-intelligence-coordinator.md +993 -0
  89. package/.claude/agents/v3/ddd-domain-expert.md +220 -0
  90. package/.claude/agents/v3/injection-analyst.md +236 -0
  91. package/.claude/agents/v3/memory-specialist.md +995 -0
  92. package/.claude/agents/v3/performance-engineer.md +1233 -0
  93. package/.claude/agents/v3/pii-detector.md +151 -0
  94. package/.claude/agents/v3/reasoningbank-learner.md +213 -0
  95. package/.claude/agents/v3/security-architect-aidefence.md +410 -0
  96. package/.claude/agents/v3/security-architect.md +867 -0
  97. package/.claude/agents/v3/security-auditor.md +771 -0
  98. package/.claude/agents/v3/sparc-orchestrator.md +182 -0
  99. package/.claude/agents/v3/swarm-memory-manager.md +157 -0
  100. package/.claude/agents/v3/v3-integration-architect.md +205 -0
  101. package/.claude/commands/agents/README.md +50 -0
  102. package/.claude/commands/agents/agent-capabilities.md +140 -0
  103. package/.claude/commands/agents/agent-coordination.md +28 -0
  104. package/.claude/commands/agents/agent-spawning.md +28 -0
  105. package/.claude/commands/agents/agent-types.md +216 -0
  106. package/.claude/commands/agents/health.md +139 -0
  107. package/.claude/commands/agents/list.md +100 -0
  108. package/.claude/commands/agents/logs.md +130 -0
  109. package/.claude/commands/agents/metrics.md +122 -0
  110. package/.claude/commands/agents/pool.md +127 -0
  111. package/.claude/commands/agents/spawn.md +140 -0
  112. package/.claude/commands/agents/status.md +115 -0
  113. package/.claude/commands/agents/stop.md +102 -0
  114. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
  115. package/.claude/commands/analysis/README.md +9 -0
  116. package/.claude/commands/analysis/bottleneck-detect.md +162 -0
  117. package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
  118. package/.claude/commands/analysis/performance-report.md +25 -0
  119. package/.claude/commands/analysis/token-efficiency.md +45 -0
  120. package/.claude/commands/analysis/token-usage.md +25 -0
  121. package/.claude/commands/automation/README.md +9 -0
  122. package/.claude/commands/automation/auto-agent.md +122 -0
  123. package/.claude/commands/automation/self-healing.md +106 -0
  124. package/.claude/commands/automation/session-memory.md +90 -0
  125. package/.claude/commands/automation/smart-agents.md +73 -0
  126. package/.claude/commands/automation/smart-spawn.md +25 -0
  127. package/.claude/commands/automation/workflow-select.md +25 -0
  128. package/.claude/commands/claude-flow-help.md +103 -0
  129. package/.claude/commands/claude-flow-memory.md +107 -0
  130. package/.claude/commands/claude-flow-swarm.md +205 -0
  131. package/.claude/commands/coordination/README.md +9 -0
  132. package/.claude/commands/coordination/agent-spawn.md +25 -0
  133. package/.claude/commands/coordination/init.md +44 -0
  134. package/.claude/commands/coordination/orchestrate.md +43 -0
  135. package/.claude/commands/coordination/spawn.md +45 -0
  136. package/.claude/commands/coordination/swarm-init.md +85 -0
  137. package/.claude/commands/coordination/task-orchestrate.md +25 -0
  138. package/.claude/commands/flow-nexus/app-store.md +124 -0
  139. package/.claude/commands/flow-nexus/challenges.md +120 -0
  140. package/.claude/commands/flow-nexus/login-registration.md +65 -0
  141. package/.claude/commands/flow-nexus/neural-network.md +134 -0
  142. package/.claude/commands/flow-nexus/payments.md +116 -0
  143. package/.claude/commands/flow-nexus/sandbox.md +83 -0
  144. package/.claude/commands/flow-nexus/swarm.md +87 -0
  145. package/.claude/commands/flow-nexus/user-tools.md +152 -0
  146. package/.claude/commands/flow-nexus/workflow.md +115 -0
  147. package/.claude/commands/github/README.md +11 -0
  148. package/.claude/commands/github/code-review-swarm.md +514 -0
  149. package/.claude/commands/github/code-review.md +25 -0
  150. package/.claude/commands/github/github-modes.md +147 -0
  151. package/.claude/commands/github/github-swarm.md +121 -0
  152. package/.claude/commands/github/issue-tracker.md +292 -0
  153. package/.claude/commands/github/issue-triage.md +25 -0
  154. package/.claude/commands/github/multi-repo-swarm.md +519 -0
  155. package/.claude/commands/github/pr-enhance.md +26 -0
  156. package/.claude/commands/github/pr-manager.md +170 -0
  157. package/.claude/commands/github/project-board-sync.md +471 -0
  158. package/.claude/commands/github/release-manager.md +338 -0
  159. package/.claude/commands/github/release-swarm.md +544 -0
  160. package/.claude/commands/github/repo-analyze.md +25 -0
  161. package/.claude/commands/github/repo-architect.md +367 -0
  162. package/.claude/commands/github/swarm-issue.md +482 -0
  163. package/.claude/commands/github/swarm-pr.md +285 -0
  164. package/.claude/commands/github/sync-coordinator.md +301 -0
  165. package/.claude/commands/github/workflow-automation.md +442 -0
  166. package/.claude/commands/hive-mind/README.md +17 -0
  167. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
  168. package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
  169. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
  170. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
  171. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
  172. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
  173. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
  174. package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
  175. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
  176. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
  177. package/.claude/commands/hive-mind/hive-mind.md +27 -0
  178. package/.claude/commands/hooks/README.md +11 -0
  179. package/.claude/commands/hooks/overview.md +58 -0
  180. package/.claude/commands/hooks/post-edit.md +117 -0
  181. package/.claude/commands/hooks/post-task.md +112 -0
  182. package/.claude/commands/hooks/pre-edit.md +113 -0
  183. package/.claude/commands/hooks/pre-task.md +111 -0
  184. package/.claude/commands/hooks/session-end.md +118 -0
  185. package/.claude/commands/hooks/setup.md +103 -0
  186. package/.claude/commands/memory/README.md +9 -0
  187. package/.claude/commands/memory/memory-persist.md +25 -0
  188. package/.claude/commands/memory/memory-search.md +25 -0
  189. package/.claude/commands/memory/memory-usage.md +25 -0
  190. package/.claude/commands/memory/neural.md +47 -0
  191. package/.claude/commands/monitoring/README.md +9 -0
  192. package/.claude/commands/monitoring/agent-metrics.md +25 -0
  193. package/.claude/commands/monitoring/agents.md +44 -0
  194. package/.claude/commands/monitoring/real-time-view.md +25 -0
  195. package/.claude/commands/monitoring/status.md +46 -0
  196. package/.claude/commands/monitoring/swarm-monitor.md +25 -0
  197. package/.claude/commands/optimization/README.md +9 -0
  198. package/.claude/commands/optimization/auto-topology.md +62 -0
  199. package/.claude/commands/optimization/cache-manage.md +25 -0
  200. package/.claude/commands/optimization/parallel-execute.md +25 -0
  201. package/.claude/commands/optimization/parallel-execution.md +50 -0
  202. package/.claude/commands/optimization/topology-optimize.md +25 -0
  203. package/.claude/commands/pair/README.md +261 -0
  204. package/.claude/commands/pair/commands.md +546 -0
  205. package/.claude/commands/pair/config.md +510 -0
  206. package/.claude/commands/pair/examples.md +512 -0
  207. package/.claude/commands/pair/modes.md +348 -0
  208. package/.claude/commands/pair/session.md +407 -0
  209. package/.claude/commands/pair/start.md +209 -0
  210. package/.claude/commands/sparc/analyzer.md +52 -0
  211. package/.claude/commands/sparc/architect.md +53 -0
  212. package/.claude/commands/sparc/ask.md +97 -0
  213. package/.claude/commands/sparc/batch-executor.md +54 -0
  214. package/.claude/commands/sparc/code.md +89 -0
  215. package/.claude/commands/sparc/coder.md +54 -0
  216. package/.claude/commands/sparc/debug.md +83 -0
  217. package/.claude/commands/sparc/debugger.md +54 -0
  218. package/.claude/commands/sparc/designer.md +53 -0
  219. package/.claude/commands/sparc/devops.md +109 -0
  220. package/.claude/commands/sparc/docs-writer.md +80 -0
  221. package/.claude/commands/sparc/documenter.md +54 -0
  222. package/.claude/commands/sparc/innovator.md +54 -0
  223. package/.claude/commands/sparc/integration.md +83 -0
  224. package/.claude/commands/sparc/mcp.md +117 -0
  225. package/.claude/commands/sparc/memory-manager.md +54 -0
  226. package/.claude/commands/sparc/optimizer.md +54 -0
  227. package/.claude/commands/sparc/orchestrator.md +132 -0
  228. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -0
  229. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -0
  230. package/.claude/commands/sparc/researcher.md +54 -0
  231. package/.claude/commands/sparc/reviewer.md +54 -0
  232. package/.claude/commands/sparc/security-review.md +80 -0
  233. package/.claude/commands/sparc/sparc-modes.md +174 -0
  234. package/.claude/commands/sparc/sparc.md +111 -0
  235. package/.claude/commands/sparc/spec-pseudocode.md +80 -0
  236. package/.claude/commands/sparc/supabase-admin.md +348 -0
  237. package/.claude/commands/sparc/swarm-coordinator.md +54 -0
  238. package/.claude/commands/sparc/tdd.md +54 -0
  239. package/.claude/commands/sparc/tester.md +54 -0
  240. package/.claude/commands/sparc/tutorial.md +79 -0
  241. package/.claude/commands/sparc/workflow-manager.md +54 -0
  242. package/.claude/commands/sparc.md +166 -0
  243. package/.claude/commands/stream-chain/pipeline.md +121 -0
  244. package/.claude/commands/stream-chain/run.md +70 -0
  245. package/.claude/commands/swarm/README.md +15 -0
  246. package/.claude/commands/swarm/analysis.md +95 -0
  247. package/.claude/commands/swarm/development.md +96 -0
  248. package/.claude/commands/swarm/examples.md +168 -0
  249. package/.claude/commands/swarm/maintenance.md +102 -0
  250. package/.claude/commands/swarm/optimization.md +117 -0
  251. package/.claude/commands/swarm/research.md +136 -0
  252. package/.claude/commands/swarm/swarm-analysis.md +8 -0
  253. package/.claude/commands/swarm/swarm-background.md +8 -0
  254. package/.claude/commands/swarm/swarm-init.md +19 -0
  255. package/.claude/commands/swarm/swarm-modes.md +8 -0
  256. package/.claude/commands/swarm/swarm-monitor.md +8 -0
  257. package/.claude/commands/swarm/swarm-spawn.md +19 -0
  258. package/.claude/commands/swarm/swarm-status.md +8 -0
  259. package/.claude/commands/swarm/swarm-strategies.md +8 -0
  260. package/.claude/commands/swarm/swarm.md +87 -0
  261. package/.claude/commands/swarm/testing.md +131 -0
  262. package/.claude/commands/training/README.md +9 -0
  263. package/.claude/commands/training/model-update.md +25 -0
  264. package/.claude/commands/training/neural-patterns.md +108 -0
  265. package/.claude/commands/training/neural-train.md +75 -0
  266. package/.claude/commands/training/pattern-learn.md +25 -0
  267. package/.claude/commands/training/specialization.md +63 -0
  268. package/.claude/commands/truth/start.md +143 -0
  269. package/.claude/commands/verify/check.md +50 -0
  270. package/.claude/commands/verify/start.md +128 -0
  271. package/.claude/commands/workflows/README.md +9 -0
  272. package/.claude/commands/workflows/development.md +78 -0
  273. package/.claude/commands/workflows/research.md +63 -0
  274. package/.claude/commands/workflows/workflow-create.md +25 -0
  275. package/.claude/commands/workflows/workflow-execute.md +25 -0
  276. package/.claude/commands/workflows/workflow-export.md +25 -0
  277. package/.claude/helpers/README.md +97 -0
  278. package/.claude/helpers/adr-compliance.sh +186 -0
  279. package/.claude/helpers/auto-commit.sh +178 -0
  280. package/.claude/helpers/checkpoint-manager.sh +251 -0
  281. package/.claude/helpers/daemon-manager.sh +252 -0
  282. package/.claude/helpers/ddd-tracker.sh +144 -0
  283. package/.claude/helpers/github-safe.js +106 -0
  284. package/.claude/helpers/github-setup.sh +28 -0
  285. package/.claude/helpers/guidance-hook.sh +13 -0
  286. package/.claude/helpers/guidance-hooks.sh +102 -0
  287. package/.claude/helpers/health-monitor.sh +108 -0
  288. package/.claude/helpers/learning-hooks.sh +329 -0
  289. package/.claude/helpers/learning-optimizer.sh +127 -0
  290. package/.claude/helpers/learning-service.mjs +1144 -0
  291. package/.claude/helpers/memory.js +83 -0
  292. package/.claude/helpers/metrics-db.mjs +488 -0
  293. package/.claude/helpers/pattern-consolidator.sh +86 -0
  294. package/.claude/helpers/perf-worker.sh +160 -0
  295. package/.claude/helpers/post-commit +16 -0
  296. package/.claude/helpers/pre-commit +26 -0
  297. package/.claude/helpers/quick-start.sh +19 -0
  298. package/.claude/helpers/router.js +66 -0
  299. package/.claude/helpers/security-scanner.sh +127 -0
  300. package/.claude/helpers/session.js +127 -0
  301. package/.claude/helpers/setup-mcp.sh +18 -0
  302. package/.claude/helpers/standard-checkpoint-hooks.sh +189 -0
  303. package/.claude/helpers/statusline-hook.sh +21 -0
  304. package/.claude/helpers/statusline.cjs +509 -0
  305. package/.claude/helpers/statusline.js +316 -0
  306. package/.claude/helpers/swarm-comms.sh +353 -0
  307. package/.claude/helpers/swarm-hooks.sh +761 -0
  308. package/.claude/helpers/swarm-monitor.sh +211 -0
  309. package/.claude/helpers/sync-v3-metrics.sh +245 -0
  310. package/.claude/helpers/update-v3-progress.sh +166 -0
  311. package/.claude/helpers/v3-quick-status.sh +58 -0
  312. package/.claude/helpers/v3.sh +111 -0
  313. package/.claude/helpers/validate-v3-config.sh +216 -0
  314. package/.claude/helpers/worker-manager.sh +170 -0
  315. package/.claude/settings.json +237 -0
  316. package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
  317. package/.claude/skills/agentdb-learning/SKILL.md +545 -0
  318. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
  319. package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
  320. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
  321. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  322. package/.claude/skills/aidefence-scan.md +151 -0
  323. package/.claude/skills/aidefence.yaml +297 -0
  324. package/.claude/skills/browser/SKILL.md +204 -0
  325. package/.claude/skills/flow-nexus-neural/SKILL.md +738 -0
  326. package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -0
  327. package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -0
  328. package/.claude/skills/github-code-review/SKILL.md +1140 -0
  329. package/.claude/skills/github-multi-repo/SKILL.md +874 -0
  330. package/.claude/skills/github-project-management/SKILL.md +1277 -0
  331. package/.claude/skills/github-release-management/SKILL.md +1081 -0
  332. package/.claude/skills/github-workflow-automation/SKILL.md +1065 -0
  333. package/.claude/skills/hive-mind-advanced/SKILL.md +712 -0
  334. package/.claude/skills/hooks-automation/SKILL.md +1201 -0
  335. package/.claude/skills/pair-programming/SKILL.md +1202 -0
  336. package/.claude/skills/performance-analysis/SKILL.md +563 -0
  337. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
  338. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
  339. package/.claude/skills/secure-review.md +181 -0
  340. package/.claude/skills/skill-builder/SKILL.md +910 -0
  341. package/.claude/skills/sparc-methodology/SKILL.md +1115 -0
  342. package/.claude/skills/stream-chain/SKILL.md +563 -0
  343. package/.claude/skills/swarm-advanced/SKILL.md +973 -0
  344. package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  345. package/.claude/skills/v3-cli-modernization/SKILL.md +872 -0
  346. package/.claude/skills/v3-core-implementation/SKILL.md +797 -0
  347. package/.claude/skills/v3-ddd-architecture/SKILL.md +442 -0
  348. package/.claude/skills/v3-integration-deep/SKILL.md +241 -0
  349. package/.claude/skills/v3-mcp-optimization/SKILL.md +777 -0
  350. package/.claude/skills/v3-memory-unification/SKILL.md +174 -0
  351. package/.claude/skills/v3-performance-optimization/SKILL.md +390 -0
  352. package/.claude/skills/v3-security-overhaul/SKILL.md +82 -0
  353. package/.claude/skills/v3-swarm-coordination/SKILL.md +340 -0
  354. package/.claude/skills/verification-quality/SKILL.md +649 -0
  355. package/.claude/skills/worker-benchmarks/skill.md +135 -0
  356. package/.claude/skills/worker-integration/skill.md +154 -0
  357. package/README.md +7065 -0
  358. package/bin/cli.js +156 -0
  359. package/bin/mcp-server.js +189 -0
  360. package/package.json +107 -0
@@ -0,0 +1,509 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Claude Flow V3 Statusline Generator
4
+ * Displays real-time V3 implementation progress and system status
5
+ *
6
+ * Usage: node statusline.cjs [options]
7
+ *
8
+ * Options:
9
+ * (default) Safe multi-line output with collision zone avoidance
10
+ * --single Single-line output (completely avoids collision)
11
+ * --unsafe Legacy multi-line without collision avoidance
12
+ * --legacy Alias for --unsafe
13
+ * --json JSON output with pretty printing
14
+ * --compact JSON output without formatting
15
+ *
16
+ * Collision Zone Fix (Issue #985):
17
+ * Claude Code writes its internal status (e.g., "7s β€’ 1p") at absolute
18
+ * terminal coordinates (columns 15-25 on second-to-last line). The safe
19
+ * mode pads the collision line with spaces to push content past column 25.
20
+ *
21
+ * IMPORTANT: This file uses .cjs extension to work in ES module projects.
22
+ * The require() syntax is intentional for CommonJS compatibility.
23
+ */
24
+
25
+ /* eslint-disable @typescript-eslint/no-var-requires */
26
+ const fs = require('fs');
27
+ const path = require('path');
28
+ const { execSync } = require('child_process');
29
+
30
+ // Configuration
31
+ const CONFIG = {
32
+ enabled: true,
33
+ showProgress: true,
34
+ showSecurity: true,
35
+ showSwarm: true,
36
+ showHooks: true,
37
+ showPerformance: true,
38
+ refreshInterval: 5000,
39
+ maxAgents: 15,
40
+ topology: 'hierarchical-mesh',
41
+ };
42
+
43
+ // Cross-platform helpers
44
+ const isWindows = process.platform === 'win32';
45
+ const nullDevice = isWindows ? 'NUL' : '/dev/null';
46
+
47
+ // ANSI colors
48
+ const c = {
49
+ reset: '\x1b[0m',
50
+ bold: '\x1b[1m',
51
+ dim: '\x1b[2m',
52
+ red: '\x1b[0;31m',
53
+ green: '\x1b[0;32m',
54
+ yellow: '\x1b[0;33m',
55
+ blue: '\x1b[0;34m',
56
+ purple: '\x1b[0;35m',
57
+ cyan: '\x1b[0;36m',
58
+ brightRed: '\x1b[1;31m',
59
+ brightGreen: '\x1b[1;32m',
60
+ brightYellow: '\x1b[1;33m',
61
+ brightBlue: '\x1b[1;34m',
62
+ brightPurple: '\x1b[1;35m',
63
+ brightCyan: '\x1b[1;36m',
64
+ brightWhite: '\x1b[1;37m',
65
+ };
66
+
67
+ // Get user info
68
+ function getUserInfo() {
69
+ let name = 'user';
70
+ let gitBranch = '';
71
+ let modelName = 'Unknown';
72
+
73
+ try {
74
+ const gitUserCmd = isWindows
75
+ ? 'git config user.name 2>NUL || echo user'
76
+ : 'git config user.name 2>/dev/null || echo "user"';
77
+ const gitBranchCmd = isWindows
78
+ ? 'git branch --show-current 2>NUL || echo.'
79
+ : 'git branch --show-current 2>/dev/null || echo ""';
80
+ name = execSync(gitUserCmd, { encoding: 'utf-8' }).trim();
81
+ gitBranch = execSync(gitBranchCmd, { encoding: 'utf-8' }).trim();
82
+ if (gitBranch === '.') gitBranch = ''; // Windows echo. outputs a dot
83
+ } catch (e) {
84
+ // Ignore errors
85
+ }
86
+
87
+ // Auto-detect model from Claude Code's config
88
+ try {
89
+ const homedir = require('os').homedir();
90
+ const claudeConfigPath = path.join(homedir, '.claude.json');
91
+ if (fs.existsSync(claudeConfigPath)) {
92
+ const claudeConfig = JSON.parse(fs.readFileSync(claudeConfigPath, 'utf-8'));
93
+ // Try to find lastModelUsage - check current dir and parent dirs
94
+ let lastModelUsage = null;
95
+ const cwd = process.cwd();
96
+ if (claudeConfig.projects) {
97
+ // Try exact match first, then check if cwd starts with any project path
98
+ for (const [projectPath, projectConfig] of Object.entries(claudeConfig.projects)) {
99
+ if (cwd === projectPath || cwd.startsWith(projectPath + '/')) {
100
+ lastModelUsage = projectConfig.lastModelUsage;
101
+ break;
102
+ }
103
+ }
104
+ }
105
+ if (lastModelUsage) {
106
+ const modelIds = Object.keys(lastModelUsage);
107
+ if (modelIds.length > 0) {
108
+ // Take the last model (most recently added to the object)
109
+ // Or find the one with most tokens (most actively used this session)
110
+ let modelId = modelIds[modelIds.length - 1];
111
+ if (modelIds.length > 1) {
112
+ // If multiple models, pick the one with most total tokens
113
+ let maxTokens = 0;
114
+ for (const id of modelIds) {
115
+ const usage = lastModelUsage[id];
116
+ const total = (usage.inputTokens || 0) + (usage.outputTokens || 0);
117
+ if (total > maxTokens) {
118
+ maxTokens = total;
119
+ modelId = id;
120
+ }
121
+ }
122
+ }
123
+ // Parse model ID to human-readable name
124
+ if (modelId.includes('opus')) modelName = 'Opus 4.5';
125
+ else if (modelId.includes('sonnet')) modelName = 'Sonnet 4';
126
+ else if (modelId.includes('haiku')) modelName = 'Haiku 4.5';
127
+ else modelName = modelId.split('-').slice(1, 3).join(' ');
128
+ }
129
+ }
130
+ }
131
+ } catch (e) {
132
+ // Fallback to Unknown if can't read config
133
+ }
134
+
135
+ return { name, gitBranch, modelName };
136
+ }
137
+
138
+ // Get learning stats from memory database
139
+ function getLearningStats() {
140
+ const memoryPaths = [
141
+ path.join(process.cwd(), '.swarm', 'memory.db'),
142
+ path.join(process.cwd(), '.claude', 'memory.db'),
143
+ path.join(process.cwd(), 'data', 'memory.db'),
144
+ ];
145
+
146
+ let patterns = 0;
147
+ let sessions = 0;
148
+ let trajectories = 0;
149
+
150
+ // Try to read from sqlite database
151
+ for (const dbPath of memoryPaths) {
152
+ if (fs.existsSync(dbPath)) {
153
+ try {
154
+ // Count entries in memory file (rough estimate from file size)
155
+ const stats = fs.statSync(dbPath);
156
+ const sizeKB = stats.size / 1024;
157
+ // Estimate: ~2KB per pattern on average
158
+ patterns = Math.floor(sizeKB / 2);
159
+ sessions = Math.max(1, Math.floor(patterns / 10));
160
+ trajectories = Math.floor(patterns / 5);
161
+ break;
162
+ } catch (e) {
163
+ // Ignore
164
+ }
165
+ }
166
+ }
167
+
168
+ // Also check for session files
169
+ const sessionsPath = path.join(process.cwd(), '.claude', 'sessions');
170
+ if (fs.existsSync(sessionsPath)) {
171
+ try {
172
+ const sessionFiles = fs.readdirSync(sessionsPath).filter(f => f.endsWith('.json'));
173
+ sessions = Math.max(sessions, sessionFiles.length);
174
+ } catch (e) {
175
+ // Ignore
176
+ }
177
+ }
178
+
179
+ return { patterns, sessions, trajectories };
180
+ }
181
+
182
+ // Get V3 progress from learning state (grows as system learns)
183
+ function getV3Progress() {
184
+ const learning = getLearningStats();
185
+
186
+ // DDD progress based on actual learned patterns
187
+ // New install: 0 patterns = 0/5 domains, 0% DDD
188
+ // As patterns grow: 10+ patterns = 1 domain, 50+ = 2, 100+ = 3, 200+ = 4, 500+ = 5
189
+ let domainsCompleted = 0;
190
+ if (learning.patterns >= 500) domainsCompleted = 5;
191
+ else if (learning.patterns >= 200) domainsCompleted = 4;
192
+ else if (learning.patterns >= 100) domainsCompleted = 3;
193
+ else if (learning.patterns >= 50) domainsCompleted = 2;
194
+ else if (learning.patterns >= 10) domainsCompleted = 1;
195
+
196
+ const totalDomains = 5;
197
+ const dddProgress = Math.min(100, Math.floor((domainsCompleted / totalDomains) * 100));
198
+
199
+ return {
200
+ domainsCompleted,
201
+ totalDomains,
202
+ dddProgress,
203
+ patternsLearned: learning.patterns,
204
+ sessionsCompleted: learning.sessions
205
+ };
206
+ }
207
+
208
+ // Get security status based on actual scans
209
+ function getSecurityStatus() {
210
+ // Check for security scan results in memory
211
+ const scanResultsPath = path.join(process.cwd(), '.claude', 'security-scans');
212
+ let cvesFixed = 0;
213
+ const totalCves = 3;
214
+
215
+ if (fs.existsSync(scanResultsPath)) {
216
+ try {
217
+ const scans = fs.readdirSync(scanResultsPath).filter(f => f.endsWith('.json'));
218
+ // Each successful scan file = 1 CVE addressed
219
+ cvesFixed = Math.min(totalCves, scans.length);
220
+ } catch (e) {
221
+ // Ignore
222
+ }
223
+ }
224
+
225
+ // Also check .swarm/security for audit results
226
+ const auditPath = path.join(process.cwd(), '.swarm', 'security');
227
+ if (fs.existsSync(auditPath)) {
228
+ try {
229
+ const audits = fs.readdirSync(auditPath).filter(f => f.includes('audit'));
230
+ cvesFixed = Math.min(totalCves, Math.max(cvesFixed, audits.length));
231
+ } catch (e) {
232
+ // Ignore
233
+ }
234
+ }
235
+
236
+ const status = cvesFixed >= totalCves ? 'CLEAN' : cvesFixed > 0 ? 'IN_PROGRESS' : 'PENDING';
237
+
238
+ return {
239
+ status,
240
+ cvesFixed,
241
+ totalCves,
242
+ };
243
+ }
244
+
245
+ // Get swarm status
246
+ function getSwarmStatus() {
247
+ let activeAgents = 0;
248
+ let coordinationActive = false;
249
+
250
+ try {
251
+ if (isWindows) {
252
+ // Windows: use tasklist and findstr
253
+ const ps = execSync('tasklist 2>NUL | findstr /I "@sparkleideas/agentic-flow" 2>NUL | find /C /V "" 2>NUL || echo 0', { encoding: 'utf-8' });
254
+ activeAgents = Math.max(0, parseInt(ps.trim()) || 0);
255
+ } else {
256
+ const ps = execSync('ps aux 2>/dev/null | grep -c @sparkleideas/agentic-flow || echo "0"', { encoding: 'utf-8' });
257
+ activeAgents = Math.max(0, parseInt(ps.trim()) - 1);
258
+ }
259
+ coordinationActive = activeAgents > 0;
260
+ } catch (e) {
261
+ // Ignore errors - default to 0 agents
262
+ }
263
+
264
+ return {
265
+ activeAgents,
266
+ maxAgents: CONFIG.maxAgents,
267
+ coordinationActive,
268
+ };
269
+ }
270
+
271
+ // Get system metrics (dynamic based on actual state)
272
+ function getSystemMetrics() {
273
+ let memoryMB = 0;
274
+ let subAgents = 0;
275
+
276
+ try {
277
+ if (isWindows) {
278
+ // Windows: use tasklist for memory info, fallback to process.memoryUsage
279
+ // tasklist memory column is complex to parse, use Node.js API instead
280
+ memoryMB = Math.floor(process.memoryUsage().heapUsed / 1024 / 1024);
281
+ } else {
282
+ const mem = execSync('ps aux | grep -E "(node|agentic|claude)" | grep -v grep | awk \'{sum += $6} END {print int(sum/1024)}\'', { encoding: 'utf-8' });
283
+ memoryMB = parseInt(mem.trim()) || 0;
284
+ }
285
+ } catch (e) {
286
+ // Fallback
287
+ memoryMB = Math.floor(process.memoryUsage().heapUsed / 1024 / 1024);
288
+ }
289
+
290
+ // Get learning stats for intelligence %
291
+ const learning = getLearningStats();
292
+
293
+ // Intelligence % based on learned patterns (0 patterns = 0%, 1000+ = 100%)
294
+ const intelligencePct = Math.min(100, Math.floor((learning.patterns / 10) * 1));
295
+
296
+ // Context % based on session history (0 sessions = 0%, grows with usage)
297
+ const contextPct = Math.min(100, Math.floor(learning.sessions * 5));
298
+
299
+ // Count active sub-agents from process list
300
+ try {
301
+ if (isWindows) {
302
+ // Windows: use tasklist and findstr for agent counting
303
+ const agents = execSync('tasklist 2>NUL | findstr /I "@sparkleideas/claude-flow" 2>NUL | find /C /V "" 2>NUL || echo 0', { encoding: 'utf-8' });
304
+ subAgents = Math.max(0, parseInt(agents.trim()) || 0);
305
+ } else {
306
+ const agents = execSync('ps aux 2>/dev/null | grep -c "@sparkleideas/claude-flow.*agent" || echo "0"', { encoding: 'utf-8' });
307
+ subAgents = Math.max(0, parseInt(agents.trim()) - 1);
308
+ }
309
+ } catch (e) {
310
+ // Ignore - default to 0
311
+ }
312
+
313
+ return {
314
+ memoryMB,
315
+ contextPct,
316
+ intelligencePct,
317
+ subAgents,
318
+ };
319
+ }
320
+
321
+ // Generate progress bar
322
+ function progressBar(current, total) {
323
+ const width = 5;
324
+ const filled = Math.round((current / total) * width);
325
+ const empty = width - filled;
326
+ return '[' + '\u25CF'.repeat(filled) + '\u25CB'.repeat(empty) + ']';
327
+ }
328
+
329
+ // Generate full statusline
330
+ function generateStatusline() {
331
+ const user = getUserInfo();
332
+ const progress = getV3Progress();
333
+ const security = getSecurityStatus();
334
+ const swarm = getSwarmStatus();
335
+ const system = getSystemMetrics();
336
+ const lines = [];
337
+
338
+ // Header Line
339
+ let header = `${c.bold}${c.brightPurple}β–Š Claude Flow V3 ${c.reset}`;
340
+ header += `${swarm.coordinationActive ? c.brightCyan : c.dim}● ${c.brightCyan}${user.name}${c.reset}`;
341
+ if (user.gitBranch) {
342
+ header += ` ${c.dim}β”‚${c.reset} ${c.brightBlue}βŽ‡ ${user.gitBranch}${c.reset}`;
343
+ }
344
+ header += ` ${c.dim}β”‚${c.reset} ${c.purple}${user.modelName}${c.reset}`;
345
+ lines.push(header);
346
+
347
+ // Separator
348
+ lines.push(`${c.dim}─────────────────────────────────────────────────────${c.reset}`);
349
+
350
+ // Line 1: DDD Domain Progress
351
+ const domainsColor = progress.domainsCompleted >= 3 ? c.brightGreen : progress.domainsCompleted > 0 ? c.yellow : c.red;
352
+ lines.push(
353
+ `${c.brightCyan}πŸ—οΈ DDD Domains${c.reset} ${progressBar(progress.domainsCompleted, progress.totalDomains)} ` +
354
+ `${domainsColor}${progress.domainsCompleted}${c.reset}/${c.brightWhite}${progress.totalDomains}${c.reset} ` +
355
+ `${c.brightYellow}⚑ 1.0x${c.reset} ${c.dim}β†’${c.reset} ${c.brightYellow}2.49x-7.47x${c.reset}`
356
+ );
357
+
358
+ // Line 2: Swarm + CVE + Memory + Context + Intelligence
359
+ const swarmIndicator = swarm.coordinationActive ? `${c.brightGreen}β—‰${c.reset}` : `${c.dim}β—‹${c.reset}`;
360
+ const agentsColor = swarm.activeAgents > 0 ? c.brightGreen : c.red;
361
+ let securityIcon = security.status === 'CLEAN' ? '🟒' : security.status === 'IN_PROGRESS' ? '🟑' : 'πŸ”΄';
362
+ let securityColor = security.status === 'CLEAN' ? c.brightGreen : security.status === 'IN_PROGRESS' ? c.brightYellow : c.brightRed;
363
+
364
+ lines.push(
365
+ `${c.brightYellow}πŸ€– Swarm${c.reset} ${swarmIndicator} [${agentsColor}${String(swarm.activeAgents).padStart(2)}${c.reset}/${c.brightWhite}${swarm.maxAgents}${c.reset}] ` +
366
+ `${c.brightPurple}πŸ‘₯ ${system.subAgents}${c.reset} ` +
367
+ `${securityIcon} ${securityColor}CVE ${security.cvesFixed}${c.reset}/${c.brightWhite}${security.totalCves}${c.reset} ` +
368
+ `${c.brightCyan}πŸ’Ύ ${system.memoryMB}MB${c.reset} ` +
369
+ `${c.brightGreen}πŸ“‚ ${String(system.contextPct).padStart(3)}%${c.reset} ` +
370
+ `${c.dim}🧠 ${String(system.intelligencePct).padStart(3)}%${c.reset}`
371
+ );
372
+
373
+ // Line 3: Architecture status
374
+ const dddColor = progress.dddProgress >= 50 ? c.brightGreen : progress.dddProgress > 0 ? c.yellow : c.red;
375
+ lines.push(
376
+ `${c.brightPurple}πŸ”§ Architecture${c.reset} ` +
377
+ `${c.cyan}DDD${c.reset} ${dddColor}●${String(progress.dddProgress).padStart(3)}%${c.reset} ${c.dim}β”‚${c.reset} ` +
378
+ `${c.cyan}Security${c.reset} ${securityColor}●${security.status}${c.reset} ${c.dim}β”‚${c.reset} ` +
379
+ `${c.cyan}Memory${c.reset} ${c.brightGreen}●AgentDB${c.reset} ${c.dim}β”‚${c.reset} ` +
380
+ `${c.cyan}Integration${c.reset} ${swarm.coordinationActive ? c.brightCyan : c.dim}●${c.reset}`
381
+ );
382
+
383
+ return lines.join('\n');
384
+ }
385
+
386
+ // Generate JSON data
387
+ function generateJSON() {
388
+ return {
389
+ user: getUserInfo(),
390
+ v3Progress: getV3Progress(),
391
+ security: getSecurityStatus(),
392
+ swarm: getSwarmStatus(),
393
+ system: getSystemMetrics(),
394
+ performance: {
395
+ flashAttentionTarget: '2.49x-7.47x',
396
+ searchImprovement: '150x-12,500x',
397
+ memoryReduction: '50-75%',
398
+ },
399
+ lastUpdated: new Date().toISOString(),
400
+ };
401
+ }
402
+
403
+ /**
404
+ * Generate single-line output for Claude Code compatibility
405
+ * This avoids the collision zone issue entirely by using one line
406
+ * @see https://github.com/ruvnet/claude-flow/issues/985
407
+ */
408
+ function generateSingleLine() {
409
+ if (!CONFIG.enabled) return '';
410
+
411
+ const user = getUserInfo();
412
+ const progress = getV3Progress();
413
+ const security = getSecurityStatus();
414
+ const swarm = getSwarmStatus();
415
+ const system = getSystemMetrics();
416
+
417
+ const swarmIndicator = swarm.coordinationActive ? '●' : 'β—‹';
418
+ const securityStatus = security.status === 'CLEAN' ? 'βœ“' :
419
+ security.cvesFixed > 0 ? '~' : 'βœ—';
420
+
421
+ return `${c.brightPurple}CF-V3${c.reset} ${c.dim}|${c.reset} ` +
422
+ `${c.cyan}D:${progress.domainsCompleted}/${progress.totalDomains}${c.reset} ${c.dim}|${c.reset} ` +
423
+ `${c.yellow}S:${swarmIndicator}${swarm.activeAgents}/${swarm.maxAgents}${c.reset} ${c.dim}|${c.reset} ` +
424
+ `${security.status === 'CLEAN' ? c.green : c.red}CVE:${securityStatus}${security.cvesFixed}/${security.totalCves}${c.reset} ${c.dim}|${c.reset} ` +
425
+ `${c.dim}🧠${system.intelligencePct}%${c.reset}`;
426
+ }
427
+
428
+ /**
429
+ * Generate safe multi-line statusline that avoids Claude Code collision zone
430
+ * The collision zone is columns 15-25 on the second-to-last line.
431
+ * We pad that line with spaces to push content past column 25.
432
+ * @see https://github.com/ruvnet/claude-flow/issues/985
433
+ */
434
+ function generateSafeStatusline() {
435
+ if (!CONFIG.enabled) return '';
436
+
437
+ const user = getUserInfo();
438
+ const progress = getV3Progress();
439
+ const security = getSecurityStatus();
440
+ const swarm = getSwarmStatus();
441
+ const system = getSystemMetrics();
442
+ const lines = [];
443
+
444
+ // Header Line
445
+ let header = `${c.bold}${c.brightPurple}β–Š Claude Flow V3 ${c.reset}`;
446
+ header += `${swarm.coordinationActive ? c.brightCyan : c.dim}● ${c.brightCyan}${user.name}${c.reset}`;
447
+ if (user.gitBranch) {
448
+ header += ` ${c.dim}β”‚${c.reset} ${c.brightBlue}βŽ‡ ${user.gitBranch}${c.reset}`;
449
+ }
450
+ header += ` ${c.dim}β”‚${c.reset} ${c.purple}${user.modelName}${c.reset}`;
451
+ lines.push(header);
452
+
453
+ // Separator
454
+ lines.push(`${c.dim}─────────────────────────────────────────────────────${c.reset}`);
455
+
456
+ // Line 1: DDD Domain Progress
457
+ const domainsColor = progress.domainsCompleted >= 3 ? c.brightGreen : progress.domainsCompleted > 0 ? c.yellow : c.red;
458
+ lines.push(
459
+ `${c.brightCyan}πŸ—οΈ DDD Domains${c.reset} ${progressBar(progress.domainsCompleted, progress.totalDomains)} ` +
460
+ `${domainsColor}${progress.domainsCompleted}${c.reset}/${c.brightWhite}${progress.totalDomains}${c.reset} ` +
461
+ `${c.brightYellow}⚑ 1.0x${c.reset} ${c.dim}β†’${c.reset} ${c.brightYellow}2.49x-7.47x${c.reset}`
462
+ );
463
+
464
+ // Line 2 (COLLISION LINE): Swarm status with 24 spaces padding after emoji
465
+ // The emoji (πŸ€–) is 2 columns. 24 spaces pushes content to column 26, past the collision zone (15-25)
466
+ const swarmIndicator = swarm.coordinationActive ? `${c.brightGreen}β—‰${c.reset}` : `${c.dim}β—‹${c.reset}`;
467
+ const agentsColor = swarm.activeAgents > 0 ? c.brightGreen : c.red;
468
+ let securityIcon = security.status === 'CLEAN' ? '🟒' : security.status === 'IN_PROGRESS' ? '🟑' : 'πŸ”΄';
469
+ let securityColor = security.status === 'CLEAN' ? c.brightGreen : security.status === 'IN_PROGRESS' ? c.brightYellow : c.brightRed;
470
+
471
+ // CRITICAL: 24 spaces after πŸ€– (emoji is 2 cols, so 2+24=26, past collision zone cols 15-25)
472
+ lines.push(
473
+ `${c.brightYellow}πŸ€–${c.reset} ` + // 24 spaces padding
474
+ `${swarmIndicator} [${agentsColor}${String(swarm.activeAgents).padStart(2)}${c.reset}/${c.brightWhite}${swarm.maxAgents}${c.reset}] ` +
475
+ `${c.brightPurple}πŸ‘₯ ${system.subAgents}${c.reset} ` +
476
+ `${securityIcon} ${securityColor}CVE ${security.cvesFixed}${c.reset}/${c.brightWhite}${security.totalCves}${c.reset} ` +
477
+ `${c.brightCyan}πŸ’Ύ ${system.memoryMB}MB${c.reset} ` +
478
+ `${c.dim}🧠 ${system.intelligencePct}%${c.reset}`
479
+ );
480
+
481
+ // Line 3: Architecture status (this is the last line, not in collision zone)
482
+ const dddColor = progress.dddProgress >= 50 ? c.brightGreen : progress.dddProgress > 0 ? c.yellow : c.red;
483
+ lines.push(
484
+ `${c.brightPurple}πŸ”§ Architecture${c.reset} ` +
485
+ `${c.cyan}DDD${c.reset} ${dddColor}●${String(progress.dddProgress).padStart(3)}%${c.reset} ${c.dim}β”‚${c.reset} ` +
486
+ `${c.cyan}Security${c.reset} ${securityColor}●${security.status}${c.reset} ${c.dim}β”‚${c.reset} ` +
487
+ `${c.cyan}Memory${c.reset} ${c.brightGreen}●AgentDB${c.reset} ${c.dim}β”‚${c.reset} ` +
488
+ `${c.cyan}Integration${c.reset} ${swarm.coordinationActive ? c.brightCyan : c.dim}●${c.reset}`
489
+ );
490
+
491
+ return lines.join('\n');
492
+ }
493
+
494
+ // Main
495
+ if (process.argv.includes('--json')) {
496
+ console.log(JSON.stringify(generateJSON(), null, 2));
497
+ } else if (process.argv.includes('--compact')) {
498
+ console.log(JSON.stringify(generateJSON()));
499
+ } else if (process.argv.includes('--single')) {
500
+ // Single-line mode - completely avoids collision zone
501
+ console.log(generateSingleLine());
502
+ } else if (process.argv.includes('--unsafe') || process.argv.includes('--legacy')) {
503
+ // Legacy mode - original multi-line without collision avoidance
504
+ console.log(generateStatusline());
505
+ } else {
506
+ // Default: Safe multi-line mode with collision zone avoidance
507
+ // Use --unsafe or --legacy to get the original behavior
508
+ console.log(generateSafeStatusline());
509
+ }