claude-flow-novice 1.3.0 → 1.3.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 (305) hide show
  1. package/.claude-flow-novice/preferences/generation.json +147 -0
  2. package/.claude-flow-novice/preferences/language-configs/javascript.json +51 -0
  3. package/.claude-flow-novice/preferences/language-configs/python.json +50 -0
  4. package/.claude-flow-novice/preferences/language-configs/rust.json +237 -0
  5. package/.claude-flow-novice/preferences/language-configs/typescript.json +54 -0
  6. package/.claude-flow-novice/preferences/project-local.json +91 -0
  7. package/.claude-flow-novice/preferences/resource-delegation.json +120 -0
  8. package/.claude-flow-novice/preferences/team-shared.json +195 -0
  9. package/.claude-flow-novice/preferences/user-global.json +247 -0
  10. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-JAVASCRIPT.md +769 -0
  11. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-PYTHON.md +1214 -0
  12. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-RUST.md +475 -0
  13. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-TYPESCRIPT.md +851 -0
  14. package/.claude-flow-novice/templates/claude-md-templates/README.md +263 -0
  15. package/CLAUDE.md +81 -0
  16. package/README-NPM.md +0 -0
  17. package/package.json +11 -7
  18. package/scripts/build/README.md +167 -0
  19. package/scripts/build/build-config.js +27 -0
  20. package/scripts/build/build-prompt-copier.sh +30 -0
  21. package/scripts/build/performance-monitor.js +869 -0
  22. package/scripts/build/prepare-publish.js +150 -0
  23. package/scripts/build/typescript-fixer.js +621 -0
  24. package/scripts/build/unified-builder.sh +428 -0
  25. package/scripts/build/update-bin-version.js +32 -0
  26. package/scripts/dev/README.md +264 -0
  27. package/scripts/dev/claude-flow-wrapper.sh +35 -0
  28. package/scripts/dev/claude-monitor.py +419 -0
  29. package/scripts/dev/claude-sparc.sh +562 -0
  30. package/scripts/dev/claude-wrapper.sh +17 -0
  31. package/scripts/dev/demo-phase3-compliance.js +172 -0
  32. package/scripts/dev/demo-task-system.ts +224 -0
  33. package/scripts/dev/deployment-validator.js +315 -0
  34. package/scripts/dev/spawn-claude-terminal.sh +32 -0
  35. package/scripts/dev/start-portal.sh +506 -0
  36. package/scripts/dev/start-web-ui.js +15 -0
  37. package/scripts/dev/stop-portal.sh +311 -0
  38. package/scripts/dev/validate-examples.ts +288 -0
  39. package/scripts/dev/validate-phase2.cjs +451 -0
  40. package/scripts/dev/validate-phase2.js +785 -0
  41. package/scripts/dev/validate-phase3.cjs +208 -0
  42. package/scripts/dev/validate-security-remediation.js +1 -0
  43. package/scripts/legacy/README.md +272 -0
  44. package/scripts/legacy/batch-fix-ts.sh +54 -0
  45. package/scripts/legacy/build-migration.sh +105 -0
  46. package/scripts/legacy/build-monitor.js +209 -0
  47. package/scripts/legacy/build-with-filter.sh +84 -0
  48. package/scripts/legacy/build-workaround.sh +71 -0
  49. package/scripts/legacy/fix-ts-advanced.js +358 -0
  50. package/scripts/legacy/fix-ts-final.sh +50 -0
  51. package/scripts/legacy/fix-ts-targeted.sh +49 -0
  52. package/scripts/legacy/fix-typescript-errors.js +305 -0
  53. package/scripts/legacy/force-build.sh +63 -0
  54. package/scripts/legacy/optimize-performance.js +400 -0
  55. package/scripts/legacy/performance-monitor.js +263 -0
  56. package/scripts/legacy/performance-monitoring.js +532 -0
  57. package/scripts/legacy/performance-test-runner.js +645 -0
  58. package/scripts/legacy/quick-fix-ts.js +281 -0
  59. package/scripts/legacy/safe-build.sh +63 -0
  60. package/scripts/migration/README.md +434 -0
  61. package/scripts/migration/install-arm64.js +78 -0
  62. package/scripts/migration/install.js +83 -0
  63. package/scripts/migration/migrate-hooks.js +173 -0
  64. package/scripts/migration/migration-examples.ts +318 -0
  65. package/scripts/optimization/build-optimizer.js +438 -0
  66. package/scripts/optimization/config-validator.js +761 -0
  67. package/scripts/optimization/test-optimization.js +432 -0
  68. package/scripts/optimization/unified-activation.js +839 -0
  69. package/scripts/performance/ACTIVATION_COMMANDS.md +292 -0
  70. package/scripts/performance/sqlite-enhanced-activation.sh +583 -0
  71. package/scripts/performance/test-enhanced-backend.sh +504 -0
  72. package/scripts/performance-test-runner.js +698 -0
  73. package/scripts/security/README.md +339 -0
  74. package/scripts/security/install-git-hooks.sh +132 -0
  75. package/scripts/security/ruv-swarm-safe.js +74 -0
  76. package/scripts/test/README.md +236 -0
  77. package/scripts/test/check-links.ts +274 -0
  78. package/scripts/test/check-performance-regression.ts +168 -0
  79. package/scripts/test/coverage-report.ts +692 -0
  80. package/scripts/test/generate-swarm-tests.js +633 -0
  81. package/scripts/test/integration-test-validation.cjs +253 -0
  82. package/scripts/test/load-test-swarm.js +576 -0
  83. package/scripts/test/run-phase3-compliance-tests.js +427 -0
  84. package/scripts/test/test-batch-tasks.ts +29 -0
  85. package/scripts/test/test-byzantine-resolution.js +246 -0
  86. package/scripts/test/test-claude-spawn-options.sh +63 -0
  87. package/scripts/test/test-cli-wizard.js +331 -0
  88. package/scripts/test/test-comprehensive.js +401 -0
  89. package/scripts/test/test-coordination-features.ts +238 -0
  90. package/scripts/test/test-fallback-systems.js +276 -0
  91. package/scripts/test/test-init-command.ts +302 -0
  92. package/scripts/test/test-mcp.ts +251 -0
  93. package/scripts/test/test-runner.ts +568 -0
  94. package/scripts/test/test-swarm-integration.sh +92 -0
  95. package/scripts/test/test-swarm.ts +142 -0
  96. package/scripts/test/validation-summary.ts +408 -0
  97. package/scripts/utils/README.md +261 -0
  98. package/scripts/utils/clean-build-artifacts.sh +94 -0
  99. package/scripts/utils/cleanup-root.sh +69 -0
  100. package/scripts/utils/fix-cliffy-imports.js +307 -0
  101. package/scripts/utils/fix-duplicate-imports.js +114 -0
  102. package/scripts/utils/fix-error-handling.cjs +70 -0
  103. package/scripts/utils/fix-import-paths.js +104 -0
  104. package/scripts/utils/fix-imports.js +116 -0
  105. package/scripts/utils/fix-shebang.js +78 -0
  106. package/scripts/utils/fix-test-modules.js +27 -0
  107. package/scripts/utils/fix-timezone-issue-246.js +200 -0
  108. package/scripts/utils/fix-ts-comprehensive.py +182 -0
  109. package/scripts/utils/fix-ts-targeted-batch.js +250 -0
  110. package/scripts/utils/remove-benchmark-conflicts.sh +140 -0
  111. package/scripts/utils/simple-test-fixer.js +190 -0
  112. package/scripts/utils/validate-metrics-structure.cjs +144 -0
  113. package/scripts/verify-mcp-server.js +86 -0
  114. package/src/cli/simple-commands/__tests__/agent.test.js +291 -0
  115. package/src/cli/simple-commands/__tests__/memory.test.js +8 -0
  116. package/src/cli/simple-commands/__tests__/swarm.test.js +371 -0
  117. package/src/cli/simple-commands/__tests__/task.test.js +8 -0
  118. package/src/cli/simple-commands/agent.js +216 -0
  119. package/src/cli/simple-commands/analysis.js +570 -0
  120. package/src/cli/simple-commands/automation-executor.js +1603 -0
  121. package/src/cli/simple-commands/automation.js +627 -0
  122. package/src/cli/simple-commands/batch-manager.js +338 -0
  123. package/src/cli/simple-commands/claude-telemetry.js +311 -0
  124. package/src/cli/simple-commands/claude-track.js +102 -0
  125. package/src/cli/simple-commands/concurrent-display.js +348 -0
  126. package/src/cli/simple-commands/config.js +319 -0
  127. package/src/cli/simple-commands/coordination.js +307 -0
  128. package/src/cli/simple-commands/enhanced-ui-views.js +654 -0
  129. package/src/cli/simple-commands/enhanced-webui-complete.js +1038 -0
  130. package/src/cli/simple-commands/fix-hook-variables.js +363 -0
  131. package/src/cli/simple-commands/github/gh-coordinator.js +605 -0
  132. package/src/cli/simple-commands/github/github-api.js +624 -0
  133. package/src/cli/simple-commands/github/init.js +543 -0
  134. package/src/cli/simple-commands/github.js +377 -0
  135. package/src/cli/simple-commands/goal.js +145 -0
  136. package/src/cli/simple-commands/hive-mind/auto-save-middleware.js +311 -0
  137. package/src/cli/simple-commands/hive-mind/communication.js +740 -0
  138. package/src/cli/simple-commands/hive-mind/core.js +1031 -0
  139. package/src/cli/simple-commands/hive-mind/db-optimizer.js +872 -0
  140. package/src/cli/simple-commands/hive-mind/mcp-wrapper.js +1364 -0
  141. package/src/cli/simple-commands/hive-mind/memory.js +1292 -0
  142. package/src/cli/simple-commands/hive-mind/performance-optimizer.js +618 -0
  143. package/src/cli/simple-commands/hive-mind/performance-test.js +373 -0
  144. package/src/cli/simple-commands/hive-mind/queen.js +809 -0
  145. package/src/cli/simple-commands/hive-mind/session-manager.js +1223 -0
  146. package/src/cli/simple-commands/hive-mind-optimize.js +361 -0
  147. package/src/cli/simple-commands/hive-mind-wizard.js +281 -0
  148. package/src/cli/simple-commands/hive-mind.js +3112 -0
  149. package/src/cli/simple-commands/hive.js +140 -0
  150. package/src/cli/simple-commands/hook-safety.js +671 -0
  151. package/src/cli/simple-commands/hooks.js +1268 -0
  152. package/src/cli/simple-commands/init/.claude/checkpoints/1756224542.json +7 -0
  153. package/src/cli/simple-commands/init/.claude/checkpoints/1756224544.json +8 -0
  154. package/src/cli/simple-commands/init/README.md +106 -0
  155. package/src/cli/simple-commands/init/VALIDATION_ROLLBACK.md +488 -0
  156. package/src/cli/simple-commands/init/agent-copier.js +347 -0
  157. package/src/cli/simple-commands/init/batch-init.js +663 -0
  158. package/src/cli/simple-commands/init/claude-commands/claude-flow-commands.js +438 -0
  159. package/src/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.js +876 -0
  160. package/src/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +356 -0
  161. package/src/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js +501 -0
  162. package/src/cli/simple-commands/init/claude-commands/slash-commands.js +57 -0
  163. package/src/cli/simple-commands/init/claude-commands/sparc-commands.js +296 -0
  164. package/src/cli/simple-commands/init/copy-revised-templates.js +175 -0
  165. package/src/cli/simple-commands/init/executable-wrapper.js +122 -0
  166. package/src/cli/simple-commands/init/gitignore-updater.js +137 -0
  167. package/src/cli/simple-commands/init/help.js +110 -0
  168. package/src/cli/simple-commands/init/hive-mind-init.js +749 -0
  169. package/src/cli/simple-commands/init/index.js +1953 -0
  170. package/src/cli/simple-commands/init/performance-monitor.js +344 -0
  171. package/src/cli/simple-commands/init/rollback/backup-manager.js +542 -0
  172. package/src/cli/simple-commands/init/rollback/index.js +399 -0
  173. package/src/cli/simple-commands/init/rollback/recovery-manager.js +778 -0
  174. package/src/cli/simple-commands/init/rollback/rollback-executor.js +521 -0
  175. package/src/cli/simple-commands/init/rollback/state-tracker.js +486 -0
  176. package/src/cli/simple-commands/init/sparc/roo-readme.js +61 -0
  177. package/src/cli/simple-commands/init/sparc/roomodes-config.js +102 -0
  178. package/src/cli/simple-commands/init/sparc/workflows.js +40 -0
  179. package/src/cli/simple-commands/init/sparc-structure.js +68 -0
  180. package/src/cli/simple-commands/init/template-copier.js +640 -0
  181. package/src/cli/simple-commands/init/templates/CLAUDE.md +1185 -0
  182. package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +265 -0
  183. package/src/cli/simple-commands/init/templates/claude-flow-universal +81 -0
  184. package/src/cli/simple-commands/init/templates/claude-flow.bat +18 -0
  185. package/src/cli/simple-commands/init/templates/claude-flow.ps1 +24 -0
  186. package/src/cli/simple-commands/init/templates/claude-md.js +1101 -0
  187. package/src/cli/simple-commands/init/templates/commands/analysis/bottleneck-detect.md +162 -0
  188. package/src/cli/simple-commands/init/templates/commands/automation/auto-agent.md +122 -0
  189. package/src/cli/simple-commands/init/templates/commands/coordination/swarm-init.md +85 -0
  190. package/src/cli/simple-commands/init/templates/commands/github/github-swarm.md +121 -0
  191. package/src/cli/simple-commands/init/templates/commands/helpers/standard-checkpoint-hooks.sh +179 -0
  192. package/src/cli/simple-commands/init/templates/commands/hooks/notification.md +113 -0
  193. package/src/cli/simple-commands/init/templates/commands/hooks/post-command.md +116 -0
  194. package/src/cli/simple-commands/init/templates/commands/hooks/post-edit.md +117 -0
  195. package/src/cli/simple-commands/init/templates/commands/hooks/post-task.md +112 -0
  196. package/src/cli/simple-commands/init/templates/commands/hooks/pre-command.md +113 -0
  197. package/src/cli/simple-commands/init/templates/commands/hooks/pre-edit.md +113 -0
  198. package/src/cli/simple-commands/init/templates/commands/hooks/pre-search.md +112 -0
  199. package/src/cli/simple-commands/init/templates/commands/hooks/pre-task.md +111 -0
  200. package/src/cli/simple-commands/init/templates/commands/hooks/session-end.md +118 -0
  201. package/src/cli/simple-commands/init/templates/commands/hooks/session-restore.md +118 -0
  202. package/src/cli/simple-commands/init/templates/commands/hooks/session-start.md +117 -0
  203. package/src/cli/simple-commands/init/templates/coordination-md.js +340 -0
  204. package/src/cli/simple-commands/init/templates/coordination.md +16 -0
  205. package/src/cli/simple-commands/init/templates/enhanced-templates.js +2347 -0
  206. package/src/cli/simple-commands/init/templates/github-safe-enhanced.js +331 -0
  207. package/src/cli/simple-commands/init/templates/github-safe.js +106 -0
  208. package/src/cli/simple-commands/init/templates/memory-bank-md.js +259 -0
  209. package/src/cli/simple-commands/init/templates/memory-bank.md +16 -0
  210. package/src/cli/simple-commands/init/templates/readme-files.js +72 -0
  211. package/src/cli/simple-commands/init/templates/safe-hook-patterns.js +430 -0
  212. package/src/cli/simple-commands/init/templates/settings.json +109 -0
  213. package/src/cli/simple-commands/init/templates/settings.json.enhanced +35 -0
  214. package/src/cli/simple-commands/init/templates/sparc-modes.js +1401 -0
  215. package/src/cli/simple-commands/init/templates/verification-claude-md.js +432 -0
  216. package/src/cli/simple-commands/init/validation/config-validator.js +354 -0
  217. package/src/cli/simple-commands/init/validation/health-checker.js +599 -0
  218. package/src/cli/simple-commands/init/validation/index.js +388 -0
  219. package/src/cli/simple-commands/init/validation/mode-validator.js +387 -0
  220. package/src/cli/simple-commands/init/validation/post-init-validator.js +390 -0
  221. package/src/cli/simple-commands/init/validation/pre-init-validator.js +290 -0
  222. package/src/cli/simple-commands/init/validation/test-runner.js +488 -0
  223. package/src/cli/simple-commands/init.js +4 -0
  224. package/src/cli/simple-commands/mcp-health.js +163 -0
  225. package/src/cli/simple-commands/mcp-integration-layer.js +689 -0
  226. package/src/cli/simple-commands/mcp.js +420 -0
  227. package/src/cli/simple-commands/memory-consolidation.js +631 -0
  228. package/src/cli/simple-commands/memory.js +345 -0
  229. package/src/cli/simple-commands/migrate-hooks.js +63 -0
  230. package/src/cli/simple-commands/monitor.js +417 -0
  231. package/src/cli/simple-commands/neural.js +148 -0
  232. package/src/cli/simple-commands/pair-autofix-only.js +755 -0
  233. package/src/cli/simple-commands/pair-basic.js +751 -0
  234. package/src/cli/simple-commands/pair-old.js +623 -0
  235. package/src/cli/simple-commands/pair-working.js +849 -0
  236. package/src/cli/simple-commands/pair.js +849 -0
  237. package/src/cli/simple-commands/performance-hooks.js +149 -0
  238. package/src/cli/simple-commands/performance-metrics.js +601 -0
  239. package/src/cli/simple-commands/process-ui-enhanced.js +821 -0
  240. package/src/cli/simple-commands/process-ui.js +274 -0
  241. package/src/cli/simple-commands/realtime-update-system.js +659 -0
  242. package/src/cli/simple-commands/sparc/architecture.js +1750 -0
  243. package/src/cli/simple-commands/sparc/commands.js +575 -0
  244. package/src/cli/simple-commands/sparc/completion.js +1831 -0
  245. package/src/cli/simple-commands/sparc/coordinator.js +1045 -0
  246. package/src/cli/simple-commands/sparc/index.js +321 -0
  247. package/src/cli/simple-commands/sparc/phase-base.js +430 -0
  248. package/src/cli/simple-commands/sparc/pseudocode.js +984 -0
  249. package/src/cli/simple-commands/sparc/refinement.js +1856 -0
  250. package/src/cli/simple-commands/sparc/specification.js +736 -0
  251. package/src/cli/simple-commands/sparc-modes/architect.js +125 -0
  252. package/src/cli/simple-commands/sparc-modes/ask.js +126 -0
  253. package/src/cli/simple-commands/sparc-modes/code.js +148 -0
  254. package/src/cli/simple-commands/sparc-modes/debug.js +112 -0
  255. package/src/cli/simple-commands/sparc-modes/devops.js +137 -0
  256. package/src/cli/simple-commands/sparc-modes/docs-writer.js +38 -0
  257. package/src/cli/simple-commands/sparc-modes/generic.js +34 -0
  258. package/src/cli/simple-commands/sparc-modes/index.js +201 -0
  259. package/src/cli/simple-commands/sparc-modes/integration.js +55 -0
  260. package/src/cli/simple-commands/sparc-modes/mcp.js +38 -0
  261. package/src/cli/simple-commands/sparc-modes/monitoring.js +38 -0
  262. package/src/cli/simple-commands/sparc-modes/optimization.js +38 -0
  263. package/src/cli/simple-commands/sparc-modes/security-review.js +130 -0
  264. package/src/cli/simple-commands/sparc-modes/sparc-orchestrator.js +167 -0
  265. package/src/cli/simple-commands/sparc-modes/spec-pseudocode.js +38 -0
  266. package/src/cli/simple-commands/sparc-modes/supabase-admin.js +149 -0
  267. package/src/cli/simple-commands/sparc-modes/swarm.js +436 -0
  268. package/src/cli/simple-commands/sparc-modes/tdd.js +112 -0
  269. package/src/cli/simple-commands/sparc-modes/tutorial.js +277 -0
  270. package/src/cli/simple-commands/sparc.js +530 -0
  271. package/src/cli/simple-commands/start-ui.js +147 -0
  272. package/src/cli/simple-commands/start-wrapper.js +285 -0
  273. package/src/cli/simple-commands/start.js +2 -0
  274. package/src/cli/simple-commands/status.js +303 -0
  275. package/src/cli/simple-commands/stream-chain-clean.js +221 -0
  276. package/src/cli/simple-commands/stream-chain-fixed.js +89 -0
  277. package/src/cli/simple-commands/stream-chain-real.js +408 -0
  278. package/src/cli/simple-commands/stream-chain-working.js +323 -0
  279. package/src/cli/simple-commands/stream-chain.js +491 -0
  280. package/src/cli/simple-commands/stream-processor.js +340 -0
  281. package/src/cli/simple-commands/swarm-executor.js +253 -0
  282. package/src/cli/simple-commands/swarm-metrics-integration.js +371 -0
  283. package/src/cli/simple-commands/swarm-ui.js +741 -0
  284. package/src/cli/simple-commands/swarm-webui-integration.js +311 -0
  285. package/src/cli/simple-commands/swarm.js +2277 -0
  286. package/src/cli/simple-commands/task.js +228 -0
  287. package/src/cli/simple-commands/templates/mle-star-workflow.json +294 -0
  288. package/src/cli/simple-commands/timestamp-fix.js +104 -0
  289. package/src/cli/simple-commands/token-tracker.js +372 -0
  290. package/src/cli/simple-commands/tool-execution-framework.js +555 -0
  291. package/src/cli/simple-commands/train-and-stream.js +354 -0
  292. package/src/cli/simple-commands/training-pipeline.js +874 -0
  293. package/src/cli/simple-commands/training.js +288 -0
  294. package/src/cli/simple-commands/verification-hooks.js +336 -0
  295. package/src/cli/simple-commands/verification-integration.js +464 -0
  296. package/src/cli/simple-commands/verification-training-integration.js +646 -0
  297. package/src/cli/simple-commands/verification.js +551 -0
  298. package/src/cli/simple-commands/web-server.js +929 -0
  299. package/src/cli/simple-commands/webui-validator.js +136 -0
  300. package/src/language/README.md +503 -0
  301. package/src/language/claude-md-generator.js +618 -0
  302. package/src/language/cli.js +422 -0
  303. package/src/language/example.js +347 -0
  304. package/src/language/integration-system.js +619 -0
  305. package/src/language/language-detector.js +581 -0
