@sparkleideas/cli 3.1.0-alpha.20 → 3.1.0-alpha.22

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 (108) hide show
  1. package/dist/src/appliance/rvfa-builder.js +4 -4
  2. package/dist/src/appliance/rvfa-format.d.ts +1 -1
  3. package/dist/src/appliance/rvfa-format.js +1 -1
  4. package/dist/src/appliance/rvfa-runner.js +8 -8
  5. package/dist/src/commands/agent.js +15 -15
  6. package/dist/src/commands/analyze.js +52 -52
  7. package/dist/src/commands/appliance-advanced.js +1 -1
  8. package/dist/src/commands/appliance.js +16 -16
  9. package/dist/src/commands/benchmark.js +16 -16
  10. package/dist/src/commands/categories.js +1 -1
  11. package/dist/src/commands/claims.js +17 -17
  12. package/dist/src/commands/completions.js +37 -37
  13. package/dist/src/commands/config.js +10 -10
  14. package/dist/src/commands/daemon.js +26 -26
  15. package/dist/src/commands/deployment.js +20 -20
  16. package/dist/src/commands/doctor.js +30 -30
  17. package/dist/src/commands/embeddings.js +51 -51
  18. package/dist/src/commands/guidance.js +23 -23
  19. package/dist/src/commands/hive-mind.js +21 -21
  20. package/dist/src/commands/hooks.js +114 -114
  21. package/dist/src/commands/init.js +41 -41
  22. package/dist/src/commands/issues.js +6 -6
  23. package/dist/src/commands/mcp.js +13 -13
  24. package/dist/src/commands/memory.js +35 -35
  25. package/dist/src/commands/migrate.js +13 -13
  26. package/dist/src/commands/neural.js +34 -34
  27. package/dist/src/commands/performance.js +13 -13
  28. package/dist/src/commands/plugins.js +26 -26
  29. package/dist/src/commands/process.js +36 -36
  30. package/dist/src/commands/progress.js +6 -6
  31. package/dist/src/commands/providers.js +13 -13
  32. package/dist/src/commands/route.js +26 -26
  33. package/dist/src/commands/ruvector/backup.js +9 -9
  34. package/dist/src/commands/ruvector/benchmark.js +4 -4
  35. package/dist/src/commands/ruvector/import.d.ts +3 -3
  36. package/dist/src/commands/ruvector/import.js +11 -11
  37. package/dist/src/commands/ruvector/index.js +9 -9
  38. package/dist/src/commands/ruvector/init.js +7 -7
  39. package/dist/src/commands/ruvector/migrate.js +5 -5
  40. package/dist/src/commands/ruvector/optimize.js +7 -7
  41. package/dist/src/commands/ruvector/setup.d.ts +3 -3
  42. package/dist/src/commands/ruvector/setup.js +9 -9
  43. package/dist/src/commands/ruvector/status.js +4 -4
  44. package/dist/src/commands/security.js +19 -19
  45. package/dist/src/commands/session.js +13 -13
  46. package/dist/src/commands/start.js +17 -17
  47. package/dist/src/commands/status.js +10 -10
  48. package/dist/src/commands/swarm.js +7 -7
  49. package/dist/src/commands/task.js +9 -9
  50. package/dist/src/commands/transfer-store.js +16 -16
  51. package/dist/src/commands/update.js +2 -2
  52. package/dist/src/commands/workflow.js +13 -13
  53. package/dist/src/config-adapter.js +5 -5
  54. package/dist/src/index.js +1 -1
  55. package/dist/src/init/claudemd-generator.js +1 -1
  56. package/dist/src/init/executor.js +47 -47
  57. package/dist/src/init/helpers-generator.js +14 -14
  58. package/dist/src/init/mcp-generator.js +6 -6
  59. package/dist/src/init/settings-generator.js +4 -4
  60. package/dist/src/init/statusline-generator.js +27 -27
  61. package/dist/src/init/types.d.ts +6 -6
  62. package/dist/src/init/types.js +3 -3
  63. package/dist/src/mcp-server.js +2 -2
  64. package/dist/src/mcp-tools/agent-tools.js +1 -1
  65. package/dist/src/mcp-tools/auto-install.js +5 -5
  66. package/dist/src/mcp-tools/claims-tools.js +1 -1
  67. package/dist/src/mcp-tools/config-tools.js +1 -1
  68. package/dist/src/mcp-tools/coordination-tools.js +1 -1
  69. package/dist/src/mcp-tools/daa-tools.js +1 -1
  70. package/dist/src/mcp-tools/embeddings-tools.js +1 -1
  71. package/dist/src/mcp-tools/github-tools.js +1 -1
  72. package/dist/src/mcp-tools/hive-mind-tools.js +3 -3
  73. package/dist/src/mcp-tools/hooks-tools.js +2 -2
  74. package/dist/src/mcp-tools/memory-tools.js +1 -1
  75. package/dist/src/mcp-tools/neural-tools.js +7 -7
  76. package/dist/src/mcp-tools/performance-tools.js +1 -1
  77. package/dist/src/mcp-tools/progress-tools.js +1 -1
  78. package/dist/src/mcp-tools/security-tools.js +2 -2
  79. package/dist/src/mcp-tools/session-tools.js +1 -1
  80. package/dist/src/mcp-tools/system-tools.js +2 -2
  81. package/dist/src/mcp-tools/task-tools.js +1 -1
  82. package/dist/src/mcp-tools/terminal-tools.js +1 -1
  83. package/dist/src/mcp-tools/workflow-tools.js +1 -1
  84. package/dist/src/memory/intelligence.js +5 -5
  85. package/dist/src/memory/memory-bridge.d.ts +4 -4
  86. package/dist/src/memory/memory-bridge.js +17 -17
  87. package/dist/src/memory/memory-initializer.js +11 -11
  88. package/dist/src/plugins/manager.js +10 -10
  89. package/dist/src/plugins/store/discovery.js +1 -1
  90. package/dist/src/plugins/tests/demo-plugin-store.js +6 -6
  91. package/dist/src/ruvector/enhanced-model-router.js +3 -3
  92. package/dist/src/services/agentic-flow-bridge.d.ts +11 -11
  93. package/dist/src/services/agentic-flow-bridge.js +11 -11
  94. package/dist/src/services/claim-service.js +1 -1
  95. package/dist/src/services/container-worker-pool.js +4 -4
  96. package/dist/src/services/headless-worker-executor.js +2 -2
  97. package/dist/src/services/worker-daemon.js +14 -14
  98. package/dist/src/services/worker-queue.js +1 -1
  99. package/dist/src/suggest.js +1 -1
  100. package/dist/src/transfer/models/seraphine.js +1 -1
  101. package/dist/src/transfer/serialization/cfp.js +1 -1
  102. package/dist/src/transfer/store/discovery.js +1 -1
  103. package/dist/src/transfer/store/registry.js +1 -1
  104. package/dist/src/types.d.ts +1 -1
  105. package/dist/src/update/executor.js +1 -1
  106. package/dist/src/update/rate-limiter.js +1 -1
  107. package/dist/src/update/validator.js +1 -1
  108. package/package.json +1 -1
