moflo 4.10.22 → 4.10.24

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 (48) hide show
  1. package/.claude/guidance/shipped/moflo-skills-reference.md +1 -1
  2. package/.claude/helpers/gate.cjs +2 -2
  3. package/.claude/skills/distill/SKILL.md +10 -0
  4. package/README.md +1 -1
  5. package/bin/gate.cjs +2 -2
  6. package/dist/src/cli/commands/agent.js +14 -14
  7. package/dist/src/cli/commands/analyze.js +52 -52
  8. package/dist/src/cli/commands/benchmark.js +14 -14
  9. package/dist/src/cli/commands/claims.js +15 -15
  10. package/dist/src/cli/commands/completions.js +40 -40
  11. package/dist/src/cli/commands/config.js +8 -8
  12. package/dist/src/cli/commands/daemon.js +24 -24
  13. package/dist/src/cli/commands/deployment.js +15 -15
  14. package/dist/src/cli/commands/doctor-checks-config.js +6 -6
  15. package/dist/src/cli/commands/doctor.js +10 -10
  16. package/dist/src/cli/commands/embeddings.js +49 -49
  17. package/dist/src/cli/commands/guidance.js +22 -22
  18. package/dist/src/cli/commands/hive-mind.js +21 -21
  19. package/dist/src/cli/commands/hooks.js +95 -95
  20. package/dist/src/cli/commands/init.js +17 -17
  21. package/dist/src/cli/commands/issues.js +6 -6
  22. package/dist/src/cli/commands/mcp.js +10 -10
  23. package/dist/src/cli/commands/memory.js +56 -47
  24. package/dist/src/cli/commands/migrate.js +5 -5
  25. package/dist/src/cli/commands/neural.js +31 -31
  26. package/dist/src/cli/commands/performance.js +13 -13
  27. package/dist/src/cli/commands/plugins.js +26 -26
  28. package/dist/src/cli/commands/process.js +32 -32
  29. package/dist/src/cli/commands/progress.js +5 -5
  30. package/dist/src/cli/commands/providers.js +13 -13
  31. package/dist/src/cli/commands/route.js +26 -26
  32. package/dist/src/cli/commands/security.js +19 -19
  33. package/dist/src/cli/commands/session.js +13 -13
  34. package/dist/src/cli/commands/start.js +11 -11
  35. package/dist/src/cli/commands/status.js +8 -8
  36. package/dist/src/cli/commands/swarm.js +7 -7
  37. package/dist/src/cli/commands/task.js +9 -9
  38. package/dist/src/cli/commands/transfer-store.js +16 -16
  39. package/dist/src/cli/commands/update.js +2 -2
  40. package/dist/src/cli/hooks/statusline/index.js +3 -3
  41. package/dist/src/cli/init/executor.js +7 -6
  42. package/dist/src/cli/init/helpers-generator.js +6 -6
  43. package/dist/src/cli/mcp-tools/hooks-tools.js +1 -1
  44. package/dist/src/cli/memory/auto-memory-bridge.js +1 -1
  45. package/dist/src/cli/memory/memory-initializer.js +1 -1
  46. package/dist/src/cli/plugins/tests/demo-plugin-store.js +6 -6
  47. package/dist/src/cli/version.js +1 -1
  48. package/package.json +2 -2