@@ -0,0 +1,285 @@
1
+ // start-wrapper.js - Wrapper to maintain backward compatibility with the new modular start command
2
+ import { printSuccess, printError, printWarning, printInfo } from '../utils.js';
3
+ import { promises as fs } from 'fs';
4
+ import { cwd, exit, existsSync } from '../node-compat.js';
5
+ import { compat } from '../runtime-detector.js';
6
+
7
+ export async function startCommand(subArgs, flags) {
8
+ // Show help if requested
9
+ if (flags.help || flags.h || subArgs.includes('--help') || subArgs.includes('-h')) {
10
+ showStartHelp();
11
+ return;
12
+ }
13
+
14
+ // Parse start options
15
+ const daemon = subArgs.includes('--daemon') || subArgs.includes('-d') || flags.daemon;
16
+ const port = flags.port || getArgValue(subArgs, '--port') || getArgValue(subArgs, '-p') || 3000;
17
+ const verbose = subArgs.includes('--verbose') || subArgs.includes('-v') || flags.verbose;
18
+ const ui = subArgs.includes('--ui') || subArgs.includes('-u') || flags.ui;
19
+ const web = subArgs.includes('--web') || subArgs.includes('-w') || flags.web;
20
+
21
+ try {
22
+ printSuccess('Starting Claude-Flow Orchestration System...');
23
+ console.log();
24
+
25
+ // Check if we should launch the web UI mode
26
+ if (web) {
27
+ try {
28
+ // Launch the web server
29
+ const { startWebServer } = await import('./web-server.js');
30
+ const server = await startWebServer(port);
31
+
32
+ printSuccess(`🌐 Web UI is running!`);
33
+ console.log(`šŸ“ Open your browser to: http://localhost:${port}/console`);
34
+ console.log(' Press Ctrl+C to stop the server');
35
+ console.log();
36
+
37
+ // Keep process running
38
+ await new Promise(() => {});
39
+ return;
40
+ } catch (err) {
41
+ printError('Failed to launch web UI: ' + err.message);
42
+ console.error(err.stack);
43
+ return;
44
+ }
45
+ }
46
+
47
+ // Check if we should launch the UI mode (web UI by default)
48
+ if (ui && !web) {
49
+ try {
50
+ // Launch the web UI by default when --ui is used
51
+ const { ClaudeCodeWebServer } = await import('./web-server.js');
52
+ const webServer = new ClaudeCodeWebServer(port);
53
+ await webServer.start();
54
+
55
+ printSuccess('🌐 Claude Flow Web UI is running!');
56
+ console.log(`šŸ“ Open your browser to: http://localhost:${port}/console`);
57
+ console.log(' Press Ctrl+C to stop the server');
58
+ console.log();
59
+
60
+ // Keep process running
61
+ await new Promise(() => {});
62
+ return;
63
+ } catch (err) {
64
+ // If web UI fails, fall back to terminal UI
65
+ printWarning('Web UI failed, launching terminal UI...');
66
+ try {
67
+ const { launchEnhancedUI } = await import('./process-ui-enhanced.js');
68
+ await launchEnhancedUI();
69
+ return;
70
+ } catch (fallbackErr) {
71
+ // If both fail, show error
72
+ printError('Failed to launch UI: ' + err.message);
73
+ console.error(err.stack);
74
+ return;
75
+ }
76
+ }
77
+ }
78
+
79
+ // Check if required directories exist
80
+ const requiredDirs = ['memory', 'coordination'];
81
+ let missingDirs = [];
82
+
83
+ for (const dir of requiredDirs) {
84
+ try {
85
+ await fs.stat(dir);
86
+ } catch {
87
+ missingDirs.push(dir);
88
+ }
89
+ }
90
+
91
+ if (missingDirs.length > 0) {
92
+ printWarning('Missing required directories: ' + missingDirs.join(', '));
93
+ console.log('Run "claude-flow init" first to create the necessary structure');
94
+ return;
95
+ }
96
+
97
+ // Display startup information
98
+ console.log('šŸš€ System Configuration:');
99
+ console.log(` Mode: ${daemon ? 'Daemon (background)' : 'Interactive'}`);
100
+ console.log(` MCP Port: ${port}`);
101
+ console.log(` Working Directory: ${cwd()}`);
102
+ console.log(` Memory Backend: JSON (default)`);
103
+ console.log(` Terminal Pool: 5 instances (default)`);
104
+ console.log();
105
+
106
+ // Initialize components
107
+ console.log('šŸ“‹ Initializing Components:');
108
+
109
+ // Memory system
110
+ console.log(' āœ“ Memory Bank: Ready');
111
+ console.log(' - Backend: JSON file (memory/claude-flow-data.json)');
112
+ console.log(' - Namespaces: Enabled');
113
+
114
+ // Terminal pool
115
+ console.log(' āœ“ Terminal Pool: Ready');
116
+ console.log(' - Pool Size: 5');
117
+ console.log(' - Shell: ' + (compat.platform.os === 'windows' ? 'cmd.exe' : '/bin/bash'));
118
+
119
+ // Task queue
120
+ console.log(' āœ“ Task Queue: Ready');
121
+ console.log(' - Max Concurrent: 10');
122
+ console.log(' - Priority Queue: Enabled');
123
+
124
+ // MCP Server
125
+ console.log(' āœ“ MCP Server: Ready');
126
+ console.log(` - Port: ${port}`);
127
+ console.log(' - Transport: stdio/HTTP');
128
+
129
+ console.log();
130
+
131
+ if (daemon) {
132
+ // Daemon mode - would normally fork process
133
+ printInfo('Starting in daemon mode...');
134
+ console.log('Note: Full daemon mode requires the TypeScript version');
135
+ console.log('The orchestrator would run in the background on port ' + port);
136
+
137
+ // Create a simple PID file to simulate daemon
138
+ const pid = compat.terminal.getPid();
139
+ await compat.safeCall(async () => {
140
+ if (compat.runtime === 'deno') {
141
+ await fs.writeFile('.claude-flow.pid', pid.toString(), 'utf8');
142
+ } else {
143
+ const fs = await import('fs/promises');
144
+ await fs.writeFile('.claude-flow.pid', pid.toString(), 'utf8');
145
+ }
146
+ });
147
+ console.log(`Process ID: ${pid} (saved to .claude-flow.pid)`);
148
+ } else {
149
+ // Interactive mode
150
+ printSuccess('Orchestration system started!');
151
+ console.log();
152
+ console.log('šŸŽÆ Available Actions:');
153
+ console.log(' • Open another terminal and run:');
154
+ console.log(' - claude-flow agent spawn researcher');
155
+ console.log(' - claude-flow task create "your task"');
156
+ console.log(' - claude-flow sparc "build feature"');
157
+ console.log(' - claude-flow monitor');
158
+ console.log();
159
+ console.log(' • View system status:');
160
+ console.log(' - claude-flow status');
161
+ console.log();
162
+ console.log(' • Launch process management UI:');
163
+ console.log(' - claude-flow start --ui');
164
+ console.log();
165
+ console.log(' • Press Ctrl+C to stop the orchestrator');
166
+ console.log();
167
+
168
+ if (verbose) {
169
+ console.log('šŸ“Š Verbose Mode - Showing system activity:');
170
+ console.log('[' + new Date().toISOString() + '] System initialized');
171
+ console.log('[' + new Date().toISOString() + '] Waiting for commands...');
172
+ }
173
+
174
+ // Keep the process running
175
+ console.log('🟢 System is running...');
176
+
177
+ // Set up signal handlers
178
+ const abortController = new AbortController();
179
+
180
+ compat.terminal.onSignal('SIGINT', () => {
181
+ console.log('\nā¹ļø Shutting down orchestrator...');
182
+ cleanup();
183
+ compat.terminal.exit(0);
184
+ });
185
+
186
+ // Simple heartbeat to show system is alive
187
+ if (!daemon) {
188
+ const heartbeat = setInterval(() => {
189
+ if (verbose) {
190
+ console.log('[' + new Date().toISOString() + '] Heartbeat - System healthy');
191
+ }
192
+ }, 30000); // Every 30 seconds
193
+
194
+ // Wait indefinitely (until Ctrl+C)
195
+ await new Promise(() => {});
196
+ }
197
+ }
198
+ } catch (err) {
199
+ printError(`Failed to start orchestration system: ${err.message}`);
200
+ console.error('Stack trace:', err.stack);
201
+ }
202
+ }
203
+
204
+ function getArgValue(args, flag) {
205
+ const index = args.indexOf(flag);
206
+ if (index !== -1 && index < args.length - 1) {
207
+ return args[index + 1];
208
+ }
209
+ return null;
210
+ }
211
+
212
+ async function cleanup() {
213
+ // Clean up resources
214
+ try {
215
+ await compat.safeCall(async () => {
216
+ if (compat.runtime === 'deno') {
217
+ await fs.unlink('.claude-flow.pid');
218
+ } else {
219
+ const fs = await import('fs/promises');
220
+ await fs.unlink('.claude-flow.pid');
221
+ }
222
+ });
223
+ } catch {
224
+ // File might not exist
225
+ }
226
+
227
+ console.log('āœ“ Terminal pool closed');
228
+ console.log('āœ“ Task queue cleared');
229
+ console.log('āœ“ Memory bank saved');
230
+ console.log('āœ“ Cleanup complete');
231
+ }
232
+
233
+ function showStartHelp() {
234
+ console.log('Start the Claude-Flow orchestration system');
235
+ console.log();
236
+ console.log('Usage: claude-flow start [options]');
237
+ console.log();
238
+ console.log('Options:');
239
+ console.log(' -d, --daemon Run as daemon in background');
240
+ console.log(' -p, --port <port> Server port (default: 3000)');
241
+ console.log(' -u, --ui Launch terminal-based process management UI');
242
+ console.log(' -w, --web Launch web-based UI server');
243
+ console.log(' -v, --verbose Show detailed system activity');
244
+ console.log(' -h, --help Show this help message');
245
+ console.log();
246
+ console.log('Examples:');
247
+ console.log(' claude-flow start # Start in interactive mode');
248
+ console.log(' claude-flow start --daemon # Start as background daemon');
249
+ console.log(' claude-flow start --port 8080 # Use custom server port');
250
+ console.log(' claude-flow start --ui # Launch terminal-based UI');
251
+ console.log(' claude-flow start --web # Launch web-based UI');
252
+ console.log(' claude-flow start --verbose # Show detailed logs');
253
+ console.log();
254
+ console.log('Web-based UI:');
255
+ console.log(' The --web flag starts a web server with:');
256
+ console.log(' - Full-featured web console at http://localhost:3000/console');
257
+ console.log(' - Real-time WebSocket communication');
258
+ console.log(' - Mobile-responsive design');
259
+ console.log(' - Multiple themes and customization options');
260
+ console.log(' - Claude Flow swarm integration');
261
+ console.log();
262
+ console.log('Terminal-based UI:');
263
+ console.log(' The --ui flag launches an advanced multi-view interface with:');
264
+ console.log();
265
+ console.log(' Views (press 1-6 to switch):');
266
+ console.log(' 1. Process Management - Start/stop individual components');
267
+ console.log(' 2. System Status - Health metrics and resource usage');
268
+ console.log(' 3. Orchestration - Agent and task management');
269
+ console.log(' 4. Memory Bank - Namespace browser and operations');
270
+ console.log(' 5. System Logs - Real-time log viewer with filters');
271
+ console.log(' 6. Help - Comprehensive keyboard shortcuts');
272
+ console.log();
273
+ console.log(' Features:');
274
+ console.log(' - Color-coded status indicators');
275
+ console.log(' - Real-time updates and monitoring');
276
+ console.log(' - Context-sensitive controls');
277
+ console.log(' - Tab navigation between views');
278
+ console.log();
279
+ console.log('Notes:');
280
+ console.log(' - Requires "claude-flow init" to be run first');
281
+ console.log(' - Interactive mode shows real-time system status');
282
+ console.log(' - Daemon mode runs in background (check logs)');
283
+ console.log(' - Use "claude-flow status" to check if running');
284
+ console.log(' - Use Ctrl+C or "claude-flow stop" to shutdown');
285
+ }
@@ -0,0 +1,2 @@
1
+ // start.js - Re-export the wrapper to maintain backward compatibility
2
+ export { startCommand } from './start-wrapper.js';
@@ -0,0 +1,303 @@
1
+ // status.js - System status and monitoring commands
2
+ import { printSuccess, printError, printWarning } from '../utils.js';
3
+ import { promises as fs } from 'fs';
4
+ // Removed Deno import from '../node-compat.js';
5
+
6
+ export async function statusCommand(subArgs, flags) {
7
+ const verbose = subArgs.includes('--verbose') || subArgs.includes('-v') || flags.verbose;
8
+ const json = subArgs.includes('--json') || flags.json;
9
+
10
+ const status = await getSystemStatus(verbose);
11
+
12
+ if (json) {
13
+ console.log(JSON.stringify(status, null, 2));
14
+ } else {
15
+ displayStatus(status, verbose);
16
+ }
17
+ }
18
+
19
+ async function getSystemStatus(verbose = false) {
20
+ const status = {
21
+ timestamp: Date.now(),
22
+ version: '2.0.0-alpha.83',
23
+ orchestrator: {
24
+ running: false,
25
+ uptime: 0,
26
+ status: 'Not Running',
27
+ },
28
+ agents: {
29
+ active: 0,
30
+ total: 0,
31
+ types: {},
32
+ },
33
+ tasks: {
34
+ queued: 0,
35
+ running: 0,
36
+ completed: 0,
37
+ failed: 0,
38
+ },
39
+ memory: {
40
+ status: 'Ready',
41
+ entries: await getMemoryStats(),
42
+ size: '0.37 KB',
43
+ },
44
+ terminal: {
45
+ status: 'Ready',
46
+ poolSize: 10,
47
+ active: 0,
48
+ },
49
+ mcp: {
50
+ status: 'Stopped',
51
+ port: null,
52
+ connections: 0,
53
+ },
54
+ resources: verbose ? await getResourceUsage() : null,
55
+ };
56
+
57
+ return status;
58
+ }
59
+
60
+ async function getMemoryStats() {
61
+ try {
62
+ const memoryStore = './memory/memory-store.json';
63
+ const content = await fs.readFile(memoryStore, 'utf8');
64
+ const data = JSON.parse(content);
65
+
66
+ let totalEntries = 0;
67
+ for (const entries of Object.values(data)) {
68
+ totalEntries += entries.length;
69
+ }
70
+
71
+ return totalEntries;
72
+ } catch {
73
+ return 0;
74
+ }
75
+ }
76
+
77
+ async function getResourceUsage() {
78
+ // Get system resource information
79
+ try {
80
+ // Dynamic import for cross-platform compatibility
81
+ let os;
82
+ try {
83
+ os = await import('node:os');
84
+ } catch {
85
+ try {
86
+ os = await import('os');
87
+ } catch {
88
+ // Fallback for environments without os module
89
+ return {
90
+ memory: { usage: 'N/A (os module unavailable)' },
91
+ cpu: { cores: 'Unknown', load: 'Unknown' },
92
+ platform: { type: 'Unknown', error: 'os module not available' },
93
+ };
94
+ }
95
+ }
96
+
97
+ // Node.js doesn't have systemMemoryInfo, use os module instead
98
+ const totalMem = os.totalmem();
99
+ const freeMem = os.freemem();
100
+ const memInfo = {
101
+ total: totalMem,
102
+ free: freeMem,
103
+ available: freeMem,
104
+ buffers: 0,
105
+ cached: 0,
106
+ swapTotal: 0,
107
+ swapFree: 0,
108
+ };
109
+
110
+ // Get CPU info
111
+ let cpuCores = os.cpus().length;
112
+ let loadAvg = 'N/A';
113
+
114
+ try {
115
+ const loadAvgData = os.loadavg();
116
+ loadAvg = `${loadAvgData[0].toFixed(2)}, ${loadAvgData[1].toFixed(2)}, ${loadAvgData[2].toFixed(2)}`;
117
+ } catch (e) {
118
+ // Load average not available on all platforms
119
+ }
120
+
121
+ return {
122
+ memory: {
123
+ total: formatBytes(memInfo.total),
124
+ free: formatBytes(memInfo.free),
125
+ available: formatBytes(memInfo.available),
126
+ usage: `${Math.round(((memInfo.total - memInfo.available) / memInfo.total) * 100)}%`,
127
+ },
128
+ cpu: {
129
+ cores: cpuCores,
130
+ load: loadAvg,
131
+ model: os.cpus()[0]?.model || 'Unknown',
132
+ },
133
+ platform: {
134
+ type: os.type(),
135
+ release: os.release(),
136
+ arch: os.arch(),
137
+ uptime: formatUptime(os.uptime() * 1000),
138
+ },
139
+ };
140
+ } catch (error) {
141
+ return {
142
+ memory: { usage: 'Unknown' },
143
+ cpu: { cores: 'Unknown', load: 'Unknown' },
144
+ platform: { type: 'Unknown', error: error.message },
145
+ };
146
+ }
147
+ }
148
+
149
+ function displayStatus(status, verbose) {
150
+ printSuccess('Claude-Flow System Status:');
151
+
152
+ // Overall status
153
+ const overallStatus = status.orchestrator.running ? '🟢 Running' : '🟔 Not Running';
154
+ console.log(
155
+ `${overallStatus} (orchestrator ${status.orchestrator.running ? 'active' : 'not started'})`,
156
+ );
157
+
158
+ // Core components
159
+ console.log(`šŸ¤– Agents: ${status.agents.active} active`);
160
+ console.log(`šŸ“‹ Tasks: ${status.tasks.queued} in queue`);
161
+ console.log(`šŸ’¾ Memory: ${status.memory.status} (${status.memory.entries} entries)`);
162
+ console.log(`šŸ–„ļø Terminal Pool: ${status.terminal.status}`);
163
+ console.log(`🌐 MCP Server: ${status.mcp.status}`);
164
+
165
+ if (verbose) {
166
+ console.log('\nšŸ“Š Detailed Information:');
167
+
168
+ // Orchestrator details
169
+ console.log('\nšŸŽ­ Orchestrator:');
170
+ console.log(` Status: ${status.orchestrator.status}`);
171
+ console.log(` Uptime: ${formatUptime(status.orchestrator.uptime)}`);
172
+
173
+ // Agent details
174
+ console.log('\nšŸ¤– Agent Details:');
175
+ console.log(` Total Registered: ${status.agents.total}`);
176
+ console.log(` Currently Active: ${status.agents.active}`);
177
+ if (Object.keys(status.agents.types).length > 0) {
178
+ console.log(' Types:');
179
+ for (const [type, count] of Object.entries(status.agents.types)) {
180
+ console.log(` ${type}: ${count}`);
181
+ }
182
+ } else {
183
+ console.log(' No agents currently registered');
184
+ }
185
+
186
+ // Task details
187
+ console.log('\nšŸ“‹ Task Queue:');
188
+ console.log(` Queued: ${status.tasks.queued}`);
189
+ console.log(` Running: ${status.tasks.running}`);
190
+ console.log(` Completed: ${status.tasks.completed}`);
191
+ console.log(` Failed: ${status.tasks.failed}`);
192
+
193
+ // Memory details
194
+ console.log('\nšŸ’¾ Memory System:');
195
+ console.log(` Total Entries: ${status.memory.entries}`);
196
+ console.log(` Database Size: ${status.memory.size}`);
197
+ console.log(` Status: ${status.memory.status}`);
198
+
199
+ // Terminal details
200
+ console.log('\nšŸ–„ļø Terminal Pool:');
201
+ console.log(` Pool Size: ${status.terminal.poolSize}`);
202
+ console.log(` Active Sessions: ${status.terminal.active}`);
203
+ console.log(` Status: ${status.terminal.status}`);
204
+
205
+ // MCP details
206
+ console.log('\n🌐 MCP Server:');
207
+ console.log(` Status: ${status.mcp.status}`);
208
+ console.log(` Port: ${status.mcp.port || 'Not configured'}`);
209
+ console.log(` Active Connections: ${status.mcp.connections}`);
210
+
211
+ // Resource usage
212
+ if (status.resources) {
213
+ console.log('\nšŸ“ˆ Resource Usage:');
214
+ console.log(
215
+ ` Memory: ${status.resources.memory.usage} of ${status.resources.memory.total}`,
216
+ );
217
+ console.log(` Available: ${status.resources.memory.available}`);
218
+ console.log(` CPU Cores: ${status.resources.cpu.cores}`);
219
+ console.log(` CPU Load: ${status.resources.cpu.load}`);
220
+ if (status.resources.cpu.model) {
221
+ console.log(` CPU Model: ${status.resources.cpu.model}`);
222
+ }
223
+
224
+ if (status.resources.platform) {
225
+ console.log('\nšŸ’» Platform:');
226
+ console.log(
227
+ ` OS: ${status.resources.platform.type} ${status.resources.platform.release}`,
228
+ );
229
+ console.log(` Architecture: ${status.resources.platform.arch}`);
230
+ console.log(` System Uptime: ${status.resources.platform.uptime}`);
231
+ }
232
+ }
233
+
234
+ console.log('\nšŸ• Status captured at:', new Date(status.timestamp).toLocaleString());
235
+ }
236
+
237
+ // Recommendations
238
+ console.log('\nšŸ’” Quick Actions:');
239
+ if (!status.orchestrator.running) {
240
+ console.log(' Run "claude-flow start" to begin orchestration');
241
+ }
242
+ if (status.agents.active === 0) {
243
+ console.log(' Run "claude-flow agent spawn researcher" to create an agent');
244
+ }
245
+ if (status.memory.entries === 0) {
246
+ console.log(' Run "claude-flow memory store key value" to test memory');
247
+ }
248
+ }
249
+
250
+ function formatBytes(bytes) {
251
+ const units = ['B', 'KB', 'MB', 'GB', 'TB'];
252
+ let size = bytes;
253
+ let unitIndex = 0;
254
+
255
+ while (size >= 1024 && unitIndex < units.length - 1) {
256
+ size /= 1024;
257
+ unitIndex++;
258
+ }
259
+
260
+ return `${size.toFixed(2)} ${units[unitIndex]}`;
261
+ }
262
+
263
+ function formatUptime(milliseconds) {
264
+ if (milliseconds === 0) return '0s';
265
+
266
+ const seconds = Math.floor(milliseconds / 1000);
267
+ const minutes = Math.floor(seconds / 60);
268
+ const hours = Math.floor(minutes / 60);
269
+ const days = Math.floor(hours / 24);
270
+
271
+ if (days > 0) return `${days}d ${hours % 24}h ${minutes % 60}m`;
272
+ if (hours > 0) return `${hours}h ${minutes % 60}m ${seconds % 60}s`;
273
+ if (minutes > 0) return `${minutes}m ${seconds % 60}s`;
274
+ return `${seconds}s`;
275
+ }
276
+
277
+ // Allow direct execution for testing
278
+ if (import.meta.main) {
279
+ const args = [];
280
+ const flags = {};
281
+
282
+ // Parse arguments and flags from Deno.args if available
283
+ if (typeof Deno !== 'undefined' && Deno.args) {
284
+ for (let i = 0; i < Deno.args.length; i++) {
285
+ const arg = Deno.args[i];
286
+ if (arg.startsWith('--')) {
287
+ const flagName = arg.substring(2);
288
+ const nextArg = Deno.args[i + 1];
289
+
290
+ if (nextArg && !nextArg.startsWith('--')) {
291
+ flags[flagName] = nextArg;
292
+ i++; // Skip the next argument
293
+ } else {
294
+ flags[flagName] = true;
295
+ }
296
+ } else {
297
+ args.push(arg);
298
+ }
299
+ }
300
+ }
301
+
302
+ await statusCommand(args, flags);
303
+ }