@@ -32,7 +32,7 @@ const SKILLS_MAP = {
32
32
  ],
33
33
  browser: ['browser'], // agent-browser integration
34
34
  dualMode: ['dual-mode'], // Claude Code + Codex hybrid execution
35
- @sparkleideas/agentdb: [
35
+ agentdb: [
36
36
  'agentdb-advanced',
37
37
  'agentdb-learning',
38
38
  'agentdb-memory-patterns',
@@ -121,13 +121,13 @@ const DIRECTORIES = {
121
121
  '.claude/helpers',
122
122
  ],
123
123
  runtime: [
124
- '.@sparkleideas/claude-flow',
125
- '.@sparkleideas/claude-flow/data',
126
- '.@sparkleideas/claude-flow/logs',
127
- '.@sparkleideas/claude-flow/sessions',
128
- '.@sparkleideas/claude-flow/hooks',
129
- '.@sparkleideas/claude-flow/agents',
130
- '.@sparkleideas/claude-flow/workflows',
124
+ '.claude-flow',
125
+ '.claude-flow/data',
126
+ '.claude-flow/logs',
127
+ '.claude-flow/sessions',
128
+ '.claude-flow/hooks',
129
+ '.claude-flow/agents',
130
+ '.claude-flow/workflows',
131
131
  ],
132
132
  };
133
133
  /**
@@ -343,9 +343,9 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
343
343
  // Ensure required directories exist
344
344
  const dirs = [
345
345
  '.claude/helpers',
346
- '.@sparkleideas/claude-flow/metrics',
347
- '.@sparkleideas/claude-flow/security',
348
- '.@sparkleideas/claude-flow/learning',
346
+ '.claude-flow/metrics',
347
+ '.claude-flow/security',
348
+ '.claude-flow/learning',
349
349
  ];
350
350
  for (const dir of dirs) {
351
351
  const fullPath = path.join(targetDir, dir);
@@ -418,8 +418,8 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
418
418
  }
419
419
  fs.writeFileSync(statuslinePath, statuslineContent, 'utf-8');
420
420
  // 2. Create MISSING metrics files only (preserve existing data)
421
- const metricsDir = path.join(targetDir, '.@sparkleideas/claude-flow', 'metrics');
422
- const securityDir = path.join(targetDir, '.@sparkleideas/claude-flow', 'security');
421
+ const metricsDir = path.join(targetDir, '.claude-flow', 'metrics');
422
+ const securityDir = path.join(targetDir, '.claude-flow', 'security');
423
423
  // v3-progress.json
424
424
  const progressPath = path.join(metricsDir, 'v3-progress.json');
425
425
  if (!fs.existsSync(progressPath)) {
@@ -433,10 +433,10 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
433
433
  _note: 'Metrics will update as you use Claude Flow'
434
434
  };
435
435
  fs.writeFileSync(progressPath, JSON.stringify(progress, null, 2), 'utf-8');
436
- result.created.push('.@sparkleideas/claude-flow/metrics/v3-progress.json');
436
+ result.created.push('.claude-flow/metrics/v3-progress.json');
437
437
  }
438
438
  else {
439
- result.preserved.push('.@sparkleideas/claude-flow/metrics/v3-progress.json');
439
+ result.preserved.push('.claude-flow/metrics/v3-progress.json');
440
440
  }
441
441
  // swarm-activity.json
442
442
  const activityPath = path.join(metricsDir, 'swarm-activity.json');
@@ -449,10 +449,10 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
449
449
  _initialized: true
450
450
  };
451
451
  fs.writeFileSync(activityPath, JSON.stringify(activity, null, 2), 'utf-8');
452
- result.created.push('.@sparkleideas/claude-flow/metrics/swarm-activity.json');
452
+ result.created.push('.claude-flow/metrics/swarm-activity.json');
453
453
  }
454
454
  else {
455
- result.preserved.push('.@sparkleideas/claude-flow/metrics/swarm-activity.json');
455
+ result.preserved.push('.claude-flow/metrics/swarm-activity.json');
456
456
  }
457
457
  // learning.json
458
458
  const learningPath = path.join(metricsDir, 'learning.json');
@@ -465,10 +465,10 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
465
465
  _note: 'Intelligence grows as you use Claude Flow'
466
466
  };
467
467
  fs.writeFileSync(learningPath, JSON.stringify(learning, null, 2), 'utf-8');
468
- result.created.push('.@sparkleideas/claude-flow/metrics/learning.json');
468
+ result.created.push('.claude-flow/metrics/learning.json');
469
469
  }
470
470
  else {
471
- result.preserved.push('.@sparkleideas/claude-flow/metrics/learning.json');
471
+ result.preserved.push('.claude-flow/metrics/learning.json');
472
472
  }
473
473
  // audit-status.json
474
474
  const auditPath = path.join(securityDir, 'audit-status.json');
@@ -482,10 +482,10 @@ export async function executeUpgrade(targetDir, upgradeSettings = false) {
482
482
  _note: 'Run: npx @sparkleideas/cli@latest security scan'
483
483
  };
484
484
  fs.writeFileSync(auditPath, JSON.stringify(audit, null, 2), 'utf-8');
485
- result.created.push('.@sparkleideas/claude-flow/security/audit-status.json');
485
+ result.created.push('.claude-flow/security/audit-status.json');
486
486
  }
487
487
  else {
488
- result.preserved.push('.@sparkleideas/claude-flow/security/audit-status.json');
488
+ result.preserved.push('.claude-flow/security/audit-status.json');
489
489
  }
490
490
  // 3. Merge settings if requested
491
491
  if (upgradeSettings) {
@@ -678,8 +678,8 @@ async function copySkills(targetDir, options, result) {
678
678
  else {
679
679
  if (skillsConfig.core)
680
680
  skillsToCopy.push(...SKILLS_MAP.core);
681
- if (skillsConfig.@sparkleideas/agentdb)
682
- skillsToCopy.push(...SKILLS_MAP.@sparkleideas/agentdb);
681
+ if (skillsConfig.agentdb)
682
+ skillsToCopy.push(...SKILLS_MAP.agentdb);
683
683
  if (skillsConfig.github)
684
684
  skillsToCopy.push(...SKILLS_MAP.github);
685
685
  if (skillsConfig.flowNexus)
@@ -1020,12 +1020,12 @@ async function writeStatusline(targetDir, options, result) {
1020
1020
  }
1021
1021
  }
1022
1022
  /**
1023
- * Write runtime configuration (.@sparkleideas/claude-flow/)
1023
+ * Write runtime configuration (.claude-flow/)
1024
1024
  */
1025
1025
  async function writeRuntimeConfig(targetDir, options, result) {
1026
- const configPath = path.join(targetDir, '.@sparkleideas/claude-flow', 'config.yaml');
1026
+ const configPath = path.join(targetDir, '.claude-flow', 'config.yaml');
1027
1027
  if (fs.existsSync(configPath) && !options.force) {
1028
- result.skipped.push('.@sparkleideas/claude-flow/config.yaml');
1028
+ result.skipped.push('.claude-flow/config.yaml');
1029
1029
  return;
1030
1030
  }
1031
1031
  const config = `# RuFlo V3 Runtime Configuration
@@ -1042,7 +1042,7 @@ swarm:
1042
1042
  memory:
1043
1043
  backend: ${options.runtime.memoryBackend}
1044
1044
  enableHNSW: ${options.runtime.enableHNSW}
1045
- persistPath: .@sparkleideas/claude-flow/data
1045
+ persistPath: .claude-flow/data
1046
1046
  cacheSize: 100
1047
1047
  # ADR-049: Self-Learning Memory
1048
1048
  learningBridge:
@@ -1062,7 +1062,7 @@ memory:
1062
1062
 
1063
1063
  neural:
1064
1064
  enabled: ${options.runtime.enableNeural}
1065
- modelPath: .@sparkleideas/claude-flow/neural
1065
+ modelPath: .claude-flow/neural
1066
1066
 
1067
1067
  hooks:
1068
1068
  enabled: true
@@ -1073,9 +1073,9 @@ mcp:
1073
1073
  port: ${options.mcp.port}
1074
1074
  `;
1075
1075
  fs.writeFileSync(configPath, config, 'utf-8');
1076
- result.created.files.push('.@sparkleideas/claude-flow/config.yaml');
1076
+ result.created.files.push('.claude-flow/config.yaml');
1077
1077
  // Write .gitignore
1078
- const gitignorePath = path.join(targetDir, '.@sparkleideas/claude-flow', '.gitignore');
1078
+ const gitignorePath = path.join(targetDir, '.claude-flow', '.gitignore');
1079
1079
  const gitignore = `# Claude Flow runtime files
1080
1080
  data/
1081
1081
  logs/
@@ -1086,7 +1086,7 @@ neural/
1086
1086
  `;
1087
1087
  if (!fs.existsSync(gitignorePath) || options.force) {
1088
1088
  fs.writeFileSync(gitignorePath, gitignore, 'utf-8');
1089
- result.created.files.push('.@sparkleideas/claude-flow/.gitignore');
1089
+ result.created.files.push('.claude-flow/.gitignore');
1090
1090
  }
1091
1091
  // Write CAPABILITIES.md with full system overview
1092
1092
  await writeCapabilitiesDoc(targetDir, options, result);
@@ -1096,9 +1096,9 @@ neural/
1096
1096
  * Creates baseline data so statusline shows meaningful state instead of all zeros
1097
1097
  */
1098
1098
  async function writeInitialMetrics(targetDir, options, result) {
1099
- const metricsDir = path.join(targetDir, '.@sparkleideas/claude-flow', 'metrics');
1100
- const learningDir = path.join(targetDir, '.@sparkleideas/claude-flow', 'learning');
1101
- const securityDir = path.join(targetDir, '.@sparkleideas/claude-flow', 'security');
1099
+ const metricsDir = path.join(targetDir, '.claude-flow', 'metrics');
1100
+ const learningDir = path.join(targetDir, '.claude-flow', 'learning');
1101
+ const securityDir = path.join(targetDir, '.claude-flow', 'security');
1102
1102
  // Ensure directories exist
1103
1103
  for (const dir of [metricsDir, learningDir, securityDir]) {
1104
1104
  if (!fs.existsSync(dir)) {
@@ -1135,7 +1135,7 @@ async function writeInitialMetrics(targetDir, options, result) {
1135
1135
  _note: 'Metrics will update as you use Claude Flow. Run: npx @sparkleideas/cli@latest daemon start'
1136
1136
  };
1137
1137
  fs.writeFileSync(progressPath, JSON.stringify(progress, null, 2), 'utf-8');
1138
- result.created.files.push('.@sparkleideas/claude-flow/metrics/v3-progress.json');
1138
+ result.created.files.push('.claude-flow/metrics/v3-progress.json');
1139
1139
  }
1140
1140
  // Create initial swarm-activity.json
1141
1141
  const activityPath = path.join(metricsDir, 'swarm-activity.json');
@@ -1159,7 +1159,7 @@ async function writeInitialMetrics(targetDir, options, result) {
1159
1159
  _initialized: true
1160
1160
  };
1161
1161
  fs.writeFileSync(activityPath, JSON.stringify(activity, null, 2), 'utf-8');
1162
- result.created.files.push('.@sparkleideas/claude-flow/metrics/swarm-activity.json');
1162
+ result.created.files.push('.claude-flow/metrics/swarm-activity.json');
1163
1163
  }
1164
1164
  // Create initial learning.json
1165
1165
  const learningPath = path.join(metricsDir, 'learning.json');
@@ -1182,7 +1182,7 @@ async function writeInitialMetrics(targetDir, options, result) {
1182
1182
  _note: 'Intelligence grows as you use Claude Flow'
1183
1183
  };
1184
1184
  fs.writeFileSync(learningPath, JSON.stringify(learning, null, 2), 'utf-8');
1185
- result.created.files.push('.@sparkleideas/claude-flow/metrics/learning.json');
1185
+ result.created.files.push('.claude-flow/metrics/learning.json');
1186
1186
  }
1187
1187
  // Create initial audit-status.json
1188
1188
  const auditPath = path.join(securityDir, 'audit-status.json');
@@ -1196,16 +1196,16 @@ async function writeInitialMetrics(targetDir, options, result) {
1196
1196
  _note: 'Run: npx @sparkleideas/cli@latest security scan'
1197
1197
  };
1198
1198
  fs.writeFileSync(auditPath, JSON.stringify(audit, null, 2), 'utf-8');
1199
- result.created.files.push('.@sparkleideas/claude-flow/security/audit-status.json');
1199
+ result.created.files.push('.claude-flow/security/audit-status.json');
1200
1200
  }
1201
1201
  }