@@ -26,8 +26,8 @@ const HIVE_MIND_SUBCOMMANDS = ['init', 'spawn', 'status', 'task', 'join', 'leave
26
26
  const HOOKS_SUBCOMMANDS = ['pre-edit', 'post-edit', 'pre-command', 'post-command', 'pre-task', 'post-task', 'route', 'explain', 'pretrain', 'build-agents', 'metrics', 'transfer', 'list', 'intelligence'];
27
27
  // Generate bash completion script
28
28
  function generateBashCompletion() {
29
- return `# claude-flow bash completion
30
- # Generated by claude-flow completions bash
29
+ return `# flo bash completion
30
+ # Generated by flo completions bash
31
31
  # Add this to ~/.bashrc or ~/.bash_completion
32
32
 
33
33
  _claude_flow_completions() {
@@ -117,16 +117,16 @@ _claude_flow_completions() {
117
117
  fi
118
118
  }
119
119
 
120
- complete -F _claude_flow_completions claude-flow
120
+ complete -F _claude_flow_completions flo
121
121
  complete -F _claude_flow_completions npx\\ moflo
122
122
  `;
123
123
  }
124
124
  // Generate zsh completion script
125
125
  function generateZshCompletion() {
126
- return `#compdef claude-flow
127
- # claude-flow zsh completion
128
- # Generated by claude-flow completions zsh
129
- # Add to ~/.zfunc/_claude-flow or ~/.zsh/completions/_claude-flow
126
+ return `#compdef flo
127
+ # flo zsh completion
128
+ # Generated by flo completions zsh
129
+ # Add to ~/.zfunc/_flo or ~/.zsh/completions/_flo
130
130
 
131
131
  _claude_flow() {
132
132
  local -a commands
@@ -165,7 +165,7 @@ _claude_flow() {
165
165
 
166
166
  case $state in
167
167
  command)
168
- _describe -t commands 'claude-flow commands' commands
168
+ _describe -t commands 'flo commands' commands
169
169
  ;;
170
170
  subcommand)
171
171
  case $words[2] in
@@ -343,66 +343,66 @@ _claude_flow "$@"
343
343
  }
344
344
  // Generate fish completion script
345
345
  function generateFishCompletion() {
346
- return `# claude-flow fish completion
347
- # Generated by claude-flow completions fish
348
- # Save to ~/.config/fish/completions/claude-flow.fish
346
+ return `# flo fish completion
347
+ # Generated by flo completions fish
348
+ # Save to ~/.config/fish/completions/flo.fish
349
349
 
350
350
  # Disable file completion by default
351
- complete -c claude-flow -f
351
+ complete -c flo -f
352
352
 
353
353
  # Top-level commands
354
- ${TOP_LEVEL_COMMANDS.map(cmd => `complete -c claude-flow -n "__fish_use_subcommand" -a "${cmd}"`).join('\n')}
354
+ ${TOP_LEVEL_COMMANDS.map(cmd => `complete -c flo -n "__fish_use_subcommand" -a "${cmd}"`).join('\n')}
355
355
 
356
356
  # Swarm subcommands
357
- ${SWARM_SUBCOMMANDS.map(sub => `complete -c claude-flow -n "__fish_seen_subcommand_from swarm" -a "${sub}"`).join('\n')}
357
+ ${SWARM_SUBCOMMANDS.map(sub => `complete -c flo -n "__fish_seen_subcommand_from swarm" -a "${sub}"`).join('\n')}
358
358
 
359
359
  # Agent subcommands
360
- ${AGENT_SUBCOMMANDS.map(sub => `complete -c claude-flow -n "__fish_seen_subcommand_from agent" -a "${sub}"`).join('\n')}
360
+ ${AGENT_SUBCOMMANDS.map(sub => `complete -c flo -n "__fish_seen_subcommand_from agent" -a "${sub}"`).join('\n')}
361
361
 
362
362
  # Task subcommands
363
- ${TASK_SUBCOMMANDS.map(sub => `complete -c claude-flow -n "__fish_seen_subcommand_from task" -a "${sub}"`).join('\n')}
363
+ ${TASK_SUBCOMMANDS.map(sub => `complete -c flo -n "__fish_seen_subcommand_from task" -a "${sub}"`).join('\n')}
364
364
 
365
365
  # Memory subcommands
366
- ${MEMORY_SUBCOMMANDS.map(sub => `complete -c claude-flow -n "__fish_seen_subcommand_from memory" -a "${sub}"`).join('\n')}
366
+ ${MEMORY_SUBCOMMANDS.map(sub => `complete -c flo -n "__fish_seen_subcommand_from memory" -a "${sub}"`).join('\n')}
367
367
 
368
368
  # Hive-mind subcommands
369
- ${HIVE_MIND_SUBCOMMANDS.map(sub => `complete -c claude-flow -n "__fish_seen_subcommand_from hive-mind hive" -a "${sub}"`).join('\n')}
369
+ ${HIVE_MIND_SUBCOMMANDS.map(sub => `complete -c flo -n "__fish_seen_subcommand_from hive-mind hive" -a "${sub}"`).join('\n')}
370
370
 
371
371
  # Hooks subcommands
372
- ${HOOKS_SUBCOMMANDS.map(sub => `complete -c claude-flow -n "__fish_seen_subcommand_from hooks" -a "${sub}"`).join('\n')}
372
+ ${HOOKS_SUBCOMMANDS.map(sub => `complete -c flo -n "__fish_seen_subcommand_from hooks" -a "${sub}"`).join('\n')}
373
373
 
374
374
  # Neural subcommands
375
- complete -c claude-flow -n "__fish_seen_subcommand_from neural" -a "train status patterns predict optimize"
375
+ complete -c flo -n "__fish_seen_subcommand_from neural" -a "train status patterns predict optimize"
376
376
 
377
377
  # Security subcommands
378
- complete -c claude-flow -n "__fish_seen_subcommand_from security" -a "scan cve threats audit secrets"
378
+ complete -c flo -n "__fish_seen_subcommand_from security" -a "scan cve threats audit secrets"
379
379
 
380
380
  # Performance subcommands
381
- complete -c claude-flow -n "__fish_seen_subcommand_from performance" -a "benchmark profile metrics optimize bottleneck"
381
+ complete -c flo -n "__fish_seen_subcommand_from performance" -a "benchmark profile metrics optimize bottleneck"
382
382
 
383
383
  # Plugins subcommands
384
- complete -c claude-flow -n "__fish_seen_subcommand_from plugins" -a "list install uninstall toggle info create"
384
+ complete -c flo -n "__fish_seen_subcommand_from plugins" -a "list install uninstall toggle info create"
385
385
 
386
386
  # Deployment subcommands
387
- complete -c claude-flow -n "__fish_seen_subcommand_from deployment deploy" -a "deploy status rollback history environments logs"
387
+ complete -c flo -n "__fish_seen_subcommand_from deployment deploy" -a "deploy status rollback history environments logs"
388
388
 
389
389
  # Claims subcommands
390
- complete -c claude-flow -n "__fish_seen_subcommand_from claims" -a "list check grant revoke roles policies"
390
+ complete -c flo -n "__fish_seen_subcommand_from claims" -a "list check grant revoke roles policies"
391
391
 
392
392
  # Embeddings subcommands
393
- complete -c claude-flow -n "__fish_seen_subcommand_from embeddings" -a "generate search compare collections index providers"
393
+ complete -c flo -n "__fish_seen_subcommand_from embeddings" -a "generate search compare collections index providers"
394
394
 
395
395
  # Daemon subcommands
396
- complete -c claude-flow -n "__fish_seen_subcommand_from daemon" -a "start stop status trigger enable"
396
+ complete -c flo -n "__fish_seen_subcommand_from daemon" -a "start stop status trigger enable"
397
397
 
398
398
  # Providers subcommands
399
- complete -c claude-flow -n "__fish_seen_subcommand_from providers" -a "list configure test models usage"
399
+ complete -c flo -n "__fish_seen_subcommand_from providers" -a "list configure test models usage"
400
400
  `;
401
401
  }
402
402
  // Generate PowerShell completion script
403
403
  function generatePowerShellCompletion() {
404
- return `# claude-flow PowerShell completion
405
- # Generated by claude-flow completions powershell
404
+ return `# flo PowerShell completion
405
+ # Generated by flo completions powershell
406
406
  # Add to $PROFILE or save to a separate file and dot-source it
407
407
 
408
408
  $script:ClaudeFlowCommands = @(
@@ -429,7 +429,7 @@ $script:SubCommands = @{
429
429
  'providers' = @('list', 'configure', 'test', 'models', 'usage')
430
430
  }
431
431
 
432
- Register-ArgumentCompleter -Native -CommandName claude-flow -ScriptBlock {
432
+ Register-ArgumentCompleter -Native -CommandName flo -ScriptBlock {
433
433
  param($wordToComplete, $commandAst, $cursorPosition)
434
434
 
435
435
  $tokens = $commandAst.ToString().Split(' ')
@@ -498,10 +498,10 @@ export const completionsCommand = {
498
498
  subcommands: [bashCommand, zshCommand, fishCommand, powershellCommand],
499
499
  options: [],
500
500
  examples: [
501
- { command: 'claude-flow completions bash > ~/.bash_completion.d/claude-flow', description: 'Install bash completions' },
502
- { command: 'claude-flow completions zsh > ~/.zfunc/_claude-flow', description: 'Install zsh completions' },
503
- { command: 'claude-flow completions fish > ~/.config/fish/completions/claude-flow.fish', description: 'Install fish completions' },
504
- { command: 'claude-flow completions powershell >> $PROFILE', description: 'Install PowerShell completions' }
501
+ { command: 'flo completions bash > ~/.bash_completion.d/flo', description: 'Install bash completions' },
502
+ { command: 'flo completions zsh > ~/.zfunc/_flo', description: 'Install zsh completions' },
503
+ { command: 'flo completions fish > ~/.config/fish/completions/flo.fish', description: 'Install fish completions' },
504
+ { command: 'flo completions powershell >> $PROFILE', description: 'Install PowerShell completions' }
505
505
  ],
506
506
  action: async () => {
507
507
  output.writeln();
@@ -520,19 +520,19 @@ export const completionsCommand = {
520
520
  output.writeln('Installation:');
521
521
  output.writeln();
522
522
  output.writeln(output.bold('Bash:'));
523
- output.writeln(output.dim(' claude-flow completions bash > ~/.bash_completion.d/claude-flow'));
524
- output.writeln(output.dim(' source ~/.bash_completion.d/claude-flow'));
523
+ output.writeln(output.dim(' flo completions bash > ~/.bash_completion.d/flo'));
524
+ output.writeln(output.dim(' source ~/.bash_completion.d/flo'));
525
525
  output.writeln();
526
526
  output.writeln(output.bold('Zsh:'));
527
527
  output.writeln(output.dim(' mkdir -p ~/.zfunc'));
528
- output.writeln(output.dim(' claude-flow completions zsh > ~/.zfunc/_claude-flow'));
528
+ output.writeln(output.dim(' flo completions zsh > ~/.zfunc/_flo'));
529
529
  output.writeln(output.dim(' # Add to ~/.zshrc: fpath=(~/.zfunc $fpath); autoload -Uz compinit && compinit'));
530
530
  output.writeln();
531
531
  output.writeln(output.bold('Fish:'));
532
- output.writeln(output.dim(' claude-flow completions fish > ~/.config/fish/completions/claude-flow.fish'));
532
+ output.writeln(output.dim(' flo completions fish > ~/.config/fish/completions/flo.fish'));
533
533
  output.writeln();
534
534
  output.writeln(output.bold('PowerShell:'));
535
- output.writeln(output.dim(' claude-flow completions powershell >> $PROFILE'));
535
+ output.writeln(output.dim(' flo completions powershell >> $PROFILE'));
536
536
  return { success: true };
537
537
  }
538
538
  };
@@ -115,8 +115,8 @@ const getCommand = {
115
115
  }
116
116
  ],
117
117
  examples: [
118
- { command: 'claude-flow config get swarm.topology', description: 'Get swarm topology' },
119
- { command: 'claude-flow config get -k memory.backend', description: 'Get memory backend' }
118
+ { command: 'flo config get swarm.topology', description: 'Get swarm topology' },
119
+ { command: 'flo config get -k memory.backend', description: 'Get memory backend' }
120
120
  ],
121
121
  action: async (ctx) => {
122
122
  const key = ctx.flags.key || ctx.args[0];
@@ -186,8 +186,8 @@ const setCommand = {
186
186
  }
187
187
  ],
188
188
  examples: [
189
- { command: 'claude-flow config set swarm.maxAgents 20', description: 'Set max agents' },
190
- { command: 'claude-flow config set -k memory.backend -v agentdb', description: 'Set memory backend' }
189
+ { command: 'flo config set swarm.maxAgents 20', description: 'Set max agents' },
190
+ { command: 'flo config set -k memory.backend -v agentdb', description: 'Set memory backend' }
191
191
  ],
192
192
  action: async (ctx) => {
193
193
  const key = ctx.flags.key || ctx.args[0];
@@ -411,15 +411,15 @@ export const configCommand = {
411
411
  subcommands: [initCommand, getCommand, setCommand, providersCommand, resetCommand, exportCommand, importCommand, showCommand, generateCommand],
412
412
  options: [],
413
413
  examples: [
414
- { command: 'claude-flow config init --v3', description: 'Initialize V3 config' },
415
- { command: 'claude-flow config get swarm.topology', description: 'Get config value' },
416
- { command: 'claude-flow config set swarm.maxAgents 20', description: 'Set config value' }
414
+ { command: 'flo config init --v3', description: 'Initialize V3 config' },
415
+ { command: 'flo config get swarm.topology', description: 'Get config value' },
416
+ { command: 'flo config set swarm.maxAgents 20', description: 'Set config value' }
417
417
  ],
418
418
  action: async (ctx) => {
419
419
  output.writeln();
420
420
  output.writeln(output.bold('Configuration Management'));
421
421
  output.writeln();
422
- output.writeln('Usage: claude-flow config <subcommand> [options]');
422
+ output.writeln('Usage: flo config <subcommand> [options]');
423
423
  output.writeln();
424
424
  output.writeln('Subcommands:');
425
425
  output.printList([
@@ -57,10 +57,10 @@ const startCommand = {
57
57
  { name: 'no-dashboard', type: 'boolean', description: 'Disable the dashboard HTTP server' },
58
58
  ],
59
59
  examples: [
60
- { command: 'claude-flow daemon start', description: 'Start daemon in background (default)' },
61
- { command: 'claude-flow daemon start --foreground', description: 'Start in foreground (blocks terminal)' },
62
- { command: 'claude-flow daemon start -w map,optimize', description: 'Start with specific workers' },
63
- { command: 'claude-flow daemon start --headless --sandbox strict', description: 'Start with headless workers in strict sandbox' },
60
+ { command: 'flo daemon start', description: 'Start daemon in background (default)' },
61
+ { command: 'flo daemon start --foreground', description: 'Start in foreground (blocks terminal)' },
62
+ { command: 'flo daemon start -w map,optimize', description: 'Start with specific workers' },
63
+ { command: 'flo daemon start --headless --sandbox strict', description: 'Start with headless workers in strict sandbox' },
64
64
  ],
65
65
  action: async (ctx) => {
66
66
  const quiet = ctx.flags.quiet;
@@ -437,7 +437,7 @@ async function startBackgroundDaemon(projectRoot, quiet, maxCpuLoad, minFreeMemo
437
437
  }
438
438
  }
439
439
  output.printInfo(`Logs: ${logFile}`);
440
- output.printInfo(`Stop with: claude-flow daemon stop`);
440
+ output.printInfo(`Stop with: flo daemon stop`);
441
441
  }
442
442
  return { success: true };
443
443
  }
@@ -449,7 +449,7 @@ const stopCommand = {
449
449
  { name: 'quiet', short: 'Q', type: 'boolean', description: 'Suppress output' },
450
450
  ],
451
451
  examples: [
452
- { command: 'claude-flow daemon stop', description: 'Stop the daemon' },
452
+ { command: 'flo daemon stop', description: 'Stop the daemon' },
453
453
  ],
454
454
  action: async (ctx) => {
455
455
  const quiet = ctx.flags.quiet;
@@ -576,9 +576,9 @@ const statusCommand = {
576
576
  { name: 'show-modes', type: 'boolean', description: 'Show worker execution modes (local/headless) and sandbox settings' },
577
577
  ],
578
578
  examples: [
579
- { command: 'claude-flow daemon status', description: 'Show daemon status' },
580
- { command: 'claude-flow daemon status -v', description: 'Show detailed status' },
581
- { command: 'claude-flow daemon status --show-modes', description: 'Show worker execution modes' },
579
+ { command: 'flo daemon status', description: 'Show daemon status' },
580
+ { command: 'flo daemon status -v', description: 'Show detailed status' },
581
+ { command: 'flo daemon status --show-modes', description: 'Show worker execution modes' },
582
582
  ],
583
583
  action: async (ctx) => {
584
584
  const verbose = ctx.flags.verbose;
@@ -693,7 +693,7 @@ const statusCommand = {
693
693
  `Autostart: ${autostartIcon} ${autostartInstalled ? 'registered' : 'not registered'}`,
694
694
  `Scheduler: ${schedIcon} ${schedulerConfig.enabled ? 'enabled' : 'disabled'} (config)`,
695
695
  '',
696
- 'Run "claude-flow daemon start" to start the daemon',
696
+ 'Run "flo daemon start" to start the daemon',
697
697
  ].join('\n'), 'MoFlo Daemon');
698
698
  return { success: true };
699
699
  }
@@ -708,8 +708,8 @@ const triggerCommand = {
708
708
  { name: 'headless', type: 'boolean', description: 'Run triggered worker in headless mode (E2B sandbox)' },
709
709
  ],
710
710
  examples: [
711
- { command: 'claude-flow daemon trigger -w map', description: 'Trigger the map worker' },
712
- { command: 'claude-flow daemon trigger -w optimize --headless', description: 'Trigger optimize in headless sandbox' },
711
+ { command: 'flo daemon trigger -w map', description: 'Trigger the map worker' },
712
+ { command: 'flo daemon trigger -w optimize --headless', description: 'Trigger optimize in headless sandbox' },
713
713
  ],
714
714
  action: async (ctx) => {
715
715
  const workerType = ctx.flags.worker;
@@ -752,8 +752,8 @@ const enableCommand = {
752
752
  { name: 'disable', short: 'd', type: 'boolean', description: 'Disable instead of enable' },
753
753
  ],
754
754
  examples: [
755
- { command: 'claude-flow daemon enable -w testgaps', description: 'Enable testgaps worker' },
756
- { command: 'claude-flow daemon enable -w refactor --disable', description: 'Disable refactor worker' },
755
+ { command: 'flo daemon enable -w testgaps', description: 'Enable testgaps worker' },
756
+ { command: 'flo daemon enable -w refactor --disable', description: 'Disable refactor worker' },
757
757
  ],
758
758
  action: async (ctx) => {
759
759
  const workerType = ctx.flags.worker;
@@ -782,7 +782,7 @@ const installCommand = {
782
782
  { name: 'quiet', short: 'Q', type: 'boolean', description: 'Suppress output' },
783
783
  ],
784
784
  examples: [
785
- { command: 'claude-flow daemon install', description: 'Register daemon as login service' },
785
+ { command: 'flo daemon install', description: 'Register daemon as login service' },
786
786
  ],
787
787
  action: async (ctx) => {
788
788
  const quiet = ctx.flags.quiet;
@@ -816,7 +816,7 @@ const uninstallCommand = {
816
816
  { name: 'quiet', short: 'Q', type: 'boolean', description: 'Suppress output' },
817
817
  ],
818
818
  examples: [
819
- { command: 'claude-flow daemon uninstall', description: 'Remove daemon login service' },
819
+ { command: 'flo daemon uninstall', description: 'Remove daemon login service' },
820
820
  ],
821
821
  action: async (ctx) => {
822
822
  const quiet = ctx.flags.quiet;
@@ -879,13 +879,13 @@ export const daemonCommand = {
879
879
  ],
880
880
  options: [],
881
881
  examples: [
882
- { command: 'claude-flow daemon start', description: 'Start the daemon' },
883
- { command: 'claude-flow daemon start --headless', description: 'Start with headless workers (E2B sandbox)' },
884
- { command: 'claude-flow daemon status', description: 'Check daemon status' },
885
- { command: 'claude-flow daemon stop', description: 'Stop the daemon' },
886
- { command: 'claude-flow daemon trigger -w optimize', description: 'Run the optimize worker' },
887
- { command: 'claude-flow daemon install', description: 'Register as OS login service' },
888
- { command: 'claude-flow daemon uninstall', description: 'Remove OS login service' },
882
+ { command: 'flo daemon start', description: 'Start the daemon' },
883
+ { command: 'flo daemon start --headless', description: 'Start with headless workers (E2B sandbox)' },
884
+ { command: 'flo daemon status', description: 'Check daemon status' },
885
+ { command: 'flo daemon stop', description: 'Stop the daemon' },
886
+ { command: 'flo daemon trigger -w optimize', description: 'Run the optimize worker' },
887
+ { command: 'flo daemon install', description: 'Register as OS login service' },
888
+ { command: 'flo daemon uninstall', description: 'Remove OS login service' },
889
889
  ],
890
890
  action: async () => {
891
891
  output.writeln();
@@ -922,7 +922,7 @@ export const daemonCommand = {
922
922
  `${output.highlight('uninstall')} - Remove OS login service`,
923
923
  ]);
924
924
  output.writeln();
925
- output.writeln('Run "claude-flow daemon <subcommand> --help" for details');
925
+ output.writeln('Run "flo daemon <subcommand> --help" for details');
926
926
  return { success: true };
927
927
  },
928
928
  };
@@ -17,8 +17,8 @@ const deployCommand = {
17
17
  { name: 'rollback-on-fail', type: 'boolean', description: 'Auto rollback on failure', default: 'true' },
18
18
  ],
19
19
  examples: [
20
- { command: 'claude-flow deployment deploy -e prod', description: 'Deploy to production' },
21
- { command: 'claude-flow deployment deploy --dry-run', description: 'Simulate deployment' },
20
+ { command: 'flo deployment deploy -e prod', description: 'Deploy to production' },
21
+ { command: 'flo deployment deploy --dry-run', description: 'Simulate deployment' },
22
22
  ],
23
23
  action: async (ctx) => {
24
24
  const env = ctx.flags.env || 'staging';
@@ -68,8 +68,8 @@ const statusCommand = {
68
68
  { name: 'watch', short: 'w', type: 'boolean', description: 'Watch for changes' },
69
69
  ],
70
70
  examples: [
71
- { command: 'claude-flow deployment status', description: 'Show all environments' },
72
- { command: 'claude-flow deployment status -e prod', description: 'Check production' },
71
+ { command: 'flo deployment status', description: 'Show all environments' },
72
+ { command: 'flo deployment status -e prod', description: 'Check production' },
73
73
  ],
74
74
  action: async (ctx) => {
75
75
  output.writeln();
@@ -103,8 +103,8 @@ const rollbackCommand = {
103
103
  { name: 'steps', short: 's', type: 'number', description: 'Number of versions to rollback', default: '1' },
104
104
  ],
105
105
  examples: [
106
- { command: 'claude-flow deployment rollback -e prod', description: 'Rollback production' },
107
- { command: 'claude-flow deployment rollback -e prod -v v3.0.0', description: 'Rollback to specific version' },
106
+ { command: 'flo deployment rollback -e prod', description: 'Rollback production' },
107
+ { command: 'flo deployment rollback -e prod -v v3.0.0', description: 'Rollback to specific version' },
108
108
  ],
109
109
  action: async (ctx) => {
110
110
  const env = ctx.flags.env;
@@ -144,8 +144,8 @@ const historyCommand = {
144
144
  { name: 'limit', short: 'l', type: 'number', description: 'Number of entries', default: '10' },
145
145
  ],
146
146
  examples: [
147
- { command: 'claude-flow deployment history', description: 'Show all history' },
148
- { command: 'claude-flow deployment history -e prod', description: 'Production history' },
147
+ { command: 'flo deployment history', description: 'Show all history' },
148
+ { command: 'flo deployment history -e prod', description: 'Production history' },
149
149
  ],
150
150
  action: async (ctx) => {
151
151
  const env = ctx.flags.env;
@@ -182,8 +182,8 @@ const environmentsCommand = {
182
182
  { name: 'name', short: 'n', type: 'string', description: 'Environment name' },
183
183
  ],
184
184
  examples: [
185
- { command: 'claude-flow deployment environments', description: 'List environments' },
186
- { command: 'claude-flow deployment envs -a create -n preview', description: 'Create environment' },
185
+ { command: 'flo deployment environments', description: 'List environments' },
186
+ { command: 'flo deployment envs -a create -n preview', description: 'Create environment' },
187
187
  ],
188
188
  action: async (ctx) => {
189
189
  output.writeln();
@@ -217,8 +217,8 @@ const logsCommand = {
217
217
  { name: 'lines', short: 'n', type: 'number', description: 'Number of lines', default: '50' },
218
218
  ],
219
219
  examples: [
220
- { command: 'claude-flow deployment logs -e prod', description: 'View production logs' },
221
- { command: 'claude-flow deployment logs -d dep-123', description: 'View specific deployment' },
220
+ { command: 'flo deployment logs -e prod', description: 'View production logs' },
221
+ { command: 'flo deployment logs -d dep-123', description: 'View specific deployment' },
222
222
  ],
223
223
  action: async (ctx) => {
224
224
  const env = ctx.flags.env || 'staging';
@@ -254,9 +254,9 @@ export const deploymentCommand = {
254
254
  aliases: ['deploy'],
255
255
  subcommands: [deployCommand, statusCommand, rollbackCommand, historyCommand, environmentsCommand, logsCommand],
256
256
  examples: [
257
- { command: 'claude-flow deployment deploy -e prod', description: 'Deploy to production' },
258
- { command: 'claude-flow deployment status', description: 'Check all environments' },
259
- { command: 'claude-flow deployment rollback -e prod', description: 'Rollback production' },
257
+ { command: 'flo deployment deploy -e prod', description: 'Deploy to production' },
258
+ { command: 'flo deployment status', description: 'Check all environments' },
259
+ { command: 'flo deployment rollback -e prod', description: 'Rollback production' },
260
260
  ],
261
261
  action: async () => {
262
262
  output.writeln();
@@ -47,7 +47,7 @@ export async function checkConfigFile() {
47
47
  return { name: 'Config File', status: 'pass', message: `Found: ${configPath}` };
48
48
  }
49
49
  }
50
- return { name: 'Config File', status: 'warn', message: 'No config file (using defaults)', fix: 'claude-flow config init' };
50
+ return { name: 'Config File', status: 'warn', message: 'No config file (using defaults)', fix: 'npx moflo config init' };
51
51
  }
52
52
  export async function checkStatusLine() {
53
53
  const settingsPath = join(process.cwd(), '.claude', 'settings.json');
@@ -91,16 +91,16 @@ export async function checkDaemonStatus() {
91
91
  // getDaemonLockHolder auto-cleans stale locks, but check for legacy PID file
92
92
  const lockFile = '.moflo/daemon.lock';
93
93
  if (existsSync(lockFile)) {
94
- return { name: 'Daemon Status', status: 'warn', message: 'Stale lock file', fix: 'rm .moflo/daemon.lock && claude-flow daemon start' };
94
+ return { name: 'Daemon Status', status: 'warn', message: 'Stale lock file', fix: 'npx moflo daemon start' };
95
95
  }
96
96
  const pidFile = '.moflo/daemon.pid';
97
97
  if (existsSync(pidFile)) {
98
- return { name: 'Daemon Status', status: 'warn', message: 'Legacy PID file found', fix: 'rm .moflo/daemon.pid && claude-flow daemon start' };
98
+ return { name: 'Daemon Status', status: 'warn', message: 'Legacy PID file found', fix: 'npx moflo daemon start' };
99
99
  }
100
- return { name: 'Daemon Status', status: 'warn', message: 'Not running', fix: 'claude-flow daemon start' };
100
+ return { name: 'Daemon Status', status: 'warn', message: 'Not running', fix: 'npx moflo daemon start' };
101
101
  }
102
102
  catch (e) {
103
- return { name: 'Daemon Status', status: 'warn', message: `Unable to check: ${errorDetail(e)}`, fix: 'claude-flow daemon status' };
103
+ return { name: 'Daemon Status', status: 'warn', message: `Unable to check: ${errorDetail(e)}`, fix: 'npx moflo daemon status' };
104
104
  }
105
105
  }
106
106
  /**
@@ -265,7 +265,7 @@ export async function checkMemoryDatabase() {
265
265
  fix: 'restart claude code session',
266
266
  };
267
267
  }
268
- return { name: 'Memory Database', status: 'warn', message: 'Not initialized', fix: 'claude-flow memory configure --backend hybrid' };
268
+ return { name: 'Memory Database', status: 'warn', message: 'Not initialized', fix: 'npx moflo memory configure --backend hybrid' };
269
269
  }
270
270
  /**
271
271
  * Catches `.swarm/` residue that survived past the canonical migration:
@@ -86,16 +86,16 @@ export const doctorCommand = {
86
86
  },
87
87
  ],
88
88
  examples: [
89
- { command: 'claude-flow doctor', description: 'Run full health check' },
90
- { command: 'claude-flow doctor --fix', description: 'Show fixes for issues' },
91
- { command: 'claude-flow doctor --install', description: 'Auto-install missing dependencies' },
92
- { command: 'claude-flow doctor --kill-zombies', description: 'Find and kill zombie processes' },
93
- { command: 'claude-flow doctor -c version', description: 'Check for stale npx cache' },
94
- { command: 'claude-flow doctor -c claude', description: 'Check Claude Code CLI only' },
95
- { command: 'claude-flow doctor --strict', description: 'Fail (exit 1) on any warning — used by CI' },
96
- { command: 'claude-flow doctor --json', description: 'Emit a single JSON doc with per-check + per-subcheck details (for CI/smoke gates)' },
97
- { command: 'claude-flow doctor -c swarm', description: 'Run only the swarm + agent + task coordinator-path tripwire (epic #798)' },
98
- { command: 'claude-flow doctor -c hive-mind', description: 'Run only the hive-mind MessageBus + shared-coordinator tripwire' },
89
+ { command: 'flo doctor', description: 'Run full health check' },
90
+ { command: 'flo doctor --fix', description: 'Show fixes for issues' },
91
+ { command: 'flo doctor --install', description: 'Auto-install missing dependencies' },
92
+ { command: 'flo doctor --kill-zombies', description: 'Find and kill zombie processes' },
93
+ { command: 'flo doctor -c version', description: 'Check for stale npx cache' },
94
+ { command: 'flo doctor -c claude', description: 'Check Claude Code CLI only' },
95
+ { command: 'flo doctor --strict', description: 'Fail (exit 1) on any warning — used by CI' },
96
+ { command: 'flo doctor --json', description: 'Emit a single JSON doc with per-check + per-subcheck details (for CI/smoke gates)' },
97
+ { command: 'flo doctor -c swarm', description: 'Run only the swarm + agent + task coordinator-path tripwire (epic #798)' },
98
+ { command: 'flo doctor -c hive-mind', description: 'Run only the hive-mind MessageBus + shared-coordinator tripwire' },
99
99
  ],
100
100
  action: async (ctx) => {
101
101
  const showFix = ctx.flags.fix;