@sparkleideas/cli 3.1.0-alpha.19 → 3.1.0-alpha.21
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.
- package/dist/src/appliance/gguf-engine.d.ts +91 -0
- package/dist/src/appliance/gguf-engine.d.ts.map +1 -0
- package/dist/src/appliance/gguf-engine.js +425 -0
- package/dist/src/appliance/gguf-engine.js.map +1 -0
- package/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
- package/dist/src/appliance/ruvllm-bridge.d.ts.map +1 -0
- package/dist/src/appliance/ruvllm-bridge.js +292 -0
- package/dist/src/appliance/ruvllm-bridge.js.map +1 -0
- package/dist/src/appliance/rvfa-builder.d.ts +44 -0
- package/dist/src/appliance/rvfa-builder.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-builder.js +329 -0
- package/dist/src/appliance/rvfa-builder.js.map +1 -0
- package/dist/src/appliance/rvfa-distribution.d.ts +97 -0
- package/dist/src/appliance/rvfa-distribution.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-distribution.js +370 -0
- package/dist/src/appliance/rvfa-distribution.js.map +1 -0
- package/dist/src/appliance/rvfa-format.d.ts +111 -0
- package/dist/src/appliance/rvfa-format.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-format.js +393 -0
- package/dist/src/appliance/rvfa-format.js.map +1 -0
- package/dist/src/appliance/rvfa-runner.d.ts +69 -0
- package/dist/src/appliance/rvfa-runner.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-runner.js +237 -0
- package/dist/src/appliance/rvfa-runner.js.map +1 -0
- package/dist/src/appliance/rvfa-signing.d.ts +123 -0
- package/dist/src/appliance/rvfa-signing.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-signing.js +347 -0
- package/dist/src/appliance/rvfa-signing.js.map +1 -0
- package/dist/src/benchmarks/pretrain/index.d.ts +58 -0
- package/dist/src/benchmarks/pretrain/index.d.ts.map +1 -0
- package/dist/src/benchmarks/pretrain/index.js +404 -0
- package/dist/src/benchmarks/pretrain/index.js.map +1 -0
- package/dist/src/commands/agent.d.ts +8 -0
- package/dist/src/commands/agent.d.ts.map +1 -0
- package/dist/src/commands/agent.js +819 -0
- package/dist/src/commands/agent.js.map +1 -0
- package/dist/src/commands/analyze.d.ts +19 -0
- package/dist/src/commands/analyze.d.ts.map +1 -0
- package/dist/src/commands/analyze.js +1823 -0
- package/dist/src/commands/analyze.js.map +1 -0
- package/dist/src/commands/appliance-advanced.d.ts +9 -0
- package/dist/src/commands/appliance-advanced.d.ts.map +1 -0
- package/dist/src/commands/appliance-advanced.js +215 -0
- package/dist/src/commands/appliance-advanced.js.map +1 -0
- package/dist/src/commands/appliance.d.ts +8 -0
- package/dist/src/commands/appliance.d.ts.map +1 -0
- package/dist/src/commands/appliance.js +406 -0
- package/dist/src/commands/appliance.js.map +1 -0
- package/dist/src/commands/benchmark.d.ts +10 -0
- package/dist/src/commands/benchmark.d.ts.map +1 -0
- package/dist/src/commands/benchmark.js +459 -0
- package/dist/src/commands/benchmark.js.map +1 -0
- package/dist/src/commands/categories.d.ts +75 -0
- package/dist/src/commands/categories.d.ts.map +1 -0
- package/dist/src/commands/categories.js +178 -0
- package/dist/src/commands/categories.js.map +1 -0
- package/dist/src/commands/claims.d.ts +10 -0
- package/dist/src/commands/claims.d.ts.map +1 -0
- package/dist/src/commands/claims.js +373 -0
- package/dist/src/commands/claims.js.map +1 -0
- package/dist/src/commands/completions.d.ts +10 -0
- package/dist/src/commands/completions.d.ts.map +1 -0
- package/dist/src/commands/completions.js +539 -0
- package/dist/src/commands/completions.js.map +1 -0
- package/dist/src/commands/config.d.ts +8 -0
- package/dist/src/commands/config.d.ts.map +1 -0
- package/dist/src/commands/config.js +406 -0
- package/dist/src/commands/config.js.map +1 -0
- package/dist/src/commands/daemon.d.ts +8 -0
- package/dist/src/commands/daemon.d.ts.map +1 -0
- package/dist/src/commands/daemon.js +609 -0
- package/dist/src/commands/daemon.js.map +1 -0
- package/dist/src/commands/deployment.d.ts +10 -0
- package/dist/src/commands/deployment.d.ts.map +1 -0
- package/dist/src/commands/deployment.js +289 -0
- package/dist/src/commands/deployment.js.map +1 -0
- package/dist/src/commands/doctor.d.ts +10 -0
- package/dist/src/commands/doctor.d.ts.map +1 -0
- package/dist/src/commands/doctor.js +602 -0
- package/dist/src/commands/doctor.js.map +1 -0
- package/dist/src/commands/embeddings.d.ts +18 -0
- package/dist/src/commands/embeddings.d.ts.map +1 -0
- package/dist/src/commands/embeddings.js +1576 -0
- package/dist/src/commands/embeddings.js.map +1 -0
- package/dist/src/commands/guidance.d.ts +8 -0
- package/dist/src/commands/guidance.d.ts.map +1 -0
- package/dist/src/commands/guidance.js +560 -0
- package/dist/src/commands/guidance.js.map +1 -0
- package/dist/src/commands/hive-mind.d.ts +11 -0
- package/dist/src/commands/hive-mind.d.ts.map +1 -0
- package/dist/src/commands/hive-mind.js +1230 -0
- package/dist/src/commands/hive-mind.js.map +1 -0
- package/dist/src/commands/hooks.d.ts +8 -0
- package/dist/src/commands/hooks.d.ts.map +1 -0
- package/dist/src/commands/hooks.js +3759 -0
- package/dist/src/commands/hooks.js.map +1 -0
- package/dist/src/commands/index.d.ts +113 -0
- package/dist/src/commands/index.d.ts.map +1 -0
- package/dist/src/commands/index.js +368 -0
- package/dist/src/commands/index.js.map +1 -0
- package/dist/src/commands/init.d.ts +8 -0
- package/dist/src/commands/init.d.ts.map +1 -0
- package/dist/src/commands/init.js +965 -0
- package/dist/src/commands/init.js.map +1 -0
- package/dist/src/commands/issues.d.ts +21 -0
- package/dist/src/commands/issues.d.ts.map +1 -0
- package/dist/src/commands/issues.js +567 -0
- package/dist/src/commands/issues.js.map +1 -0
- package/dist/src/commands/mcp.d.ts +11 -0
- package/dist/src/commands/mcp.d.ts.map +1 -0
- package/dist/src/commands/mcp.js +715 -0
- package/dist/src/commands/mcp.js.map +1 -0
- package/dist/src/commands/memory.d.ts +8 -0
- package/dist/src/commands/memory.d.ts.map +1 -0
- package/dist/src/commands/memory.js +1292 -0
- package/dist/src/commands/memory.js.map +1 -0
- package/dist/src/commands/migrate.d.ts +8 -0
- package/dist/src/commands/migrate.d.ts.map +1 -0
- package/dist/src/commands/migrate.js +410 -0
- package/dist/src/commands/migrate.js.map +1 -0
- package/dist/src/commands/neural.d.ts +10 -0
- package/dist/src/commands/neural.d.ts.map +1 -0
- package/dist/src/commands/neural.js +1448 -0
- package/dist/src/commands/neural.js.map +1 -0
- package/dist/src/commands/performance.d.ts +10 -0
- package/dist/src/commands/performance.d.ts.map +1 -0
- package/dist/src/commands/performance.js +579 -0
- package/dist/src/commands/performance.js.map +1 -0
- package/dist/src/commands/plugins.d.ts +11 -0
- package/dist/src/commands/plugins.d.ts.map +1 -0
- package/dist/src/commands/plugins.js +820 -0
- package/dist/src/commands/plugins.js.map +1 -0
- package/dist/src/commands/process.d.ts +10 -0
- package/dist/src/commands/process.d.ts.map +1 -0
- package/dist/src/commands/process.js +641 -0
- package/dist/src/commands/process.js.map +1 -0
- package/dist/src/commands/progress.d.ts +11 -0
- package/dist/src/commands/progress.d.ts.map +1 -0
- package/dist/src/commands/progress.js +259 -0
- package/dist/src/commands/progress.js.map +1 -0
- package/dist/src/commands/providers.d.ts +10 -0
- package/dist/src/commands/providers.d.ts.map +1 -0
- package/dist/src/commands/providers.js +232 -0
- package/dist/src/commands/providers.js.map +1 -0
- package/dist/src/commands/route.d.ts +16 -0
- package/dist/src/commands/route.d.ts.map +1 -0
- package/dist/src/commands/route.js +813 -0
- package/dist/src/commands/route.js.map +1 -0
- package/dist/src/commands/ruvector/backup.d.ts +11 -0
- package/dist/src/commands/ruvector/backup.d.ts.map +1 -0
- package/dist/src/commands/ruvector/backup.js +746 -0
- package/dist/src/commands/ruvector/backup.js.map +1 -0
- package/dist/src/commands/ruvector/benchmark.d.ts +11 -0
- package/dist/src/commands/ruvector/benchmark.d.ts.map +1 -0
- package/dist/src/commands/ruvector/benchmark.js +480 -0
- package/dist/src/commands/ruvector/benchmark.js.map +1 -0
- package/dist/src/commands/ruvector/import.d.ts +18 -0
- package/dist/src/commands/ruvector/import.d.ts.map +1 -0
- package/dist/src/commands/ruvector/import.js +349 -0
- package/dist/src/commands/ruvector/import.js.map +1 -0
- package/dist/src/commands/ruvector/index.d.ts +29 -0
- package/dist/src/commands/ruvector/index.d.ts.map +1 -0
- package/dist/src/commands/ruvector/index.js +129 -0
- package/dist/src/commands/ruvector/index.js.map +1 -0
- package/dist/src/commands/ruvector/init.d.ts +11 -0
- package/dist/src/commands/ruvector/init.d.ts.map +1 -0
- package/dist/src/commands/ruvector/init.js +431 -0
- package/dist/src/commands/ruvector/init.js.map +1 -0
- package/dist/src/commands/ruvector/migrate.d.ts +11 -0
- package/dist/src/commands/ruvector/migrate.d.ts.map +1 -0
- package/dist/src/commands/ruvector/migrate.js +481 -0
- package/dist/src/commands/ruvector/migrate.js.map +1 -0
- package/dist/src/commands/ruvector/optimize.d.ts +11 -0
- package/dist/src/commands/ruvector/optimize.d.ts.map +1 -0
- package/dist/src/commands/ruvector/optimize.js +503 -0
- package/dist/src/commands/ruvector/optimize.js.map +1 -0
- package/dist/src/commands/ruvector/setup.d.ts +18 -0
- package/dist/src/commands/ruvector/setup.d.ts.map +1 -0
- package/dist/src/commands/ruvector/setup.js +765 -0
- package/dist/src/commands/ruvector/setup.js.map +1 -0
- package/dist/src/commands/ruvector/status.d.ts +11 -0
- package/dist/src/commands/ruvector/status.d.ts.map +1 -0
- package/dist/src/commands/ruvector/status.js +456 -0
- package/dist/src/commands/ruvector/status.js.map +1 -0
- package/dist/src/commands/security.d.ts +10 -0
- package/dist/src/commands/security.d.ts.map +1 -0
- package/dist/src/commands/security.js +575 -0
- package/dist/src/commands/security.js.map +1 -0
- package/dist/src/commands/session.d.ts +8 -0
- package/dist/src/commands/session.d.ts.map +1 -0
- package/dist/src/commands/session.js +750 -0
- package/dist/src/commands/session.js.map +1 -0
- package/dist/src/commands/start.d.ts +8 -0
- package/dist/src/commands/start.d.ts.map +1 -0
- package/dist/src/commands/start.js +418 -0
- package/dist/src/commands/start.js.map +1 -0
- package/dist/src/commands/status.d.ts +8 -0
- package/dist/src/commands/status.d.ts.map +1 -0
- package/dist/src/commands/status.js +591 -0
- package/dist/src/commands/status.js.map +1 -0
- package/dist/src/commands/swarm.d.ts +8 -0
- package/dist/src/commands/swarm.d.ts.map +1 -0
- package/dist/src/commands/swarm.js +748 -0
- package/dist/src/commands/swarm.js.map +1 -0
- package/dist/src/commands/task.d.ts +8 -0
- package/dist/src/commands/task.d.ts.map +1 -0
- package/dist/src/commands/task.js +671 -0
- package/dist/src/commands/task.js.map +1 -0
- package/dist/src/commands/transfer-store.d.ts +13 -0
- package/dist/src/commands/transfer-store.d.ts.map +1 -0
- package/dist/src/commands/transfer-store.js +428 -0
- package/dist/src/commands/transfer-store.js.map +1 -0
- package/dist/src/commands/update.d.ts +8 -0
- package/dist/src/commands/update.d.ts.map +1 -0
- package/dist/src/commands/update.js +276 -0
- package/dist/src/commands/update.js.map +1 -0
- package/dist/src/commands/workflow.d.ts +8 -0
- package/dist/src/commands/workflow.d.ts.map +1 -0
- package/dist/src/commands/workflow.js +617 -0
- package/dist/src/commands/workflow.js.map +1 -0
- package/dist/src/config-adapter.d.ts +15 -0
- package/dist/src/config-adapter.d.ts.map +1 -0
- package/dist/src/config-adapter.js +186 -0
- package/dist/src/config-adapter.js.map +1 -0
- package/dist/src/index.d.ts +76 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +470 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
- package/dist/src/infrastructure/in-memory-repositories.d.ts.map +1 -0
- package/dist/src/infrastructure/in-memory-repositories.js +264 -0
- package/dist/src/infrastructure/in-memory-repositories.js.map +1 -0
- package/dist/src/init/claudemd-generator.d.ts +25 -0
- package/dist/src/init/claudemd-generator.d.ts.map +1 -0
- package/dist/src/init/claudemd-generator.js +486 -0
- package/dist/src/init/claudemd-generator.js.map +1 -0
- package/dist/src/init/executor.d.ts +41 -0
- package/dist/src/init/executor.d.ts.map +1 -0
- package/dist/src/init/executor.js +1741 -0
- package/dist/src/init/executor.js.map +1 -0
- package/dist/src/init/helpers-generator.d.ts +60 -0
- package/dist/src/init/helpers-generator.d.ts.map +1 -0
- package/dist/src/init/helpers-generator.js +1166 -0
- package/dist/src/init/helpers-generator.js.map +1 -0
- package/dist/src/init/index.d.ts +13 -0
- package/dist/src/init/index.d.ts.map +1 -0
- package/dist/src/init/index.js +15 -0
- package/dist/src/init/index.js.map +1 -0
- package/dist/src/init/mcp-generator.d.ts +26 -0
- package/dist/src/init/mcp-generator.d.ts.map +1 -0
- package/dist/src/init/mcp-generator.js +116 -0
- package/dist/src/init/mcp-generator.js.map +1 -0
- package/dist/src/init/settings-generator.d.ts +14 -0
- package/dist/src/init/settings-generator.d.ts.map +1 -0
- package/dist/src/init/settings-generator.js +399 -0
- package/dist/src/init/settings-generator.js.map +1 -0
- package/dist/src/init/statusline-generator.d.ts +28 -0
- package/dist/src/init/statusline-generator.d.ts.map +1 -0
- package/dist/src/init/statusline-generator.js +817 -0
- package/dist/src/init/statusline-generator.js.map +1 -0
- package/dist/src/init/types.d.ts +287 -0
- package/dist/src/init/types.d.ts.map +1 -0
- package/dist/src/init/types.js +259 -0
- package/dist/src/init/types.js.map +1 -0
- package/dist/src/mcp-client.d.ts +92 -0
- package/dist/src/mcp-client.d.ts.map +1 -0
- package/dist/src/mcp-client.js +237 -0
- package/dist/src/mcp-client.js.map +1 -0
- package/dist/src/mcp-server.d.ts +161 -0
- package/dist/src/mcp-server.d.ts.map +1 -0
- package/dist/src/mcp-server.js +627 -0
- package/dist/src/mcp-server.js.map +1 -0
- package/dist/src/mcp-tools/agent-tools.d.ts +9 -0
- package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/agent-tools.js +549 -0
- package/dist/src/mcp-tools/agent-tools.js.map +1 -0
- package/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
- package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/agentdb-tools.js +557 -0
- package/dist/src/mcp-tools/agentdb-tools.js.map +1 -0
- package/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
- package/dist/src/mcp-tools/analyze-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/analyze-tools.js +317 -0
- package/dist/src/mcp-tools/analyze-tools.js.map +1 -0
- package/dist/src/mcp-tools/auto-install.d.ts +83 -0
- package/dist/src/mcp-tools/auto-install.d.ts.map +1 -0
- package/dist/src/mcp-tools/auto-install.js +131 -0
- package/dist/src/mcp-tools/auto-install.js.map +1 -0
- package/dist/src/mcp-tools/browser-tools.d.ts +13 -0
- package/dist/src/mcp-tools/browser-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/browser-tools.js +550 -0
- package/dist/src/mcp-tools/browser-tools.js.map +1 -0
- package/dist/src/mcp-tools/claims-tools.d.ts +12 -0
- package/dist/src/mcp-tools/claims-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/claims-tools.js +732 -0
- package/dist/src/mcp-tools/claims-tools.js.map +1 -0
- package/dist/src/mcp-tools/config-tools.d.ts +8 -0
- package/dist/src/mcp-tools/config-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/config-tools.js +343 -0
- package/dist/src/mcp-tools/config-tools.js.map +1 -0
- package/dist/src/mcp-tools/coordination-tools.d.ts +13 -0
- package/dist/src/mcp-tools/coordination-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/coordination-tools.js +486 -0
- package/dist/src/mcp-tools/coordination-tools.js.map +1 -0
- package/dist/src/mcp-tools/daa-tools.d.ts +13 -0
- package/dist/src/mcp-tools/daa-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/daa-tools.js +426 -0
- package/dist/src/mcp-tools/daa-tools.js.map +1 -0
- package/dist/src/mcp-tools/embeddings-tools.d.ts +9 -0
- package/dist/src/mcp-tools/embeddings-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/embeddings-tools.js +782 -0
- package/dist/src/mcp-tools/embeddings-tools.js.map +1 -0
- package/dist/src/mcp-tools/github-tools.d.ts +13 -0
- package/dist/src/mcp-tools/github-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/github-tools.js +373 -0
- package/dist/src/mcp-tools/github-tools.js.map +1 -0
- package/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
- package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/hive-mind-tools.js +583 -0
- package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -0
- package/dist/src/mcp-tools/hooks-tools.d.ts +44 -0
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/hooks-tools.js +2969 -0
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -0
- package/dist/src/mcp-tools/index.d.ts +23 -0
- package/dist/src/mcp-tools/index.d.ts.map +1 -0
- package/dist/src/mcp-tools/index.js +22 -0
- package/dist/src/mcp-tools/index.js.map +1 -0
- package/dist/src/mcp-tools/memory-tools.d.ts +14 -0
- package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/memory-tools.js +499 -0
- package/dist/src/mcp-tools/memory-tools.js.map +1 -0
- package/dist/src/mcp-tools/neural-tools.d.ts +16 -0
- package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/neural-tools.js +461 -0
- package/dist/src/mcp-tools/neural-tools.js.map +1 -0
- package/dist/src/mcp-tools/performance-tools.d.ts +16 -0
- package/dist/src/mcp-tools/performance-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/performance-tools.js +534 -0
- package/dist/src/mcp-tools/performance-tools.js.map +1 -0
- package/dist/src/mcp-tools/progress-tools.d.ts +14 -0
- package/dist/src/mcp-tools/progress-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/progress-tools.js +348 -0
- package/dist/src/mcp-tools/progress-tools.js.map +1 -0
- package/dist/src/mcp-tools/security-tools.d.ts +18 -0
- package/dist/src/mcp-tools/security-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/security-tools.js +434 -0
- package/dist/src/mcp-tools/security-tools.js.map +1 -0
- package/dist/src/mcp-tools/session-tools.d.ts +8 -0
- package/dist/src/mcp-tools/session-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/session-tools.js +315 -0
- package/dist/src/mcp-tools/session-tools.js.map +1 -0
- package/dist/src/mcp-tools/swarm-tools.d.ts +8 -0
- package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/swarm-tools.js +102 -0
- package/dist/src/mcp-tools/swarm-tools.js.map +1 -0
- package/dist/src/mcp-tools/system-tools.d.ts +13 -0
- package/dist/src/mcp-tools/system-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/system-tools.js +417 -0
- package/dist/src/mcp-tools/system-tools.js.map +1 -0
- package/dist/src/mcp-tools/task-tools.d.ts +8 -0
- package/dist/src/mcp-tools/task-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/task-tools.js +338 -0
- package/dist/src/mcp-tools/task-tools.js.map +1 -0
- package/dist/src/mcp-tools/terminal-tools.d.ts +13 -0
- package/dist/src/mcp-tools/terminal-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/terminal-tools.js +246 -0
- package/dist/src/mcp-tools/terminal-tools.js.map +1 -0
- package/dist/src/mcp-tools/transfer-tools.d.ts +14 -0
- package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/transfer-tools.js +396 -0
- package/dist/src/mcp-tools/transfer-tools.js.map +1 -0
- package/dist/src/mcp-tools/types.d.ts +31 -0
- package/dist/src/mcp-tools/types.d.ts.map +1 -0
- package/dist/src/mcp-tools/types.js +7 -0
- package/dist/src/mcp-tools/types.js.map +1 -0
- package/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
- package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/workflow-tools.js +572 -0
- package/dist/src/mcp-tools/workflow-tools.js.map +1 -0
- package/dist/src/memory/ewc-consolidation.d.ts +271 -0
- package/dist/src/memory/ewc-consolidation.d.ts.map +1 -0
- package/dist/src/memory/ewc-consolidation.js +542 -0
- package/dist/src/memory/ewc-consolidation.js.map +1 -0
- package/dist/src/memory/intelligence.d.ts +285 -0
- package/dist/src/memory/intelligence.d.ts.map +1 -0
- package/dist/src/memory/intelligence.js +794 -0
- package/dist/src/memory/intelligence.js.map +1 -0
- package/dist/src/memory/memory-bridge.d.ts +407 -0
- package/dist/src/memory/memory-bridge.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge.js +1494 -0
- package/dist/src/memory/memory-bridge.js.map +1 -0
- package/dist/src/memory/memory-initializer.d.ts +405 -0
- package/dist/src/memory/memory-initializer.d.ts.map +1 -0
- package/dist/src/memory/memory-initializer.js +2105 -0
- package/dist/src/memory/memory-initializer.js.map +1 -0
- package/dist/src/memory/sona-optimizer.d.ts +227 -0
- package/dist/src/memory/sona-optimizer.d.ts.map +1 -0
- package/dist/src/memory/sona-optimizer.js +633 -0
- package/dist/src/memory/sona-optimizer.js.map +1 -0
- package/dist/src/output.d.ts +133 -0
- package/dist/src/output.d.ts.map +1 -0
- package/dist/src/output.js +514 -0
- package/dist/src/output.js.map +1 -0
- package/dist/src/parser.d.ts +41 -0
- package/dist/src/parser.d.ts.map +1 -0
- package/dist/src/parser.js +377 -0
- package/dist/src/parser.js.map +1 -0
- package/dist/src/plugins/manager.d.ts +133 -0
- package/dist/src/plugins/manager.d.ts.map +1 -0
- package/dist/src/plugins/manager.js +400 -0
- package/dist/src/plugins/manager.js.map +1 -0
- package/dist/src/plugins/store/discovery.d.ts +88 -0
- package/dist/src/plugins/store/discovery.d.ts.map +1 -0
- package/dist/src/plugins/store/discovery.js +1147 -0
- package/dist/src/plugins/store/discovery.js.map +1 -0
- package/dist/src/plugins/store/index.d.ts +76 -0
- package/dist/src/plugins/store/index.d.ts.map +1 -0
- package/dist/src/plugins/store/index.js +141 -0
- package/dist/src/plugins/store/index.js.map +1 -0
- package/dist/src/plugins/store/search.d.ts +46 -0
- package/dist/src/plugins/store/search.d.ts.map +1 -0
- package/dist/src/plugins/store/search.js +230 -0
- package/dist/src/plugins/store/search.js.map +1 -0
- package/dist/src/plugins/store/types.d.ts +274 -0
- package/dist/src/plugins/store/types.d.ts.map +1 -0
- package/dist/src/plugins/store/types.js +7 -0
- package/dist/src/plugins/store/types.js.map +1 -0
- package/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
- package/dist/src/plugins/tests/demo-plugin-store.d.ts.map +1 -0
- package/dist/src/plugins/tests/demo-plugin-store.js +126 -0
- package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -0
- package/dist/src/plugins/tests/standalone-test.d.ts +12 -0
- package/dist/src/plugins/tests/standalone-test.d.ts.map +1 -0
- package/dist/src/plugins/tests/standalone-test.js +188 -0
- package/dist/src/plugins/tests/standalone-test.js.map +1 -0
- package/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
- package/dist/src/plugins/tests/test-plugin-store.d.ts.map +1 -0
- package/dist/src/plugins/tests/test-plugin-store.js +206 -0
- package/dist/src/plugins/tests/test-plugin-store.js.map +1 -0
- package/dist/src/production/circuit-breaker.d.ts +101 -0
- package/dist/src/production/circuit-breaker.d.ts.map +1 -0
- package/dist/src/production/circuit-breaker.js +241 -0
- package/dist/src/production/circuit-breaker.js.map +1 -0
- package/dist/src/production/error-handler.d.ts +92 -0
- package/dist/src/production/error-handler.d.ts.map +1 -0
- package/dist/src/production/error-handler.js +299 -0
- package/dist/src/production/error-handler.js.map +1 -0
- package/dist/src/production/index.d.ts +23 -0
- package/dist/src/production/index.d.ts.map +1 -0
- package/dist/src/production/index.js +18 -0
- package/dist/src/production/index.js.map +1 -0
- package/dist/src/production/monitoring.d.ts +161 -0
- package/dist/src/production/monitoring.d.ts.map +1 -0
- package/dist/src/production/monitoring.js +356 -0
- package/dist/src/production/monitoring.js.map +1 -0
- package/dist/src/production/rate-limiter.d.ts +80 -0
- package/dist/src/production/rate-limiter.d.ts.map +1 -0
- package/dist/src/production/rate-limiter.js +201 -0
- package/dist/src/production/rate-limiter.js.map +1 -0
- package/dist/src/production/retry.d.ts +48 -0
- package/dist/src/production/retry.d.ts.map +1 -0
- package/dist/src/production/retry.js +179 -0
- package/dist/src/production/retry.js.map +1 -0
- package/dist/src/prompt.d.ts +44 -0
- package/dist/src/prompt.d.ts.map +1 -0
- package/dist/src/prompt.js +501 -0
- package/dist/src/prompt.js.map +1 -0
- package/dist/src/runtime/headless.d.ts +60 -0
- package/dist/src/runtime/headless.d.ts.map +1 -0
- package/dist/src/runtime/headless.js +284 -0
- package/dist/src/runtime/headless.js.map +1 -0
- package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
- package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
- package/dist/src/ruvector/ast-analyzer.js +277 -0
- package/dist/src/ruvector/ast-analyzer.js.map +1 -0
- package/dist/src/ruvector/coverage-router.d.ts +160 -0
- package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
- package/dist/src/ruvector/coverage-router.js +529 -0
- package/dist/src/ruvector/coverage-router.js.map +1 -0
- package/dist/src/ruvector/coverage-tools.d.ts +33 -0
- package/dist/src/ruvector/coverage-tools.d.ts.map +1 -0
- package/dist/src/ruvector/coverage-tools.js +157 -0
- package/dist/src/ruvector/coverage-tools.js.map +1 -0
- package/dist/src/ruvector/diff-classifier.d.ts +175 -0
- package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
- package/dist/src/ruvector/diff-classifier.js +698 -0
- package/dist/src/ruvector/diff-classifier.js.map +1 -0
- package/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
- package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -0
- package/dist/src/ruvector/enhanced-model-router.js +529 -0
- package/dist/src/ruvector/enhanced-model-router.js.map +1 -0
- package/dist/src/ruvector/flash-attention.d.ts +195 -0
- package/dist/src/ruvector/flash-attention.d.ts.map +1 -0
- package/dist/src/ruvector/flash-attention.js +643 -0
- package/dist/src/ruvector/flash-attention.js.map +1 -0
- package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
- package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
- package/dist/src/ruvector/graph-analyzer.js +929 -0
- package/dist/src/ruvector/graph-analyzer.js.map +1 -0
- package/dist/src/ruvector/index.d.ts +34 -0
- package/dist/src/ruvector/index.d.ts.map +1 -0
- package/dist/src/ruvector/index.js +60 -0
- package/dist/src/ruvector/index.js.map +1 -0
- package/dist/src/ruvector/lora-adapter.d.ts +218 -0
- package/dist/src/ruvector/lora-adapter.d.ts.map +1 -0
- package/dist/src/ruvector/lora-adapter.js +455 -0
- package/dist/src/ruvector/lora-adapter.js.map +1 -0
- package/dist/src/ruvector/model-router.d.ts +220 -0
- package/dist/src/ruvector/model-router.d.ts.map +1 -0
- package/dist/src/ruvector/model-router.js +488 -0
- package/dist/src/ruvector/model-router.js.map +1 -0
- package/dist/src/ruvector/moe-router.d.ts +206 -0
- package/dist/src/ruvector/moe-router.d.ts.map +1 -0
- package/dist/src/ruvector/moe-router.js +626 -0
- package/dist/src/ruvector/moe-router.js.map +1 -0
- package/dist/src/ruvector/q-learning-router.d.ts +211 -0
- package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
- package/dist/src/ruvector/q-learning-router.js +681 -0
- package/dist/src/ruvector/q-learning-router.js.map +1 -0
- package/dist/src/ruvector/semantic-router.d.ts +77 -0
- package/dist/src/ruvector/semantic-router.d.ts.map +1 -0
- package/dist/src/ruvector/semantic-router.js +178 -0
- package/dist/src/ruvector/semantic-router.js.map +1 -0
- package/dist/src/ruvector/vector-db.d.ts +69 -0
- package/dist/src/ruvector/vector-db.d.ts.map +1 -0
- package/dist/src/ruvector/vector-db.js +243 -0
- package/dist/src/ruvector/vector-db.js.map +1 -0
- package/dist/src/services/agentic-flow-bridge.d.ts +50 -0
- package/dist/src/services/agentic-flow-bridge.d.ts.map +1 -0
- package/dist/src/services/agentic-flow-bridge.js +95 -0
- package/dist/src/services/agentic-flow-bridge.js.map +1 -0
- package/dist/src/services/claim-service.d.ts +204 -0
- package/dist/src/services/claim-service.d.ts.map +1 -0
- package/dist/src/services/claim-service.js +818 -0
- package/dist/src/services/claim-service.js.map +1 -0
- package/dist/src/services/container-worker-pool.d.ts +197 -0
- package/dist/src/services/container-worker-pool.d.ts.map +1 -0
- package/dist/src/services/container-worker-pool.js +583 -0
- package/dist/src/services/container-worker-pool.js.map +1 -0
- package/dist/src/services/headless-worker-executor.d.ts +304 -0
- package/dist/src/services/headless-worker-executor.d.ts.map +1 -0
- package/dist/src/services/headless-worker-executor.js +999 -0
- package/dist/src/services/headless-worker-executor.js.map +1 -0
- package/dist/src/services/index.d.ts +13 -0
- package/dist/src/services/index.d.ts.map +1 -0
- package/dist/src/services/index.js +11 -0
- package/dist/src/services/index.js.map +1 -0
- package/dist/src/services/registry-api.d.ts +58 -0
- package/dist/src/services/registry-api.d.ts.map +1 -0
- package/dist/src/services/registry-api.js +146 -0
- package/dist/src/services/registry-api.js.map +1 -0
- package/dist/src/services/ruvector-training.d.ts +214 -0
- package/dist/src/services/ruvector-training.d.ts.map +1 -0
- package/dist/src/services/ruvector-training.js +497 -0
- package/dist/src/services/ruvector-training.js.map +1 -0
- package/dist/src/services/worker-daemon.d.ts +203 -0
- package/dist/src/services/worker-daemon.d.ts.map +1 -0
- package/dist/src/services/worker-daemon.js +756 -0
- package/dist/src/services/worker-daemon.js.map +1 -0
- package/dist/src/services/worker-queue.d.ts +194 -0
- package/dist/src/services/worker-queue.d.ts.map +1 -0
- package/dist/src/services/worker-queue.js +513 -0
- package/dist/src/services/worker-queue.js.map +1 -0
- package/dist/src/suggest.d.ts +53 -0
- package/dist/src/suggest.d.ts.map +1 -0
- package/dist/src/suggest.js +200 -0
- package/dist/src/suggest.js.map +1 -0
- package/dist/src/tests/ruvector-integration-benchmark.d.ts +6 -0
- package/dist/src/tests/ruvector-integration-benchmark.d.ts.map +1 -0
- package/dist/src/tests/ruvector-integration-benchmark.js +385 -0
- package/dist/src/tests/ruvector-integration-benchmark.js.map +1 -0
- package/dist/src/transfer/anonymization/index.d.ts +25 -0
- package/dist/src/transfer/anonymization/index.d.ts.map +1 -0
- package/dist/src/transfer/anonymization/index.js +175 -0
- package/dist/src/transfer/anonymization/index.js.map +1 -0
- package/dist/src/transfer/deploy-seraphine.d.ts +13 -0
- package/dist/src/transfer/deploy-seraphine.d.ts.map +1 -0
- package/dist/src/transfer/deploy-seraphine.js +205 -0
- package/dist/src/transfer/deploy-seraphine.js.map +1 -0
- package/dist/src/transfer/export.d.ts +25 -0
- package/dist/src/transfer/export.d.ts.map +1 -0
- package/dist/src/transfer/export.js +113 -0
- package/dist/src/transfer/export.js.map +1 -0
- package/dist/src/transfer/index.d.ts +12 -0
- package/dist/src/transfer/index.d.ts.map +1 -0
- package/dist/src/transfer/index.js +31 -0
- package/dist/src/transfer/index.js.map +1 -0
- package/dist/src/transfer/ipfs/client.d.ts +109 -0
- package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
- package/dist/src/transfer/ipfs/client.js +307 -0
- package/dist/src/transfer/ipfs/client.js.map +1 -0
- package/dist/src/transfer/ipfs/upload.d.ts +95 -0
- package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
- package/dist/src/transfer/ipfs/upload.js +411 -0
- package/dist/src/transfer/ipfs/upload.js.map +1 -0
- package/dist/src/transfer/models/seraphine.d.ts +72 -0
- package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
- package/dist/src/transfer/models/seraphine.js +373 -0
- package/dist/src/transfer/models/seraphine.js.map +1 -0
- package/dist/src/transfer/serialization/cfp.d.ts +49 -0
- package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
- package/dist/src/transfer/serialization/cfp.js +183 -0
- package/dist/src/transfer/serialization/cfp.js.map +1 -0
- package/dist/src/transfer/storage/gcs.d.ts +82 -0
- package/dist/src/transfer/storage/gcs.d.ts.map +1 -0
- package/dist/src/transfer/storage/gcs.js +256 -0
- package/dist/src/transfer/storage/gcs.js.map +1 -0
- package/dist/src/transfer/storage/index.d.ts +6 -0
- package/dist/src/transfer/storage/index.d.ts.map +1 -0
- package/dist/src/transfer/storage/index.js +6 -0
- package/dist/src/transfer/storage/index.js.map +1 -0
- package/dist/src/transfer/store/discovery.d.ts +84 -0
- package/dist/src/transfer/store/discovery.d.ts.map +1 -0
- package/dist/src/transfer/store/discovery.js +382 -0
- package/dist/src/transfer/store/discovery.js.map +1 -0
- package/dist/src/transfer/store/download.d.ts +70 -0
- package/dist/src/transfer/store/download.d.ts.map +1 -0
- package/dist/src/transfer/store/download.js +334 -0
- package/dist/src/transfer/store/download.js.map +1 -0
- package/dist/src/transfer/store/index.d.ts +84 -0
- package/dist/src/transfer/store/index.d.ts.map +1 -0
- package/dist/src/transfer/store/index.js +153 -0
- package/dist/src/transfer/store/index.js.map +1 -0
- package/dist/src/transfer/store/publish.d.ts +76 -0
- package/dist/src/transfer/store/publish.d.ts.map +1 -0
- package/dist/src/transfer/store/publish.js +294 -0
- package/dist/src/transfer/store/publish.js.map +1 -0
- package/dist/src/transfer/store/registry.d.ts +58 -0
- package/dist/src/transfer/store/registry.d.ts.map +1 -0
- package/dist/src/transfer/store/registry.js +285 -0
- package/dist/src/transfer/store/registry.js.map +1 -0
- package/dist/src/transfer/store/search.d.ts +54 -0
- package/dist/src/transfer/store/search.d.ts.map +1 -0
- package/dist/src/transfer/store/search.js +232 -0
- package/dist/src/transfer/store/search.js.map +1 -0
- package/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
- package/dist/src/transfer/store/tests/standalone-test.d.ts.map +1 -0
- package/dist/src/transfer/store/tests/standalone-test.js +190 -0
- package/dist/src/transfer/store/tests/standalone-test.js.map +1 -0
- package/dist/src/transfer/store/types.d.ts +193 -0
- package/dist/src/transfer/store/types.d.ts.map +1 -0
- package/dist/src/transfer/store/types.js +6 -0
- package/dist/src/transfer/store/types.js.map +1 -0
- package/dist/src/transfer/test-seraphine.d.ts +6 -0
- package/dist/src/transfer/test-seraphine.d.ts.map +1 -0
- package/dist/src/transfer/test-seraphine.js +105 -0
- package/dist/src/transfer/test-seraphine.js.map +1 -0
- package/dist/src/transfer/tests/test-store.d.ts +7 -0
- package/dist/src/transfer/tests/test-store.d.ts.map +1 -0
- package/dist/src/transfer/tests/test-store.js +214 -0
- package/dist/src/transfer/tests/test-store.js.map +1 -0
- package/dist/src/transfer/types.d.ts +245 -0
- package/dist/src/transfer/types.d.ts.map +1 -0
- package/dist/src/transfer/types.js +6 -0
- package/dist/src/transfer/types.js.map +1 -0
- package/dist/src/types.d.ts +198 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +38 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/update/checker.d.ts +34 -0
- package/dist/src/update/checker.d.ts.map +1 -0
- package/dist/src/update/checker.js +190 -0
- package/dist/src/update/checker.js.map +1 -0
- package/dist/src/update/executor.d.ts +32 -0
- package/dist/src/update/executor.d.ts.map +1 -0
- package/dist/src/update/executor.js +181 -0
- package/dist/src/update/executor.js.map +1 -0
- package/dist/src/update/index.d.ts +33 -0
- package/dist/src/update/index.d.ts.map +1 -0
- package/dist/src/update/index.js +64 -0
- package/dist/src/update/index.js.map +1 -0
- package/dist/src/update/rate-limiter.d.ts +20 -0
- package/dist/src/update/rate-limiter.d.ts.map +1 -0
- package/dist/src/update/rate-limiter.js +96 -0
- package/dist/src/update/rate-limiter.js.map +1 -0
- package/dist/src/update/validator.d.ts +17 -0
- package/dist/src/update/validator.d.ts.map +1 -0
- package/dist/src/update/validator.js +123 -0
- package/dist/src/update/validator.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +2 -3
|
@@ -0,0 +1,965 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V3 CLI Init Command
|
|
3
|
+
* Comprehensive initialization for Claude Flow with Claude Code integration
|
|
4
|
+
*/
|
|
5
|
+
import { output } from '../output.js';
|
|
6
|
+
import { confirm, select, multiSelect, input } from '../prompt.js';
|
|
7
|
+
import * as fs from 'fs';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
import { executeInit, executeUpgrade, executeUpgradeWithMissing, DEFAULT_INIT_OPTIONS, MINIMAL_INIT_OPTIONS, FULL_INIT_OPTIONS, } from '../init/index.js';
|
|
10
|
+
// Codex initialization action
|
|
11
|
+
async function initCodexAction(ctx, options) {
|
|
12
|
+
const { force, minimal, full, dualMode } = options;
|
|
13
|
+
output.writeln();
|
|
14
|
+
output.writeln(output.bold('Initializing RuFlo V3 for OpenAI Codex'));
|
|
15
|
+
output.writeln();
|
|
16
|
+
// Determine template
|
|
17
|
+
const template = minimal ? 'minimal' : full ? 'full' : 'default';
|
|
18
|
+
const spinner = output.createSpinner({ text: 'Initializing Codex project...' });
|
|
19
|
+
spinner.start();
|
|
20
|
+
try {
|
|
21
|
+
// Dynamic import of the Codex initializer with lazy loading fallback
|
|
22
|
+
let CodexInitializer;
|
|
23
|
+
// Try multiple resolution strategies for the @sparkleideas/codex package
|
|
24
|
+
const resolutionStrategies = [
|
|
25
|
+
// Strategy 1: Direct import (works if installed as CLI dependency)
|
|
26
|
+
async () => (await import('@sparkleideas/codex')).CodexInitializer,
|
|
27
|
+
// Strategy 2: Project node_modules (works if installed in user's project)
|
|
28
|
+
async () => {
|
|
29
|
+
const projectPath = path.join(ctx.cwd, 'node_modules', '@claude-flow', 'codex', 'dist', 'index.js');
|
|
30
|
+
if (fs.existsSync(projectPath)) {
|
|
31
|
+
const mod = await import(`file://${projectPath}`);
|
|
32
|
+
return mod.CodexInitializer;
|
|
33
|
+
}
|
|
34
|
+
throw new Error('Not found in project');
|
|
35
|
+
},
|
|
36
|
+
// Strategy 3: Global node_modules
|
|
37
|
+
async () => {
|
|
38
|
+
const { execSync } = await import('child_process');
|
|
39
|
+
const globalPath = execSync('npm root -g', { encoding: 'utf-8' }).trim();
|
|
40
|
+
const codexPath = path.join(globalPath, '@claude-flow', 'codex', 'dist', 'index.js');
|
|
41
|
+
if (fs.existsSync(codexPath)) {
|
|
42
|
+
const mod = await import(`file://${codexPath}`);
|
|
43
|
+
return mod.CodexInitializer;
|
|
44
|
+
}
|
|
45
|
+
throw new Error('Not found globally');
|
|
46
|
+
},
|
|
47
|
+
];
|
|
48
|
+
for (const strategy of resolutionStrategies) {
|
|
49
|
+
try {
|
|
50
|
+
CodexInitializer = await strategy();
|
|
51
|
+
if (CodexInitializer)
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Try next strategy
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (!CodexInitializer) {
|
|
59
|
+
throw new Error('Cannot find module @sparkleideas/codex');
|
|
60
|
+
}
|
|
61
|
+
const initializer = new CodexInitializer();
|
|
62
|
+
const result = await initializer.initialize({
|
|
63
|
+
projectPath: ctx.cwd,
|
|
64
|
+
template: template,
|
|
65
|
+
force,
|
|
66
|
+
dual: dualMode,
|
|
67
|
+
});
|
|
68
|
+
if (!result.success) {
|
|
69
|
+
spinner.fail('Codex initialization failed');
|
|
70
|
+
if (result.errors) {
|
|
71
|
+
for (const error of result.errors) {
|
|
72
|
+
output.printError(error);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return { success: false, exitCode: 1 };
|
|
76
|
+
}
|
|
77
|
+
spinner.succeed('Codex project initialized successfully!');
|
|
78
|
+
output.writeln();
|
|
79
|
+
// Display summary
|
|
80
|
+
const summary = [];
|
|
81
|
+
summary.push(`Files: ${result.filesCreated.length} created`);
|
|
82
|
+
summary.push(`Skills: ${result.skillsGenerated.length} installed`);
|
|
83
|
+
output.printBox(summary.join('\n'), 'Summary');
|
|
84
|
+
output.writeln();
|
|
85
|
+
// Show what was created
|
|
86
|
+
output.printBox([
|
|
87
|
+
`AGENTS.md: Main project instructions`,
|
|
88
|
+
`.agents/config.toml: Project configuration`,
|
|
89
|
+
`.agents/skills/: ${result.skillsGenerated.length} skills`,
|
|
90
|
+
`.codex/: Local overrides (gitignored)`,
|
|
91
|
+
dualMode ? `CLAUDE.md: Claude Code compatibility` : '',
|
|
92
|
+
].filter(Boolean).join('\n'), 'OpenAI Codex Integration');
|
|
93
|
+
output.writeln();
|
|
94
|
+
// Warnings
|
|
95
|
+
if (result.warnings && result.warnings.length > 0) {
|
|
96
|
+
output.printWarning('Warnings:');
|
|
97
|
+
for (const warning of result.warnings.slice(0, 5)) {
|
|
98
|
+
output.printInfo(` • ${warning}`);
|
|
99
|
+
}
|
|
100
|
+
if (result.warnings.length > 5) {
|
|
101
|
+
output.printInfo(` ... and ${result.warnings.length - 5} more`);
|
|
102
|
+
}
|
|
103
|
+
output.writeln();
|
|
104
|
+
}
|
|
105
|
+
// Next steps
|
|
106
|
+
output.writeln(output.bold('Next steps:'));
|
|
107
|
+
output.printList([
|
|
108
|
+
`Review ${output.highlight('AGENTS.md')} for project instructions`,
|
|
109
|
+
`Add skills with ${output.highlight('$skill-name')} syntax`,
|
|
110
|
+
`Configure ${output.highlight('.agents/config.toml')} for your project`,
|
|
111
|
+
dualMode ? `Claude Code users can use ${output.highlight('CLAUDE.md')}` : '',
|
|
112
|
+
].filter(Boolean));
|
|
113
|
+
return { success: true, data: result };
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
spinner.fail('Codex initialization failed');
|
|
117
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
118
|
+
// Handle module not found error gracefully
|
|
119
|
+
if (errorMessage.includes('Cannot find module') || errorMessage.includes('@sparkleideas/codex')) {
|
|
120
|
+
output.printError('The @sparkleideas/codex package is not installed.');
|
|
121
|
+
output.printInfo('Install it with: npm install @sparkleideas/codex');
|
|
122
|
+
output.writeln();
|
|
123
|
+
output.printInfo('Alternatively, copy skills manually from .claude/skills/ to .agents/skills/');
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
output.printError(`Failed to initialize: ${errorMessage}`);
|
|
127
|
+
}
|
|
128
|
+
return { success: false, exitCode: 1 };
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// Check if project is already initialized
|
|
132
|
+
function isInitialized(cwd) {
|
|
133
|
+
const claudePath = path.join(cwd, '.claude', 'settings.json');
|
|
134
|
+
const claudeFlowPath = path.join(cwd, '.claude-flow', 'config.yaml');
|
|
135
|
+
return {
|
|
136
|
+
claude: fs.existsSync(claudePath),
|
|
137
|
+
claudeFlow: fs.existsSync(claudeFlowPath),
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
// Init subcommand (default)
|
|
141
|
+
const initAction = async (ctx) => {
|
|
142
|
+
const force = ctx.flags.force;
|
|
143
|
+
const minimal = ctx.flags.minimal;
|
|
144
|
+
const full = ctx.flags.full;
|
|
145
|
+
const skipClaude = ctx.flags['skip-claude'];
|
|
146
|
+
const onlyClaude = ctx.flags['only-claude'];
|
|
147
|
+
const codexMode = ctx.flags.codex;
|
|
148
|
+
const dualMode = ctx.flags.dual;
|
|
149
|
+
const cwd = ctx.cwd;
|
|
150
|
+
// If codex mode, use the Codex initializer
|
|
151
|
+
if (codexMode || dualMode) {
|
|
152
|
+
return initCodexAction(ctx, { codexMode, dualMode, force, minimal, full });
|
|
153
|
+
}
|
|
154
|
+
// Check if already initialized
|
|
155
|
+
const initialized = isInitialized(cwd);
|
|
156
|
+
const hasExisting = initialized.claude || initialized.claudeFlow;
|
|
157
|
+
if (hasExisting && !force) {
|
|
158
|
+
output.printWarning('RuFlo appears to be already initialized');
|
|
159
|
+
if (initialized.claude)
|
|
160
|
+
output.printInfo(' Found: .claude/settings.json');
|
|
161
|
+
if (initialized.claudeFlow)
|
|
162
|
+
output.printInfo(' Found: .claude-flow/config.yaml');
|
|
163
|
+
output.printInfo('Use --force to reinitialize');
|
|
164
|
+
if (ctx.interactive) {
|
|
165
|
+
const proceed = await confirm({
|
|
166
|
+
message: 'Do you want to reinitialize? This will overwrite existing configuration.',
|
|
167
|
+
default: false,
|
|
168
|
+
});
|
|
169
|
+
if (!proceed) {
|
|
170
|
+
return { success: true, message: 'Initialization cancelled' };
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
return { success: false, exitCode: 1, message: 'Already initialized' };
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
output.writeln();
|
|
178
|
+
output.writeln(output.bold('Initializing RuFlo V3'));
|
|
179
|
+
output.writeln();
|
|
180
|
+
// Build init options based on flags
|
|
181
|
+
let options;
|
|
182
|
+
if (minimal) {
|
|
183
|
+
options = { ...MINIMAL_INIT_OPTIONS, targetDir: cwd, force };
|
|
184
|
+
}
|
|
185
|
+
else if (full) {
|
|
186
|
+
options = { ...FULL_INIT_OPTIONS, targetDir: cwd, force };
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
options = { ...DEFAULT_INIT_OPTIONS, targetDir: cwd, force };
|
|
190
|
+
}
|
|
191
|
+
// Handle --skip-claude and --only-claude flags
|
|
192
|
+
if (skipClaude) {
|
|
193
|
+
options.components.settings = false;
|
|
194
|
+
options.components.skills = false;
|
|
195
|
+
options.components.commands = false;
|
|
196
|
+
options.components.agents = false;
|
|
197
|
+
options.components.helpers = false;
|
|
198
|
+
options.components.statusline = false;
|
|
199
|
+
options.components.mcp = false;
|
|
200
|
+
options.components.claudeMd = false;
|
|
201
|
+
}
|
|
202
|
+
if (onlyClaude) {
|
|
203
|
+
options.components.runtime = false;
|
|
204
|
+
}
|
|
205
|
+
// Create spinner
|
|
206
|
+
const spinner = output.createSpinner({ text: 'Initializing...' });
|
|
207
|
+
spinner.start();
|
|
208
|
+
try {
|
|
209
|
+
// Execute initialization
|
|
210
|
+
const result = await executeInit(options);
|
|
211
|
+
if (!result.success) {
|
|
212
|
+
spinner.fail('Initialization failed');
|
|
213
|
+
for (const error of result.errors) {
|
|
214
|
+
output.printError(error);
|
|
215
|
+
}
|
|
216
|
+
return { success: false, exitCode: 1 };
|
|
217
|
+
}
|
|
218
|
+
spinner.succeed('RuFlo V3 initialized successfully!');
|
|
219
|
+
output.writeln();
|
|
220
|
+
// Display summary
|
|
221
|
+
const summary = [];
|
|
222
|
+
if (result.created.directories.length > 0) {
|
|
223
|
+
summary.push(`Directories: ${result.created.directories.length} created`);
|
|
224
|
+
}
|
|
225
|
+
if (result.created.files.length > 0) {
|
|
226
|
+
summary.push(`Files: ${result.created.files.length} created`);
|
|
227
|
+
}
|
|
228
|
+
if (result.skipped.length > 0) {
|
|
229
|
+
summary.push(`Skipped: ${result.skipped.length} (already exist)`);
|
|
230
|
+
}
|
|
231
|
+
output.printBox(summary.join('\n'), 'Summary');
|
|
232
|
+
output.writeln();
|
|
233
|
+
// Show what was created
|
|
234
|
+
if (options.components.claudeMd || options.components.settings || options.components.skills || options.components.commands || options.components.agents) {
|
|
235
|
+
output.printBox([
|
|
236
|
+
options.components.claudeMd ? `CLAUDE.md: Swarm guidance & configuration` : '',
|
|
237
|
+
options.components.settings ? `Settings: .claude/settings.json` : '',
|
|
238
|
+
options.components.skills ? `Skills: .claude/skills/ (${result.summary.skillsCount} skills)` : '',
|
|
239
|
+
options.components.commands ? `Commands: .claude/commands/ (${result.summary.commandsCount} commands)` : '',
|
|
240
|
+
options.components.agents ? `Agents: .claude/agents/ (${result.summary.agentsCount} agents)` : '',
|
|
241
|
+
options.components.helpers ? `Helpers: .claude/helpers/` : '',
|
|
242
|
+
options.components.mcp ? `MCP: .mcp.json` : '',
|
|
243
|
+
].filter(Boolean).join('\n'), 'Claude Code Integration');
|
|
244
|
+
output.writeln();
|
|
245
|
+
}
|
|
246
|
+
if (options.components.runtime) {
|
|
247
|
+
output.printBox([
|
|
248
|
+
`Config: .claude-flow/config.yaml`,
|
|
249
|
+
`Data: .claude-flow/data/`,
|
|
250
|
+
`Logs: .claude-flow/logs/`,
|
|
251
|
+
`Sessions: .claude-flow/sessions/`,
|
|
252
|
+
].join('\n'), 'V3 Runtime');
|
|
253
|
+
output.writeln();
|
|
254
|
+
}
|
|
255
|
+
// Hooks summary
|
|
256
|
+
if (result.summary.hooksEnabled > 0) {
|
|
257
|
+
output.printInfo(`Hooks: ${result.summary.hooksEnabled} hook types enabled in settings.json`);
|
|
258
|
+
output.writeln();
|
|
259
|
+
}
|
|
260
|
+
// Handle --start-all or --start-daemon
|
|
261
|
+
const startAll = ctx.flags['start-all'] || ctx.flags.startAll;
|
|
262
|
+
const startDaemon = ctx.flags['start-daemon'] || ctx.flags.startDaemon || startAll;
|
|
263
|
+
if (startDaemon || startAll) {
|
|
264
|
+
output.writeln();
|
|
265
|
+
output.printInfo('Starting services...');
|
|
266
|
+
const { execSync } = await import('child_process');
|
|
267
|
+
// Initialize memory database
|
|
268
|
+
if (startAll) {
|
|
269
|
+
try {
|
|
270
|
+
output.writeln(output.dim(' Initializing memory database...'));
|
|
271
|
+
execSync('npx @sparkleideas/cli@latest memory init 2>/dev/null', {
|
|
272
|
+
stdio: 'pipe',
|
|
273
|
+
cwd: ctx.cwd,
|
|
274
|
+
timeout: 30000
|
|
275
|
+
});
|
|
276
|
+
output.writeln(output.success(' ✓ Memory initialized'));
|
|
277
|
+
}
|
|
278
|
+
catch {
|
|
279
|
+
output.writeln(output.dim(' Memory database already exists'));
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// Start daemon
|
|
283
|
+
if (startDaemon) {
|
|
284
|
+
try {
|
|
285
|
+
output.writeln(output.dim(' Starting daemon...'));
|
|
286
|
+
execSync('npx @sparkleideas/cli@latest daemon start 2>/dev/null &', {
|
|
287
|
+
stdio: 'pipe',
|
|
288
|
+
cwd: ctx.cwd,
|
|
289
|
+
timeout: 10000
|
|
290
|
+
});
|
|
291
|
+
output.writeln(output.success(' ✓ Daemon started'));
|
|
292
|
+
}
|
|
293
|
+
catch {
|
|
294
|
+
output.writeln(output.warning(' Daemon may already be running'));
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
// Initialize swarm
|
|
298
|
+
if (startAll) {
|
|
299
|
+
try {
|
|
300
|
+
output.writeln(output.dim(' Initializing swarm...'));
|
|
301
|
+
execSync('npx @sparkleideas/cli@latest swarm init --topology hierarchical 2>/dev/null', {
|
|
302
|
+
stdio: 'pipe',
|
|
303
|
+
cwd: ctx.cwd,
|
|
304
|
+
timeout: 30000
|
|
305
|
+
});
|
|
306
|
+
output.writeln(output.success(' ✓ Swarm initialized'));
|
|
307
|
+
}
|
|
308
|
+
catch {
|
|
309
|
+
output.writeln(output.dim(' Swarm initialization skipped'));
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
output.writeln();
|
|
313
|
+
output.printSuccess('All services started');
|
|
314
|
+
}
|
|
315
|
+
// Handle --with-embeddings
|
|
316
|
+
const withEmbeddings = ctx.flags['with-embeddings'] || ctx.flags.withEmbeddings;
|
|
317
|
+
const embeddingModel = (ctx.flags['embedding-model'] || ctx.flags.embeddingModel || 'all-MiniLM-L6-v2');
|
|
318
|
+
if (withEmbeddings) {
|
|
319
|
+
output.writeln();
|
|
320
|
+
output.printInfo('Initializing ONNX embedding subsystem...');
|
|
321
|
+
const { execSync } = await import('child_process');
|
|
322
|
+
try {
|
|
323
|
+
output.writeln(output.dim(` Model: ${embeddingModel}`));
|
|
324
|
+
output.writeln(output.dim(' Hyperbolic: Enabled (Poincaré ball)'));
|
|
325
|
+
execSync(`npx @sparkleideas/cli@latest embeddings init --model ${embeddingModel} --no-download --force 2>/dev/null`, {
|
|
326
|
+
stdio: 'pipe',
|
|
327
|
+
cwd: ctx.cwd,
|
|
328
|
+
timeout: 30000
|
|
329
|
+
});
|
|
330
|
+
output.writeln(output.success(' ✓ Embeddings initialized'));
|
|
331
|
+
output.writeln(output.dim(' Run "embeddings init --download" to download model'));
|
|
332
|
+
}
|
|
333
|
+
catch (err) {
|
|
334
|
+
output.writeln(output.warning(' Embedding initialization skipped (run manually)'));
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
if (!startDaemon && !startAll) {
|
|
338
|
+
// Next steps (only if not auto-starting)
|
|
339
|
+
output.writeln(output.bold('Next steps:'));
|
|
340
|
+
output.printList([
|
|
341
|
+
`Run ${output.highlight('@sparkleideas/claude-flow daemon start')} to start background workers`,
|
|
342
|
+
`Run ${output.highlight('@sparkleideas/claude-flow memory init')} to initialize memory database`,
|
|
343
|
+
`Run ${output.highlight('@sparkleideas/claude-flow swarm init')} to initialize a swarm`,
|
|
344
|
+
`Or use ${output.highlight('@sparkleideas/claude-flow init --start-all')} to do all of the above`,
|
|
345
|
+
options.components.settings ? `Review ${output.highlight('.claude/settings.json')} for hook configurations` : '',
|
|
346
|
+
].filter(Boolean));
|
|
347
|
+
}
|
|
348
|
+
if (ctx.flags.format === 'json') {
|
|
349
|
+
output.printJson(result);
|
|
350
|
+
}
|
|
351
|
+
return { success: true, data: result };
|
|
352
|
+
}
|
|
353
|
+
catch (error) {
|
|
354
|
+
spinner.fail('Initialization failed');
|
|
355
|
+
output.printError(`Failed to initialize: ${error instanceof Error ? error.message : String(error)}`);
|
|
356
|
+
return { success: false, exitCode: 1 };
|
|
357
|
+
}
|
|
358
|
+
};
|
|
359
|
+
// Wizard subcommand for interactive setup
|
|
360
|
+
const wizardCommand = {
|
|
361
|
+
name: 'wizard',
|
|
362
|
+
description: 'Interactive setup wizard for comprehensive configuration',
|
|
363
|
+
action: async (ctx) => {
|
|
364
|
+
output.writeln();
|
|
365
|
+
output.writeln(output.bold('RuFlo V3 Setup Wizard'));
|
|
366
|
+
output.writeln(output.dim('Answer questions to configure your project'));
|
|
367
|
+
output.writeln();
|
|
368
|
+
try {
|
|
369
|
+
// Start with base options
|
|
370
|
+
const options = { ...DEFAULT_INIT_OPTIONS, targetDir: ctx.cwd };
|
|
371
|
+
// Configuration preset
|
|
372
|
+
const preset = await select({
|
|
373
|
+
message: 'Select configuration preset:',
|
|
374
|
+
options: [
|
|
375
|
+
{ value: 'default', label: 'Default', hint: 'Recommended settings for most projects' },
|
|
376
|
+
{ value: 'minimal', label: 'Minimal', hint: 'Core features only' },
|
|
377
|
+
{ value: 'full', label: 'Full', hint: 'All features enabled' },
|
|
378
|
+
{ value: 'custom', label: 'Custom', hint: 'Choose each component' },
|
|
379
|
+
],
|
|
380
|
+
});
|
|
381
|
+
if (preset === 'minimal') {
|
|
382
|
+
Object.assign(options, MINIMAL_INIT_OPTIONS);
|
|
383
|
+
options.targetDir = ctx.cwd;
|
|
384
|
+
}
|
|
385
|
+
else if (preset === 'full') {
|
|
386
|
+
Object.assign(options, FULL_INIT_OPTIONS);
|
|
387
|
+
options.targetDir = ctx.cwd;
|
|
388
|
+
}
|
|
389
|
+
else if (preset === 'custom') {
|
|
390
|
+
// Component selection
|
|
391
|
+
const components = await multiSelect({
|
|
392
|
+
message: 'Select components to initialize:',
|
|
393
|
+
options: [
|
|
394
|
+
{ value: 'claudeMd', label: 'CLAUDE.md', hint: 'Swarm guidance and project configuration', selected: true },
|
|
395
|
+
{ value: 'settings', label: 'settings.json', hint: 'Claude Code hooks configuration', selected: true },
|
|
396
|
+
{ value: 'skills', label: 'Skills', hint: 'Claude Code skills in .claude/skills/', selected: true },
|
|
397
|
+
{ value: 'commands', label: 'Commands', hint: 'Claude Code commands in .claude/commands/', selected: true },
|
|
398
|
+
{ value: 'agents', label: 'Agents', hint: 'Agent definitions in .claude/agents/', selected: true },
|
|
399
|
+
{ value: 'helpers', label: 'Helpers', hint: 'Utility scripts in .claude/helpers/', selected: true },
|
|
400
|
+
{ value: 'statusline', label: 'Statusline', hint: 'Shell statusline integration', selected: false },
|
|
401
|
+
{ value: 'mcp', label: 'MCP', hint: '.mcp.json for MCP server configuration', selected: true },
|
|
402
|
+
{ value: 'runtime', label: 'Runtime', hint: '.claude-flow/ directory for V3 runtime', selected: true },
|
|
403
|
+
],
|
|
404
|
+
});
|
|
405
|
+
options.components.claudeMd = components.includes('claudeMd');
|
|
406
|
+
options.components.settings = components.includes('settings');
|
|
407
|
+
options.components.skills = components.includes('skills');
|
|
408
|
+
options.components.commands = components.includes('commands');
|
|
409
|
+
options.components.agents = components.includes('agents');
|
|
410
|
+
options.components.helpers = components.includes('helpers');
|
|
411
|
+
options.components.statusline = components.includes('statusline');
|
|
412
|
+
options.components.mcp = components.includes('mcp');
|
|
413
|
+
options.components.runtime = components.includes('runtime');
|
|
414
|
+
// Skills selection
|
|
415
|
+
if (options.components.skills) {
|
|
416
|
+
const skillSets = await multiSelect({
|
|
417
|
+
message: 'Select skill sets:',
|
|
418
|
+
options: [
|
|
419
|
+
{ value: 'core', label: 'Core', hint: 'Swarm, memory, SPARC skills', selected: true },
|
|
420
|
+
{ value: '@sparkleideas/agentdb', label: 'AgentDB', hint: 'Vector database skills', selected: true },
|
|
421
|
+
{ value: 'github', label: 'GitHub', hint: 'GitHub integration skills', selected: true },
|
|
422
|
+
{ value: 'flowNexus', label: 'Flow Nexus', hint: 'Cloud platform skills', selected: false },
|
|
423
|
+
{ value: 'v3', label: 'V3', hint: 'V3 implementation skills', selected: true },
|
|
424
|
+
],
|
|
425
|
+
});
|
|
426
|
+
options.skills.core = skillSets.includes('core');
|
|
427
|
+
options.skills.agentdb = skillSets.includes('@sparkleideas/agentdb');
|
|
428
|
+
options.skills.github = skillSets.includes('github');
|
|
429
|
+
options.skills.flowNexus = skillSets.includes('flowNexus');
|
|
430
|
+
options.skills.v3 = skillSets.includes('v3');
|
|
431
|
+
}
|
|
432
|
+
// Hooks selection
|
|
433
|
+
if (options.components.settings) {
|
|
434
|
+
const hooks = await multiSelect({
|
|
435
|
+
message: 'Select hooks to enable:',
|
|
436
|
+
options: [
|
|
437
|
+
{ value: 'preToolUse', label: 'PreToolUse', hint: 'Before tool execution', selected: true },
|
|
438
|
+
{ value: 'postToolUse', label: 'PostToolUse', hint: 'After tool execution', selected: true },
|
|
439
|
+
{ value: 'userPromptSubmit', label: 'UserPromptSubmit', hint: 'Task routing', selected: true },
|
|
440
|
+
{ value: 'sessionStart', label: 'SessionStart', hint: 'Session initialization', selected: true },
|
|
441
|
+
{ value: 'stop', label: 'Stop', hint: 'Task completion evaluation', selected: true },
|
|
442
|
+
{ value: 'notification', label: 'Notification', hint: 'Swarm notifications', selected: true },
|
|
443
|
+
{ value: 'permissionRequest', label: 'PermissionRequest', hint: 'Auto-allow @sparkleideas/claude-flow tools', selected: true },
|
|
444
|
+
],
|
|
445
|
+
});
|
|
446
|
+
options.hooks.preToolUse = hooks.includes('preToolUse');
|
|
447
|
+
options.hooks.postToolUse = hooks.includes('postToolUse');
|
|
448
|
+
options.hooks.userPromptSubmit = hooks.includes('userPromptSubmit');
|
|
449
|
+
options.hooks.sessionStart = hooks.includes('sessionStart');
|
|
450
|
+
options.hooks.stop = hooks.includes('stop');
|
|
451
|
+
options.hooks.notification = hooks.includes('notification');
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
// Swarm topology (for all presets)
|
|
455
|
+
const topology = await select({
|
|
456
|
+
message: 'Select swarm topology:',
|
|
457
|
+
options: [
|
|
458
|
+
{ value: 'hierarchical-mesh', label: 'Hierarchical Mesh', hint: 'Best for complex projects (recommended)' },
|
|
459
|
+
{ value: 'mesh', label: 'Mesh', hint: 'Peer-to-peer coordination' },
|
|
460
|
+
{ value: 'hierarchical', label: 'Hierarchical', hint: 'Tree-based coordination' },
|
|
461
|
+
{ value: 'adaptive', label: 'Adaptive', hint: 'Dynamic topology switching' },
|
|
462
|
+
],
|
|
463
|
+
});
|
|
464
|
+
options.runtime.topology = topology;
|
|
465
|
+
// Max agents
|
|
466
|
+
const maxAgents = await input({
|
|
467
|
+
message: 'Maximum concurrent agents:',
|
|
468
|
+
default: String(options.runtime.maxAgents),
|
|
469
|
+
validate: (v) => {
|
|
470
|
+
const n = parseInt(v);
|
|
471
|
+
return (!isNaN(n) && n > 0 && n <= 50) || 'Enter a number between 1 and 50';
|
|
472
|
+
},
|
|
473
|
+
});
|
|
474
|
+
options.runtime.maxAgents = parseInt(maxAgents);
|
|
475
|
+
// Memory backend
|
|
476
|
+
const memoryBackend = await select({
|
|
477
|
+
message: 'Select memory backend:',
|
|
478
|
+
options: [
|
|
479
|
+
{ value: 'hybrid', label: 'Hybrid', hint: 'SQLite + AgentDB (recommended)' },
|
|
480
|
+
{ value: '@sparkleideas/agentdb', label: 'AgentDB', hint: '150x faster vector search' },
|
|
481
|
+
{ value: 'sqlite', label: 'SQLite', hint: 'Standard SQL storage' },
|
|
482
|
+
{ value: 'memory', label: 'In-Memory', hint: 'Fast but non-persistent' },
|
|
483
|
+
],
|
|
484
|
+
});
|
|
485
|
+
options.runtime.memoryBackend = memoryBackend;
|
|
486
|
+
// HNSW indexing
|
|
487
|
+
if (memoryBackend === '@sparkleideas/agentdb' || memoryBackend === 'hybrid') {
|
|
488
|
+
const enableHNSW = await confirm({
|
|
489
|
+
message: 'Enable HNSW indexing for faster vector search?',
|
|
490
|
+
default: true,
|
|
491
|
+
});
|
|
492
|
+
options.runtime.enableHNSW = enableHNSW;
|
|
493
|
+
}
|
|
494
|
+
// Neural learning
|
|
495
|
+
const enableNeural = await confirm({
|
|
496
|
+
message: 'Enable neural pattern learning?',
|
|
497
|
+
default: options.runtime.enableNeural,
|
|
498
|
+
});
|
|
499
|
+
options.runtime.enableNeural = enableNeural;
|
|
500
|
+
// ADR-049: Self-Learning Memory capabilities
|
|
501
|
+
if (memoryBackend === '@sparkleideas/agentdb' || memoryBackend === 'hybrid') {
|
|
502
|
+
const enableSelfLearning = await confirm({
|
|
503
|
+
message: 'Enable self-learning memory? (LearningBridge + Knowledge Graph + Agent Scopes)',
|
|
504
|
+
default: true,
|
|
505
|
+
});
|
|
506
|
+
options.runtime.enableLearningBridge = enableSelfLearning && enableNeural;
|
|
507
|
+
options.runtime.enableMemoryGraph = enableSelfLearning;
|
|
508
|
+
options.runtime.enableAgentScopes = enableSelfLearning;
|
|
509
|
+
}
|
|
510
|
+
else {
|
|
511
|
+
options.runtime.enableLearningBridge = false;
|
|
512
|
+
options.runtime.enableMemoryGraph = false;
|
|
513
|
+
options.runtime.enableAgentScopes = false;
|
|
514
|
+
}
|
|
515
|
+
// Embeddings configuration
|
|
516
|
+
const enableEmbeddings = await confirm({
|
|
517
|
+
message: 'Enable ONNX embedding system with hyperbolic support?',
|
|
518
|
+
default: true,
|
|
519
|
+
});
|
|
520
|
+
let embeddingModel = 'all-MiniLM-L6-v2';
|
|
521
|
+
if (enableEmbeddings) {
|
|
522
|
+
embeddingModel = await select({
|
|
523
|
+
message: 'Select embedding model:',
|
|
524
|
+
options: [
|
|
525
|
+
{ value: 'all-MiniLM-L6-v2', label: 'MiniLM L6 (384d)', hint: 'Fast, good quality (recommended)' },
|
|
526
|
+
{ value: 'all-mpnet-base-v2', label: 'MPNet Base (768d)', hint: 'Higher quality, more memory' },
|
|
527
|
+
],
|
|
528
|
+
});
|
|
529
|
+
}
|
|
530
|
+
// Execute initialization
|
|
531
|
+
output.writeln();
|
|
532
|
+
const spinner = output.createSpinner({ text: 'Initializing...' });
|
|
533
|
+
spinner.start();
|
|
534
|
+
const result = await executeInit(options);
|
|
535
|
+
if (!result.success) {
|
|
536
|
+
spinner.fail('Initialization failed');
|
|
537
|
+
for (const error of result.errors) {
|
|
538
|
+
output.printError(error);
|
|
539
|
+
}
|
|
540
|
+
return { success: false, exitCode: 1 };
|
|
541
|
+
}
|
|
542
|
+
spinner.succeed('Setup complete!');
|
|
543
|
+
// Initialize embeddings if enabled
|
|
544
|
+
let embeddingsInitialized = false;
|
|
545
|
+
if (enableEmbeddings) {
|
|
546
|
+
output.writeln();
|
|
547
|
+
output.printInfo('Initializing ONNX embedding subsystem...');
|
|
548
|
+
const { execSync } = await import('child_process');
|
|
549
|
+
try {
|
|
550
|
+
execSync(`npx @sparkleideas/cli@latest embeddings init --model ${embeddingModel} --no-download --force 2>/dev/null`, {
|
|
551
|
+
stdio: 'pipe',
|
|
552
|
+
cwd: ctx.cwd,
|
|
553
|
+
timeout: 30000
|
|
554
|
+
});
|
|
555
|
+
output.writeln(output.success(' ✓ Embeddings configured'));
|
|
556
|
+
embeddingsInitialized = true;
|
|
557
|
+
}
|
|
558
|
+
catch {
|
|
559
|
+
output.writeln(output.dim(' Embeddings will be configured on first use'));
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
output.writeln();
|
|
563
|
+
// Summary table
|
|
564
|
+
output.printTable({
|
|
565
|
+
columns: [
|
|
566
|
+
{ key: 'setting', header: 'Setting', width: 20 },
|
|
567
|
+
{ key: 'value', header: 'Value', width: 40 },
|
|
568
|
+
],
|
|
569
|
+
data: [
|
|
570
|
+
{ setting: 'Preset', value: preset },
|
|
571
|
+
{ setting: 'Topology', value: options.runtime.topology },
|
|
572
|
+
{ setting: 'Max Agents', value: String(options.runtime.maxAgents) },
|
|
573
|
+
{ setting: 'Memory Backend', value: options.runtime.memoryBackend },
|
|
574
|
+
{ setting: 'HNSW Indexing', value: options.runtime.enableHNSW ? 'Enabled' : 'Disabled' },
|
|
575
|
+
{ setting: 'Neural Learning', value: options.runtime.enableNeural ? 'Enabled' : 'Disabled' },
|
|
576
|
+
{ setting: 'Self-Learning', value: options.runtime.enableLearningBridge ? 'LearningBridge + Graph + Scopes' : 'Disabled' },
|
|
577
|
+
{ setting: 'Embeddings', value: enableEmbeddings ? `${embeddingModel} (hyperbolic)` : 'Disabled' },
|
|
578
|
+
{ setting: 'Skills', value: `${result.summary.skillsCount} installed` },
|
|
579
|
+
{ setting: 'Commands', value: `${result.summary.commandsCount} installed` },
|
|
580
|
+
{ setting: 'Agents', value: `${result.summary.agentsCount} installed` },
|
|
581
|
+
{ setting: 'Hooks', value: `${result.summary.hooksEnabled} enabled` },
|
|
582
|
+
],
|
|
583
|
+
});
|
|
584
|
+
return { success: true, data: result };
|
|
585
|
+
}
|
|
586
|
+
catch (error) {
|
|
587
|
+
if (error instanceof Error && error.message === 'User cancelled') {
|
|
588
|
+
output.printInfo('Setup cancelled');
|
|
589
|
+
return { success: true };
|
|
590
|
+
}
|
|
591
|
+
throw error;
|
|
592
|
+
}
|
|
593
|
+
},
|
|
594
|
+
};
|
|
595
|
+
// Check subcommand
|
|
596
|
+
const checkCommand = {
|
|
597
|
+
name: 'check',
|
|
598
|
+
description: 'Check if RuFlo is initialized',
|
|
599
|
+
action: async (ctx) => {
|
|
600
|
+
const initialized = isInitialized(ctx.cwd);
|
|
601
|
+
const result = {
|
|
602
|
+
initialized: initialized.claude || initialized.claudeFlow,
|
|
603
|
+
claude: initialized.claude,
|
|
604
|
+
claudeFlow: initialized.claudeFlow,
|
|
605
|
+
paths: {
|
|
606
|
+
claudeSettings: initialized.claude ? path.join(ctx.cwd, '.claude', 'settings.json') : null,
|
|
607
|
+
claudeFlowConfig: initialized.claudeFlow ? path.join(ctx.cwd, '.claude-flow', 'config.yaml') : null,
|
|
608
|
+
},
|
|
609
|
+
};
|
|
610
|
+
if (ctx.flags.format === 'json') {
|
|
611
|
+
output.printJson(result);
|
|
612
|
+
return { success: true, data: result };
|
|
613
|
+
}
|
|
614
|
+
if (result.initialized) {
|
|
615
|
+
output.printSuccess('RuFlo is initialized');
|
|
616
|
+
if (initialized.claude) {
|
|
617
|
+
output.printInfo(` Claude Code: .claude/settings.json`);
|
|
618
|
+
}
|
|
619
|
+
if (initialized.claudeFlow) {
|
|
620
|
+
output.printInfo(` V3 Runtime: .claude-flow/config.yaml`);
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
else {
|
|
624
|
+
output.printWarning('RuFlo is not initialized in this directory');
|
|
625
|
+
output.printInfo('Run "@sparkleideas/ruflo init" to initialize');
|
|
626
|
+
}
|
|
627
|
+
return { success: true, data: result };
|
|
628
|
+
},
|
|
629
|
+
};
|
|
630
|
+
// Skills subcommand
|
|
631
|
+
const skillsCommand = {
|
|
632
|
+
name: 'skills',
|
|
633
|
+
description: 'Initialize only skills',
|
|
634
|
+
options: [
|
|
635
|
+
{ name: 'all', description: 'Install all skills', type: 'boolean', default: false },
|
|
636
|
+
{ name: 'core', description: 'Install core skills', type: 'boolean', default: true },
|
|
637
|
+
{ name: '@sparkleideas/agentdb', description: 'Install AgentDB skills', type: 'boolean', default: false },
|
|
638
|
+
{ name: 'github', description: 'Install GitHub skills', type: 'boolean', default: false },
|
|
639
|
+
{ name: 'v3', description: 'Install V3 skills', type: 'boolean', default: false },
|
|
640
|
+
],
|
|
641
|
+
action: async (ctx) => {
|
|
642
|
+
const options = {
|
|
643
|
+
...MINIMAL_INIT_OPTIONS,
|
|
644
|
+
targetDir: ctx.cwd,
|
|
645
|
+
force: ctx.flags.force,
|
|
646
|
+
components: {
|
|
647
|
+
settings: false,
|
|
648
|
+
skills: true,
|
|
649
|
+
commands: false,
|
|
650
|
+
agents: false,
|
|
651
|
+
helpers: false,
|
|
652
|
+
statusline: false,
|
|
653
|
+
mcp: false,
|
|
654
|
+
runtime: false,
|
|
655
|
+
claudeMd: false,
|
|
656
|
+
},
|
|
657
|
+
skills: {
|
|
658
|
+
all: ctx.flags.all,
|
|
659
|
+
core: ctx.flags.core,
|
|
660
|
+
@sparkleideas/agentdb: ctx.flags.agentdb,
|
|
661
|
+
github: ctx.flags.github,
|
|
662
|
+
flowNexus: false,
|
|
663
|
+
browser: false,
|
|
664
|
+
v3: ctx.flags.v3,
|
|
665
|
+
dualMode: false,
|
|
666
|
+
},
|
|
667
|
+
};
|
|
668
|
+
const spinner = output.createSpinner({ text: 'Installing skills...' });
|
|
669
|
+
spinner.start();
|
|
670
|
+
const result = await executeInit(options);
|
|
671
|
+
if (result.success) {
|
|
672
|
+
spinner.succeed(`Installed ${result.summary.skillsCount} skills`);
|
|
673
|
+
}
|
|
674
|
+
else {
|
|
675
|
+
spinner.fail('Failed to install skills');
|
|
676
|
+
for (const error of result.errors) {
|
|
677
|
+
output.printError(error);
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
return { success: result.success, data: result };
|
|
681
|
+
},
|
|
682
|
+
};
|
|
683
|
+
// Hooks subcommand
|
|
684
|
+
const hooksCommand = {
|
|
685
|
+
name: 'hooks',
|
|
686
|
+
description: 'Initialize only hooks configuration',
|
|
687
|
+
options: [
|
|
688
|
+
{ name: 'all', description: 'Enable all hooks', type: 'boolean', default: true },
|
|
689
|
+
{ name: 'minimal', description: 'Enable only essential hooks', type: 'boolean', default: false },
|
|
690
|
+
],
|
|
691
|
+
action: async (ctx) => {
|
|
692
|
+
const minimal = ctx.flags.minimal;
|
|
693
|
+
const options = {
|
|
694
|
+
...DEFAULT_INIT_OPTIONS,
|
|
695
|
+
targetDir: ctx.cwd,
|
|
696
|
+
force: ctx.flags.force,
|
|
697
|
+
components: {
|
|
698
|
+
settings: true,
|
|
699
|
+
skills: false,
|
|
700
|
+
commands: false,
|
|
701
|
+
agents: false,
|
|
702
|
+
helpers: false,
|
|
703
|
+
statusline: false,
|
|
704
|
+
mcp: false,
|
|
705
|
+
runtime: false,
|
|
706
|
+
claudeMd: false,
|
|
707
|
+
},
|
|
708
|
+
hooks: minimal
|
|
709
|
+
? {
|
|
710
|
+
preToolUse: true,
|
|
711
|
+
postToolUse: true,
|
|
712
|
+
userPromptSubmit: false,
|
|
713
|
+
sessionStart: false,
|
|
714
|
+
stop: false,
|
|
715
|
+
preCompact: false,
|
|
716
|
+
notification: false,
|
|
717
|
+
timeout: 5000,
|
|
718
|
+
continueOnError: true,
|
|
719
|
+
}
|
|
720
|
+
: DEFAULT_INIT_OPTIONS.hooks,
|
|
721
|
+
};
|
|
722
|
+
const spinner = output.createSpinner({ text: 'Creating hooks configuration...' });
|
|
723
|
+
spinner.start();
|
|
724
|
+
const result = await executeInit(options);
|
|
725
|
+
if (result.success) {
|
|
726
|
+
spinner.succeed(`Created settings.json with ${result.summary.hooksEnabled} hooks enabled`);
|
|
727
|
+
}
|
|
728
|
+
else {
|
|
729
|
+
spinner.fail('Failed to create hooks configuration');
|
|
730
|
+
for (const error of result.errors) {
|
|
731
|
+
output.printError(error);
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
return { success: result.success, data: result };
|
|
735
|
+
},
|
|
736
|
+
};
|
|
737
|
+
// Upgrade subcommand - updates helpers without losing user data
|
|
738
|
+
const upgradeCommand = {
|
|
739
|
+
name: 'upgrade',
|
|
740
|
+
description: 'Update statusline and helpers while preserving existing data',
|
|
741
|
+
options: [
|
|
742
|
+
{
|
|
743
|
+
name: 'verbose',
|
|
744
|
+
short: 'v',
|
|
745
|
+
description: 'Show detailed output',
|
|
746
|
+
type: 'boolean',
|
|
747
|
+
default: false,
|
|
748
|
+
},
|
|
749
|
+
{
|
|
750
|
+
name: 'add-missing',
|
|
751
|
+
short: 'a',
|
|
752
|
+
description: 'Add any new skills, agents, and commands that are missing',
|
|
753
|
+
type: 'boolean',
|
|
754
|
+
default: false,
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
name: 'settings',
|
|
758
|
+
short: 's',
|
|
759
|
+
description: 'Merge new settings (Agent Teams, hooks) into existing settings.json',
|
|
760
|
+
type: 'boolean',
|
|
761
|
+
default: false,
|
|
762
|
+
},
|
|
763
|
+
],
|
|
764
|
+
action: async (ctx) => {
|
|
765
|
+
const addMissing = (ctx.flags['add-missing'] || ctx.flags.addMissing);
|
|
766
|
+
const upgradeSettings = (ctx.flags.settings);
|
|
767
|
+
output.writeln();
|
|
768
|
+
output.writeln(output.bold('Upgrading RuFlo'));
|
|
769
|
+
if (addMissing && upgradeSettings) {
|
|
770
|
+
output.writeln(output.dim('Updates helpers, settings, and adds any missing skills/agents/commands'));
|
|
771
|
+
}
|
|
772
|
+
else if (addMissing) {
|
|
773
|
+
output.writeln(output.dim('Updates helpers and adds any missing skills/agents/commands'));
|
|
774
|
+
}
|
|
775
|
+
else if (upgradeSettings) {
|
|
776
|
+
output.writeln(output.dim('Updates helpers and merges new settings (Agent Teams, hooks)'));
|
|
777
|
+
}
|
|
778
|
+
else {
|
|
779
|
+
output.writeln(output.dim('Updates helpers while preserving your existing data'));
|
|
780
|
+
}
|
|
781
|
+
output.writeln();
|
|
782
|
+
const spinnerText = upgradeSettings
|
|
783
|
+
? 'Upgrading helpers and settings...'
|
|
784
|
+
: (addMissing ? 'Upgrading and adding missing assets...' : 'Upgrading...');
|
|
785
|
+
const spinner = output.createSpinner({ text: spinnerText });
|
|
786
|
+
spinner.start();
|
|
787
|
+
try {
|
|
788
|
+
const result = addMissing
|
|
789
|
+
? await executeUpgradeWithMissing(ctx.cwd, upgradeSettings)
|
|
790
|
+
: await executeUpgrade(ctx.cwd, upgradeSettings);
|
|
791
|
+
if (!result.success) {
|
|
792
|
+
spinner.fail('Upgrade failed');
|
|
793
|
+
for (const error of result.errors) {
|
|
794
|
+
output.printError(error);
|
|
795
|
+
}
|
|
796
|
+
return { success: false, exitCode: 1 };
|
|
797
|
+
}
|
|
798
|
+
spinner.succeed('Upgrade complete!');
|
|
799
|
+
output.writeln();
|
|
800
|
+
// Show what was updated
|
|
801
|
+
if (result.updated.length > 0) {
|
|
802
|
+
output.printBox(result.updated.map(f => `✓ ${f}`).join('\n'), 'Updated (latest version)');
|
|
803
|
+
output.writeln();
|
|
804
|
+
}
|
|
805
|
+
// Show what was created
|
|
806
|
+
if (result.created.length > 0) {
|
|
807
|
+
output.printBox(result.created.map(f => `+ ${f}`).join('\n'), 'Created (new files)');
|
|
808
|
+
output.writeln();
|
|
809
|
+
}
|
|
810
|
+
// Show what was preserved
|
|
811
|
+
if (result.preserved.length > 0 && ctx.flags.verbose) {
|
|
812
|
+
output.printBox(result.preserved.map(f => `• ${f}`).join('\n'), 'Preserved (existing data kept)');
|
|
813
|
+
output.writeln();
|
|
814
|
+
}
|
|
815
|
+
else if (result.preserved.length > 0) {
|
|
816
|
+
output.printInfo(`Preserved ${result.preserved.length} existing data files`);
|
|
817
|
+
output.writeln();
|
|
818
|
+
}
|
|
819
|
+
// Show added assets (when --add-missing flag is used)
|
|
820
|
+
if (result.addedSkills && result.addedSkills.length > 0) {
|
|
821
|
+
output.printBox(result.addedSkills.map(s => `+ ${s}`).join('\n'), `Added Skills (${result.addedSkills.length} new)`);
|
|
822
|
+
output.writeln();
|
|
823
|
+
}
|
|
824
|
+
if (result.addedAgents && result.addedAgents.length > 0) {
|
|
825
|
+
output.printBox(result.addedAgents.map(a => `+ ${a}`).join('\n'), `Added Agents (${result.addedAgents.length} new)`);
|
|
826
|
+
output.writeln();
|
|
827
|
+
}
|
|
828
|
+
if (result.addedCommands && result.addedCommands.length > 0) {
|
|
829
|
+
output.printBox(result.addedCommands.map(c => `+ ${c}`).join('\n'), `Added Commands (${result.addedCommands.length} new)`);
|
|
830
|
+
output.writeln();
|
|
831
|
+
}
|
|
832
|
+
// Show settings updates
|
|
833
|
+
if (result.settingsUpdated && result.settingsUpdated.length > 0) {
|
|
834
|
+
output.printBox(result.settingsUpdated.map(s => `+ ${s}`).join('\n'), 'Settings Updated');
|
|
835
|
+
output.writeln();
|
|
836
|
+
}
|
|
837
|
+
output.printSuccess('Your statusline helper has been updated to the latest version');
|
|
838
|
+
output.printInfo('Existing metrics and learning data were preserved');
|
|
839
|
+
// Show settings summary
|
|
840
|
+
if (upgradeSettings && result.settingsUpdated && result.settingsUpdated.length > 0) {
|
|
841
|
+
output.printSuccess('Settings.json updated with new Agent Teams configuration');
|
|
842
|
+
}
|
|
843
|
+
// Show summary for --add-missing
|
|
844
|
+
if (addMissing) {
|
|
845
|
+
const totalAdded = (result.addedSkills?.length || 0) + (result.addedAgents?.length || 0) + (result.addedCommands?.length || 0);
|
|
846
|
+
if (totalAdded > 0) {
|
|
847
|
+
output.printSuccess(`Added ${totalAdded} missing assets to your project`);
|
|
848
|
+
}
|
|
849
|
+
else {
|
|
850
|
+
output.printInfo('All skills, agents, and commands are already up to date');
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
if (ctx.flags.format === 'json') {
|
|
854
|
+
output.printJson(result);
|
|
855
|
+
}
|
|
856
|
+
return { success: true, data: result };
|
|
857
|
+
}
|
|
858
|
+
catch (error) {
|
|
859
|
+
spinner.fail('Upgrade failed');
|
|
860
|
+
output.printError(`Failed to upgrade: ${error instanceof Error ? error.message : String(error)}`);
|
|
861
|
+
return { success: false, exitCode: 1 };
|
|
862
|
+
}
|
|
863
|
+
},
|
|
864
|
+
};
|
|
865
|
+
// Main init command
|
|
866
|
+
export const initCommand = {
|
|
867
|
+
name: 'init',
|
|
868
|
+
description: 'Initialize RuFlo in the current directory',
|
|
869
|
+
subcommands: [wizardCommand, checkCommand, skillsCommand, hooksCommand, upgradeCommand],
|
|
870
|
+
options: [
|
|
871
|
+
{
|
|
872
|
+
name: 'force',
|
|
873
|
+
short: 'f',
|
|
874
|
+
description: 'Overwrite existing configuration',
|
|
875
|
+
type: 'boolean',
|
|
876
|
+
default: false,
|
|
877
|
+
},
|
|
878
|
+
{
|
|
879
|
+
name: 'minimal',
|
|
880
|
+
short: 'm',
|
|
881
|
+
description: 'Create minimal configuration',
|
|
882
|
+
type: 'boolean',
|
|
883
|
+
default: false,
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
name: 'full',
|
|
887
|
+
description: 'Create full configuration with all components',
|
|
888
|
+
type: 'boolean',
|
|
889
|
+
default: false,
|
|
890
|
+
},
|
|
891
|
+
{
|
|
892
|
+
name: 'skip-claude',
|
|
893
|
+
description: 'Skip .claude/ directory creation (runtime only)',
|
|
894
|
+
type: 'boolean',
|
|
895
|
+
default: false,
|
|
896
|
+
},
|
|
897
|
+
{
|
|
898
|
+
name: 'only-claude',
|
|
899
|
+
description: 'Only create .claude/ directory (skip runtime)',
|
|
900
|
+
type: 'boolean',
|
|
901
|
+
default: false,
|
|
902
|
+
},
|
|
903
|
+
{
|
|
904
|
+
name: 'start-all',
|
|
905
|
+
description: 'Auto-start daemon, memory, and swarm after init',
|
|
906
|
+
type: 'boolean',
|
|
907
|
+
default: false,
|
|
908
|
+
},
|
|
909
|
+
{
|
|
910
|
+
name: 'start-daemon',
|
|
911
|
+
description: 'Auto-start daemon after init',
|
|
912
|
+
type: 'boolean',
|
|
913
|
+
default: false,
|
|
914
|
+
},
|
|
915
|
+
{
|
|
916
|
+
name: 'with-embeddings',
|
|
917
|
+
description: 'Initialize ONNX embedding subsystem with hyperbolic support',
|
|
918
|
+
type: 'boolean',
|
|
919
|
+
default: false,
|
|
920
|
+
},
|
|
921
|
+
{
|
|
922
|
+
name: 'embedding-model',
|
|
923
|
+
description: 'ONNX embedding model to use',
|
|
924
|
+
type: 'string',
|
|
925
|
+
default: 'all-MiniLM-L6-v2',
|
|
926
|
+
choices: ['all-MiniLM-L6-v2', 'all-mpnet-base-v2'],
|
|
927
|
+
},
|
|
928
|
+
{
|
|
929
|
+
name: 'codex',
|
|
930
|
+
description: 'Initialize for OpenAI Codex CLI (creates AGENTS.md, .agents/)',
|
|
931
|
+
type: 'boolean',
|
|
932
|
+
default: false,
|
|
933
|
+
},
|
|
934
|
+
{
|
|
935
|
+
name: 'dual',
|
|
936
|
+
description: 'Initialize for both Claude Code and OpenAI Codex',
|
|
937
|
+
type: 'boolean',
|
|
938
|
+
default: false,
|
|
939
|
+
},
|
|
940
|
+
],
|
|
941
|
+
examples: [
|
|
942
|
+
{ command: '@sparkleideas/claude-flow init', description: 'Initialize with default configuration' },
|
|
943
|
+
{ command: '@sparkleideas/claude-flow init --start-all', description: 'Initialize and start daemon, memory, swarm' },
|
|
944
|
+
{ command: '@sparkleideas/claude-flow init --start-daemon', description: 'Initialize and start daemon only' },
|
|
945
|
+
{ command: '@sparkleideas/claude-flow init --minimal', description: 'Initialize with minimal configuration' },
|
|
946
|
+
{ command: '@sparkleideas/claude-flow init --full', description: 'Initialize with all components' },
|
|
947
|
+
{ command: '@sparkleideas/claude-flow init --force', description: 'Reinitialize and overwrite existing config' },
|
|
948
|
+
{ command: '@sparkleideas/claude-flow init --only-claude', description: 'Only create Claude Code integration' },
|
|
949
|
+
{ command: '@sparkleideas/claude-flow init --skip-claude', description: 'Only create V3 runtime' },
|
|
950
|
+
{ command: '@sparkleideas/claude-flow init wizard', description: 'Interactive setup wizard' },
|
|
951
|
+
{ command: '@sparkleideas/claude-flow init --with-embeddings', description: 'Initialize with ONNX embeddings' },
|
|
952
|
+
{ command: '@sparkleideas/claude-flow init --with-embeddings --embedding-model all-mpnet-base-v2', description: 'Use larger embedding model' },
|
|
953
|
+
{ command: '@sparkleideas/claude-flow init skills --all', description: 'Install all available skills' },
|
|
954
|
+
{ command: '@sparkleideas/claude-flow init hooks --minimal', description: 'Create minimal hooks configuration' },
|
|
955
|
+
{ command: '@sparkleideas/claude-flow init upgrade', description: 'Update helpers while preserving data' },
|
|
956
|
+
{ command: '@sparkleideas/claude-flow init upgrade --settings', description: 'Update helpers and merge new settings (Agent Teams)' },
|
|
957
|
+
{ command: '@sparkleideas/claude-flow init upgrade --verbose', description: 'Show detailed upgrade info' },
|
|
958
|
+
{ command: '@sparkleideas/claude-flow init --codex', description: 'Initialize for OpenAI Codex (AGENTS.md)' },
|
|
959
|
+
{ command: '@sparkleideas/claude-flow init --codex --full', description: 'Codex init with all 137+ skills' },
|
|
960
|
+
{ command: '@sparkleideas/claude-flow init --dual', description: 'Initialize for both Claude Code and Codex' },
|
|
961
|
+
],
|
|
962
|
+
action: initAction,
|
|
963
|
+
};
|
|
964
|
+
export default initCommand;
|
|
965
|
+
//# sourceMappingURL=init.js.map
|