1202
1202
  /**
1203
1203
  * Write CAPABILITIES.md - comprehensive overview of all Claude Flow features
1204
1204
  */
1205
1205
  async function writeCapabilitiesDoc(targetDir, options, result) {
1206
- const capabilitiesPath = path.join(targetDir, '.@sparkleideas/claude-flow', 'CAPABILITIES.md');
1206
+ const capabilitiesPath = path.join(targetDir, '.claude-flow', 'CAPABILITIES.md');
1207
1207
  if (fs.existsSync(capabilitiesPath) && !options.force) {
1208
- result.skipped.push('.@sparkleideas/claude-flow/CAPABILITIES.md');
1208
+ result.skipped.push('.claude-flow/CAPABILITIES.md');
1209
1209
  return;
1210
1210
  }
1211
1211
  const capabilities = `# RuFlo V3 - Complete Capabilities Reference
@@ -1545,25 +1545,25 @@ npx @sparkleideas/cli@latest hive-mind consensus --propose "task"
1545
1545
  ### Integrated Packages
1546
1546
  | Package | Version | Purpose |
1547
1547
  |---------|---------|---------|
1548
- | @sparkleideas/agentic-flow | 3.0.0-alpha.1 | Core coordination + ReasoningBank + Router |
1549
- | @sparkleideas/agentdb | 3.0.0-alpha.10 | Vector database + 8 controllers |
1548
+ | agentic-flow | 3.0.0-alpha.1 | Core coordination + ReasoningBank + Router |
1549
+ | agentdb | 3.0.0-alpha.10 | Vector database + 8 controllers |
1550
1550
  | @ruvector/attention | 0.1.3 | Flash attention |
1551
1551
  | @ruvector/sona | 0.1.5 | Neural learning |
1552
1552
 
1553
1553
  ### Optional Integrations
1554
1554
  | Package | Command |
1555
1555
  |---------|---------|
1556
- | @sparkleideas/ruv-swarm | \`npx @sparkleideas/ruv-swarm mcp start\` |
1556
+ | ruv-swarm | \`npx ruv-swarm mcp start\` |
1557
1557
  | flow-nexus | \`npx flow-nexus@latest mcp start\` |
1558
1558
  | agentic-jujutsu | \`npx agentic-jujutsu@latest\` |
1559
1559
 
1560
1560
  ### MCP Server Setup
1561
1561
  \`\`\`bash
1562
1562
  # Add Claude Flow MCP
1563
- claude mcp add @sparkleideas/claude-flow -- npx -y @sparkleideas/cli@latest
1563
+ claude mcp add claude-flow -- npx -y @sparkleideas/cli@latest
1564
1564
 
1565
1565
  # Optional servers
1566
- claude mcp add @sparkleideas/ruv-swarm -- npx -y @sparkleideas/ruv-swarm mcp start
1566
+ claude mcp add ruv-swarm -- npx -y ruv-swarm mcp start
1567
1567
  claude mcp add flow-nexus -- npx -y flow-nexus@latest mcp start
1568
1568
  \`\`\`
1569
1569
 
@@ -1596,7 +1596,7 @@ npx @sparkleideas/cli@latest hooks worker dispatch --trigger optimize
1596
1596
 
1597
1597
  ### File Structure
1598
1598
  \`\`\`
1599
- .@sparkleideas/claude-flow/
1599
+ .claude-flow/
1600
1600
  ├── config.yaml # Runtime configuration
1601
1601
  ├── CAPABILITIES.md # This file
1602
1602
  ├── data/ # Memory storage
@@ -1613,7 +1613,7 @@ npx @sparkleideas/cli@latest hooks worker dispatch --trigger optimize
1613
1613
  **Issues**: https://github.com/ruvnet/claude-flow/issues
1614
1614
  `;
1615
1615
  fs.writeFileSync(capabilitiesPath, capabilities, 'utf-8');
1616
- result.created.files.push('.@sparkleideas/claude-flow/CAPABILITIES.md');
1616
+ result.created.files.push('.claude-flow/CAPABILITIES.md');
1617
1617
  }
1618
1618
  /**
1619
1619
  * Write CLAUDE.md with swarm guidance
@@ -48,7 +48,7 @@ COMMIT_MSG=$(git log -1 --pretty=%B)
48
48
 
49
49
  echo "📊 Recording commit metrics..."
50
50
 
51
- # Notify @sparkleideas/claude-flow of commit
51
+ # Notify claude-flow of commit
52
52
  npx @sparkleideas/cli hooks notify \\
53
53
  --message "Commit: $COMMIT_MSG" \\
54
54
  --level info \\
@@ -70,7 +70,7 @@ export function generateSessionManager() {
70
70
  const fs = require('fs');
71
71
  const path = require('path');
72
72
 
73
- const SESSION_DIR = path.join(process.cwd(), '.@sparkleideas/claude-flow', 'sessions');
73
+ const SESSION_DIR = path.join(process.cwd(), '.claude-flow', 'sessions');
74
74
  const SESSION_FILE = path.join(SESSION_DIR, 'current.json');
75
75
 
76
76
  const commands = {
@@ -275,7 +275,7 @@ export function generateMemoryHelper() {
275
275
  const fs = require('fs');
276
276
  const path = require('path');
277
277
 
278
- const MEMORY_DIR = path.join(process.cwd(), '.@sparkleideas/claude-flow', 'data');
278
+ const MEMORY_DIR = path.join(process.cwd(), '.claude-flow', 'data');
279
279
  const MEMORY_FILE = path.join(MEMORY_DIR, 'memory.json');
280
280
 
281
281
  function loadMemory() {
@@ -604,11 +604,11 @@ export function generateIntelligenceStub() {
604
604
  "const path = require('path');",
605
605
  "const os = require('os');",
606
606
  '',
607
- "const DATA_DIR = path.join(process.cwd(), '.@sparkleideas/claude-flow', 'data');",
607
+ "const DATA_DIR = path.join(process.cwd(), '.claude-flow', 'data');",
608
608
  "const STORE_PATH = path.join(DATA_DIR, 'auto-memory-store.json');",
609
609
  "const RANKED_PATH = path.join(DATA_DIR, 'ranked-context.json');",
610
610
  "const PENDING_PATH = path.join(DATA_DIR, 'pending-insights.jsonl');",
611
- "const SESSION_DIR = path.join(process.cwd(), '.@sparkleideas/claude-flow', 'sessions');",
611
+ "const SESSION_DIR = path.join(process.cwd(), '.claude-flow', 'sessions');",
612
612
  "const SESSION_FILE = path.join(SESSION_DIR, 'current.json');",
613
613
  '',
614
614
  'function ensureDir(dir) {',
@@ -652,7 +652,7 @@ export function generateIntelligenceStub() {
652
652
  ' var entries = [];',
653
653
  ' var candidates = [',
654
654
  ' path.join(os.homedir(), ".claude", "projects"),',
655
- ' path.join(process.cwd(), ".@sparkleideas/claude-flow", "memory"),',
655
+ ' path.join(process.cwd(), ".claude-flow", "memory"),',
656
656
  ' path.join(process.cwd(), ".claude", "memory"),',
657
657
  ' ];',
658
658
  ' for (var i = 0; i < candidates.length; i++) {',
@@ -816,7 +816,7 @@ import { fileURLToPath } from 'url';
816
816
  const __filename = fileURLToPath(import.meta.url);
817
817
  const __dirname = dirname(__filename);
818
818
  const PROJECT_ROOT = join(__dirname, '../..');
819
- const DATA_DIR = join(PROJECT_ROOT, '.@sparkleideas/claude-flow', 'data');
819
+ const DATA_DIR = join(PROJECT_ROOT, '.claude-flow', 'data');
820
820
  const STORE_PATH = join(DATA_DIR, 'auto-memory-store.json');
821
821
 
822
822
  const DIM = '\\x1b[2m';
@@ -828,7 +828,7 @@ if (!existsSync(DATA_DIR)) mkdirSync(DATA_DIR, { recursive: true });
828
828
 
829
829
  async function loadMemoryPackage() {
830
830
  // Strategy 1: Use createRequire for CJS-style resolution (handles nested node_modules
831
- // when installed as a transitive dependency via npx @sparkleideas/ruflo / npx @sparkleideas/claude-flow)
831
+ // when installed as a transitive dependency via npx ruflo / npx claude-flow)
832
832
  try {
833
833
  const { createRequire } = await import('module');
834
834
  const require = createRequire(join(PROJECT_ROOT, 'package.json'));
@@ -918,7 +918,7 @@ param(
918
918
  )
919
919
 
920
920
  $ErrorActionPreference = 'SilentlyContinue'
921
- $ClaudeFlowDir = Join-Path $PWD '.@sparkleideas/claude-flow'
921
+ $ClaudeFlowDir = Join-Path $PWD '.claude-flow'
922
922
  $PidDir = Join-Path $ClaudeFlowDir 'pids'
923
923
 
924
924
  # Ensure directories exist
@@ -951,7 +951,7 @@ function Start-SwarmMonitor {
951
951
  Write-Host "Starting swarm monitor..." -ForegroundColor Cyan
952
952
  $process = Start-Process -FilePath 'node' -ArgumentList @(
953
953
  '-e',
954
- 'setInterval(() => { require("fs").writeFileSync(".@sparkleideas/claude-flow/metrics/swarm-activity.json", JSON.stringify({swarm:{active:true,agent_count:0},timestamp:Date.now()})) }, 5000)'
954
+ 'setInterval(() => { require("fs").writeFileSync(".claude-flow/metrics/swarm-activity.json", JSON.stringify({swarm:{active:true,agent_count:0},timestamp:Date.now()})) }, 5000)'
955
955
  ) -PassThru -WindowStyle Hidden
956
956
 
957
957
  $process.Id | Out-File $pidFile
@@ -1040,18 +1040,18 @@ const homeDir = os.homedir();
1040
1040
 
1041
1041
  // Get data directory based on platform
1042
1042
  function getDataDir() {
1043
- const localDir = path.join(process.cwd(), '.@sparkleideas/claude-flow', 'sessions');
1043
+ const localDir = path.join(process.cwd(), '.claude-flow', 'sessions');
1044
1044
  if (fs.existsSync(path.dirname(localDir))) {
1045
1045
  return localDir;
1046
1046
  }
1047
1047
 
1048
1048
  switch (platform) {
1049
1049
  case 'win32':
1050
- return path.join(process.env.APPDATA || homeDir, '@sparkleideas/claude-flow', 'sessions');
1050
+ return path.join(process.env.APPDATA || homeDir, 'claude-flow', 'sessions');
1051
1051
  case 'darwin':
1052
- return path.join(homeDir, 'Library', 'Application Support', '@sparkleideas/claude-flow', 'sessions');
1052
+ return path.join(homeDir, 'Library', 'Application Support', 'claude-flow', 'sessions');
1053
1053
  default:
1054
- return path.join(homeDir, '.@sparkleideas/claude-flow', 'sessions');
1054
+ return path.join(homeDir, '.claude-flow', 'sessions');
1055
1055
  }
1056
1056
  }
1057
1057
 
@@ -42,7 +42,7 @@ export function generateMCPConfig(options) {
42
42
  };
43
43
  // Claude Flow MCP server (core)
44
44
  if (config.claudeFlow) {
45
- mcpServers['@sparkleideas/claude-flow'] = createMCPServerEntry(['@sparkleideas/cli@latest', 'mcp', 'start'], {
45
+ mcpServers['claude-flow'] = createMCPServerEntry(['@sparkleideas/cli@latest', 'mcp', 'start'], {
46
46
  ...npmEnv,
47
47
  CLAUDE_FLOW_MODE: 'v3',
48
48
  CLAUDE_FLOW_HOOKS_ENABLED: 'true',
@@ -53,7 +53,7 @@ export function generateMCPConfig(options) {
53
53
  }
54
54
  // Ruv-Swarm MCP server (enhanced coordination)
55
55
  if (config.ruvSwarm) {
56
- mcpServers['@sparkleideas/ruv-swarm'] = createMCPServerEntry(['@sparkleideas/ruv-swarm', 'mcp', 'start'], { ...npmEnv }, { optional: true });
56
+ mcpServers['ruv-swarm'] = createMCPServerEntry(['ruv-swarm', 'mcp', 'start'], { ...npmEnv }, { optional: true });
57
57
  }
58
58
  // Flow Nexus MCP server (cloud features)
59
59
  if (config.flowNexus) {
@@ -76,10 +76,10 @@ export function generateMCPCommands(options) {
76
76
  const config = options.mcp;
77
77
  if (isWindows()) {
78
78
  if (config.claudeFlow) {
79
- commands.push('claude mcp add @sparkleideas/claude-flow -- cmd /c npx -y @sparkleideas/cli@latest mcp start');
79
+ commands.push('claude mcp add claude-flow -- cmd /c npx -y @sparkleideas/cli@latest mcp start');
80
80
  }
81
81
  if (config.ruvSwarm) {
82
- commands.push('claude mcp add @sparkleideas/ruv-swarm -- cmd /c npx -y @sparkleideas/ruv-swarm mcp start');
82
+ commands.push('claude mcp add ruv-swarm -- cmd /c npx -y ruv-swarm mcp start');
83
83
  }
84
84
  if (config.flowNexus) {
85
85
  commands.push('claude mcp add flow-nexus -- cmd /c npx -y flow-nexus@latest mcp start');
@@ -87,10 +87,10 @@ export function generateMCPCommands(options) {
87
87
  }
88
88
  else {
89
89
  if (config.claudeFlow) {
90
- commands.push("claude mcp add @sparkleideas/claude-flow -- npx -y @sparkleideas/cli@latest mcp start");
90
+ commands.push("claude mcp add claude-flow -- npx -y @sparkleideas/cli@latest mcp start");
91
91
  }
92
92
  if (config.ruvSwarm) {
93
- commands.push("claude mcp add @sparkleideas/ruv-swarm -- npx -y @sparkleideas/ruv-swarm mcp start");
93
+ commands.push("claude mcp add ruv-swarm -- npx -y ruv-swarm mcp start");
94
94
  }
95
95
  if (config.flowNexus) {
96
96
  commands.push("claude mcp add flow-nexus -- npx -y flow-nexus@latest mcp start");
@@ -20,7 +20,7 @@ export function generateSettings(options) {
20
20
  settings.permissions = {
21
21
  allow: [
22
22
  'Bash(npx @claude-flow*)',
23
- 'Bash(npx @sparkleideas/claude-flow*)',
23
+ 'Bash(npx claude-flow*)',
24
24
  'Bash(node .claude/*)',
25
25
  'mcp__claude-flow__:*',
26
26
  ],
@@ -29,10 +29,10 @@ export function generateSettings(options) {
29
29
  'Read(./.env.*)',
30
30
  ],
31
31
  };
32
- // Add @sparkleideas/claude-flow attribution for git commits and PRs
32
+ // Add claude-flow attribution for git commits and PRs
33
33
  settings.attribution = {
34
- commit: 'Co-Authored-By: @sparkleideas/claude-flow <ruv@ruv.net>',
35
- pr: '🤖 Generated with [@sparkleideas/claude-flow](https://github.com/ruvnet/claude-flow)',
34
+ commit: 'Co-Authored-By: claude-flow <ruv@ruv.net>',
35
+ pr: '🤖 Generated with [claude-flow](https://github.com/ruvnet/claude-flow)',
36
36
  };
37
37
  // Note: Claude Code expects 'model' to be a string, not an object
38
38
  // Model preferences are stored in claudeFlow settings instead
@@ -202,10 +202,10 @@ function getModelName() {
202
202
  function getLearningStats() {
203
203
  const memoryPaths = [
204
204
  path.join(CWD, '.swarm', 'memory.db'),
205
- path.join(CWD, '.@sparkleideas/claude-flow', 'memory.db'),
205
+ path.join(CWD, '.claude-flow', 'memory.db'),
206
206
  path.join(CWD, '.claude', 'memory.db'),
207
207
  path.join(CWD, 'data', 'memory.db'),
208
- path.join(CWD, '.@sparkleideas/agentdb', 'memory.db'),
208
+ path.join(CWD, '.agentdb', 'memory.db'),
209
209
  ];
210
210
 
211
211
  for (const dbPath of memoryPaths) {
@@ -237,7 +237,7 @@ function getV3Progress() {
237
237
  const learning = getLearningStats();
238
238
  const totalDomains = 5;
239
239
 
240
- const dddData = readJSON(path.join(CWD, '.@sparkleideas/claude-flow', 'metrics', 'ddd-progress.json'));
240
+ const dddData = readJSON(path.join(CWD, '.claude-flow', 'metrics', 'ddd-progress.json'));
241
241
  let dddProgress = dddData ? (dddData.progress || 0) : 0;
242
242
  let domainsCompleted = Math.min(5, Math.floor(dddProgress / 20));
243
243
 
@@ -260,7 +260,7 @@ function getV3Progress() {
260
260
  // Security status (pure file reads)
261
261
  function getSecurityStatus() {
262
262
  const totalCves = 3;
263
- const auditData = readJSON(path.join(CWD, '.@sparkleideas/claude-flow', 'security', 'audit-status.json'));
263
+ const auditData = readJSON(path.join(CWD, '.claude-flow', 'security', 'audit-status.json'));
264
264
  if (auditData) {
265
265
  return {
266
266
  status: auditData.status || 'PENDING',
@@ -286,7 +286,7 @@ function getSecurityStatus() {
286
286
 
287
287
  // Swarm status (pure file reads, NO ps aux)
288
288
  function getSwarmStatus() {
289
- const activityData = readJSON(path.join(CWD, '.@sparkleideas/claude-flow', 'metrics', 'swarm-activity.json'));
289
+ const activityData = readJSON(path.join(CWD, '.claude-flow', 'metrics', 'swarm-activity.json'));
290
290
  if (activityData && activityData.swarm) {
291
291
  return {
292
292
  activeAgents: activityData.swarm.agent_count || 0,
@@ -295,7 +295,7 @@ function getSwarmStatus() {
295
295
  };
296
296
  }
297
297
 
298
- const progressData = readJSON(path.join(CWD, '.@sparkleideas/claude-flow', 'metrics', 'v3-progress.json'));
298
+ const progressData = readJSON(path.join(CWD, '.claude-flow', 'metrics', 'v3-progress.json'));
299
299
  if (progressData && progressData.swarm) {
300
300
  return {
301
301
  activeAgents: progressData.swarm.activeAgents || progressData.swarm.agent_count || 0,
@@ -311,10 +311,10 @@ function getSwarmStatus() {
311
311
  function getSystemMetrics() {
312
312
  const memoryMB = Math.floor(process.memoryUsage().heapUsed / 1024 / 1024);
313
313
  const learning = getLearningStats();
314
- const @sparkleideas/agentdb = getAgentDBStats();
314
+ const agentdb = getAgentDBStats();
315
315
 
316
316
  // Intelligence from learning.json
317
- const learningData = readJSON(path.join(CWD, '.@sparkleideas/claude-flow', 'metrics', 'learning.json'));
317
+ const learningData = readJSON(path.join(CWD, '.claude-flow', 'metrics', 'learning.json'));
318
318
  let intelligencePct = 0;
319
319
  let contextPct = 0;
320
320
 
@@ -322,7 +322,7 @@ function getSystemMetrics() {
322
322
  intelligencePct = Math.min(100, Math.floor(learningData.intelligence.score));
323
323
  } else {
324
324
  const fromPatterns = learning.patterns > 0 ? Math.min(100, Math.floor(learning.patterns / 10)) : 0;
325
- const fromVectors = @sparkleideas/agentdb.vectorCount > 0 ? Math.min(100, Math.floor(@sparkleideas/agentdb.vectorCount / 100)) : 0;
325
+ const fromVectors = agentdb.vectorCount > 0 ? Math.min(100, Math.floor(agentdb.vectorCount / 100)) : 0;
326
326
  intelligencePct = Math.max(fromPatterns, fromVectors);
327
327
  }
328
328
 
@@ -347,7 +347,7 @@ function getSystemMetrics() {
347
347
 
348
348
  // Sub-agents from file metrics (no ps aux)
349
349
  let subAgents = 0;
350
- const activityData = readJSON(path.join(CWD, '.@sparkleideas/claude-flow', 'metrics', 'swarm-activity.json'));
350
+ const activityData = readJSON(path.join(CWD, '.claude-flow', 'metrics', 'swarm-activity.json'));
351
351
  if (activityData && activityData.processes && activityData.processes.estimated_agents) {
352
352
  subAgents = activityData.processes.estimated_agents;
353
353
  }
@@ -357,7 +357,7 @@ function getSystemMetrics() {
357
357
 
358
358
  // ADR status (count files only — don't read contents)
359
359
  function getADRStatus() {
360
- const complianceData = readJSON(path.join(CWD, '.@sparkleideas/claude-flow', 'metrics', 'adr-compliance.json'));
360
+ const complianceData = readJSON(path.join(CWD, '.claude-flow', 'metrics', 'adr-compliance.json'));
361
361
  if (complianceData) {
362
362
  const checks = complianceData.checks || {};
363
363
  const total = Object.keys(checks).length;
@@ -369,7 +369,7 @@ function getADRStatus() {
369
369
  const adrPaths = [
370
370
  path.join(CWD, 'v3', 'implementation', 'adrs'),
371
371
  path.join(CWD, 'docs', 'adrs'),
372
- path.join(CWD, '.@sparkleideas/claude-flow', 'adrs'),
372
+ path.join(CWD, '.claude-flow', 'adrs'),
373
373
  ];
374
374
 
375
375
  for (const adrPath of adrPaths) {
@@ -421,7 +421,7 @@ function getAgentDBStats() {
421
421
 
422
422
  const dbFiles = [
423
423
  path.join(CWD, '.swarm', 'memory.db'),
424
- path.join(CWD, '.@sparkleideas/claude-flow', 'memory.db'),
424
+ path.join(CWD, '.claude-flow', 'memory.db'),
425
425
  path.join(CWD, '.claude', 'memory.db'),
426
426
  path.join(CWD, 'data', 'memory.db'),
427
427
  ];
@@ -438,9 +438,9 @@ function getAgentDBStats() {
438
438
 
439
439
  if (vectorCount === 0) {
440
440
  const dbDirs = [
441
- path.join(CWD, '.@sparkleideas/claude-flow', '@sparkleideas/agentdb'),
442
- path.join(CWD, '.swarm', '@sparkleideas/agentdb'),
443
- path.join(CWD, '.@sparkleideas/agentdb'),
441
+ path.join(CWD, '.claude-flow', 'agentdb'),
442
+ path.join(CWD, '.swarm', 'agentdb'),
443
+ path.join(CWD, '.agentdb'),
444
444
  ];
445
445
  for (const dir of dbDirs) {
446
446
  try {
@@ -460,7 +460,7 @@ function getAgentDBStats() {
460
460
 
461
461
  const hnswPaths = [
462
462
  path.join(CWD, '.swarm', 'hnsw.index'),
463
- path.join(CWD, '.@sparkleideas/claude-flow', 'hnsw.index'),
463
+ path.join(CWD, '.claude-flow', 'hnsw.index'),
464
464
  ];
465
465
  for (const p of hnswPaths) {
466
466
  const stat = safeStat(p);
@@ -529,7 +529,7 @@ function getIntegrationStatus() {
529
529
  }
530
530
  }
531
531
 
532
- const hasDatabase = ['.swarm/memory.db', '.@sparkleideas/claude-flow/memory.db', 'data/memory.db']
532
+ const hasDatabase = ['.swarm/memory.db', '.claude-flow/memory.db', 'data/memory.db']
533
533
  .some(p => fs.existsSync(path.join(CWD, p)));
534
534
  const hasApi = !!(process.env.ANTHROPIC_API_KEY || process.env.OPENAI_API_KEY);
535
535
 
@@ -538,7 +538,7 @@ function getIntegrationStatus() {
538
538
 
539
539
  // Session stats (pure file reads)
540
540
  function getSessionStats() {
541
- var sessionPaths = ['.@sparkleideas/claude-flow/session.json', '.claude/session.json'];
541
+ var sessionPaths = ['.claude-flow/session.json', '.claude/session.json'];
542
542
  for (var i = 0; i < sessionPaths.length; i++) {
543
543
  const data = readJSON(path.join(CWD, sessionPaths[i]));
544
544
  if (data && data.startTime) {
@@ -571,7 +571,7 @@ function generateStatusline() {
571
571
  const system = getSystemMetrics();
572
572
  const adrs = getADRStatus();
573
573
  const hooks = getHooksStatus();
574
- const @sparkleideas/agentdb = getAgentDBStats();
574
+ const agentdb = getAgentDBStats();
575
575
  const tests = getTestStats();
576
576
  const session = getSessionStats();
577
577
  const integration = getIntegrationStatus();
@@ -614,8 +614,8 @@ function generateStatusline() {
614
614
  // Line 1: DDD Domains
615
615
  const domainsColor = progress.domainsCompleted >= 3 ? c.brightGreen : progress.domainsCompleted > 0 ? c.yellow : c.red;
616
616
  let perfIndicator;
617
- if (@sparkleideas/agentdb.hasHnsw && @sparkleideas/agentdb.vectorCount > 0) {
618
- const speedup = @sparkleideas/agentdb.vectorCount > 10000 ? '12500x' : @sparkleideas/agentdb.vectorCount > 1000 ? '150x' : '10x';
617
+ if (agentdb.hasHnsw && agentdb.vectorCount > 0) {
618
+ const speedup = agentdb.vectorCount > 10000 ? '12500x' : agentdb.vectorCount > 1000 ? '150x' : '10x';
619
619
  perfIndicator = c.brightGreen + '\\u26A1 HNSW ' + speedup + c.reset;
620
620
  } else if (progress.patternsLearned > 0) {
621
621
  const pk = progress.patternsLearned >= 1000 ? (progress.patternsLearned / 1000).toFixed(1) + 'k' : String(progress.patternsLearned);
@@ -658,9 +658,9 @@ function generateStatusline() {
658
658
  );
659
659
 
660
660
  // Line 4: AgentDB, Tests, Integration
661
- const hnswInd = @sparkleideas/agentdb.hasHnsw ? c.brightGreen + '\\u26A1' + c.reset : '';
662
- const sizeDisp = @sparkleideas/agentdb.dbSizeKB >= 1024 ? (@sparkleideas/agentdb.dbSizeKB / 1024).toFixed(1) + 'MB' : @sparkleideas/agentdb.dbSizeKB + 'KB';
663
- const vectorColor = @sparkleideas/agentdb.vectorCount > 0 ? c.brightGreen : c.dim;
661
+ const hnswInd = agentdb.hasHnsw ? c.brightGreen + '\\u26A1' + c.reset : '';
662
+ const sizeDisp = agentdb.dbSizeKB >= 1024 ? (agentdb.dbSizeKB / 1024).toFixed(1) + 'MB' : agentdb.dbSizeKB + 'KB';
663
+ const vectorColor = agentdb.vectorCount > 0 ? c.brightGreen : c.dim;
664
664
  const testColor = tests.testFiles > 0 ? c.brightGreen : c.dim;
665
665
 
666
666
  let integStr = '';
@@ -675,7 +675,7 @@ function generateStatusline() {
675
675
 
676
676
  lines.push(
677
677
  c.brightCyan + '\\uD83D\\uDCCA AgentDB' + c.reset + ' ' +
678
- c.cyan + 'Vectors' + c.reset + ' ' + vectorColor + '\\u25CF' + @sparkleideas/agentdb.vectorCount + hnswInd + c.reset + ' ' + c.dim + '\\u2502' + c.reset + ' ' +
678
+ c.cyan + 'Vectors' + c.reset + ' ' + vectorColor + '\\u25CF' + agentdb.vectorCount + hnswInd + c.reset + ' ' + c.dim + '\\u2502' + c.reset + ' ' +
679
679
  c.cyan + 'Size' + c.reset + ' ' + c.brightWhite + sizeDisp + c.reset + ' ' + c.dim + '\\u2502' + c.reset + ' ' +
680
680
  c.cyan + 'Tests' + c.reset + ' ' + testColor + '\\u25CF' + tests.testFiles + c.reset + ' ' + c.dim + '(~' + tests.testCases + ' cases)' + c.reset + ' ' + c.dim + '\\u2502' + c.reset + ' ' +
681
681
  integStr
@@ -695,7 +695,7 @@ function generateJSON() {
695
695
  system: getSystemMetrics(),
696
696
  adrs: getADRStatus(),
697
697
  hooks: getHooksStatus(),
698
- @sparkleideas/agentdb: getAgentDBStats(),
698
+ agentdb: getAgentDBStats(),
699
699
  tests: getTestStats(),
700
700
  git: { modified: git.modified, untracked: git.untracked, staged: git.staged, ahead: git.ahead, behind: git.behind },
701
701
  lastUpdated: new Date().toISOString(),