@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.
- package/dist/src/appliance/rvfa-builder.js +4 -4
- package/dist/src/appliance/rvfa-format.d.ts +1 -1
- package/dist/src/appliance/rvfa-format.js +1 -1
- package/dist/src/appliance/rvfa-runner.js +8 -8
- package/dist/src/commands/agent.js +15 -15
- package/dist/src/commands/analyze.js +52 -52
- package/dist/src/commands/appliance-advanced.js +1 -1
- package/dist/src/commands/appliance.js +16 -16
- package/dist/src/commands/benchmark.js +16 -16
- package/dist/src/commands/categories.js +1 -1
- package/dist/src/commands/claims.js +17 -17
- package/dist/src/commands/completions.js +37 -37
- package/dist/src/commands/config.js +10 -10
- package/dist/src/commands/daemon.js +26 -26
- package/dist/src/commands/deployment.js +20 -20
- package/dist/src/commands/doctor.js +30 -30
- package/dist/src/commands/embeddings.js +51 -51
- package/dist/src/commands/guidance.js +23 -23
- package/dist/src/commands/hive-mind.js +21 -21
- package/dist/src/commands/hooks.js +114 -114
- package/dist/src/commands/init.js +41 -41
- package/dist/src/commands/issues.js +6 -6
- package/dist/src/commands/mcp.js +13 -13
- package/dist/src/commands/memory.js +35 -35
- package/dist/src/commands/migrate.js +13 -13
- package/dist/src/commands/neural.js +34 -34
- package/dist/src/commands/performance.js +13 -13
- package/dist/src/commands/plugins.js +26 -26
- package/dist/src/commands/process.js +36 -36
- package/dist/src/commands/progress.js +6 -6
- package/dist/src/commands/providers.js +13 -13
- package/dist/src/commands/route.js +26 -26
- package/dist/src/commands/ruvector/backup.js +9 -9
- package/dist/src/commands/ruvector/benchmark.js +4 -4
- package/dist/src/commands/ruvector/import.d.ts +3 -3
- package/dist/src/commands/ruvector/import.js +11 -11
- package/dist/src/commands/ruvector/index.js +9 -9
- package/dist/src/commands/ruvector/init.js +7 -7
- package/dist/src/commands/ruvector/migrate.js +5 -5
- package/dist/src/commands/ruvector/optimize.js +7 -7
- package/dist/src/commands/ruvector/setup.d.ts +3 -3
- package/dist/src/commands/ruvector/setup.js +9 -9
- package/dist/src/commands/ruvector/status.js +4 -4
- package/dist/src/commands/security.js +19 -19
- package/dist/src/commands/session.js +13 -13
- package/dist/src/commands/start.js +17 -17
- package/dist/src/commands/status.js +10 -10
- package/dist/src/commands/swarm.js +7 -7
- package/dist/src/commands/task.js +9 -9
- package/dist/src/commands/transfer-store.js +16 -16
- package/dist/src/commands/update.js +2 -2
- package/dist/src/commands/workflow.js +13 -13
- package/dist/src/config-adapter.js +5 -5
- package/dist/src/index.js +1 -1
- package/dist/src/init/claudemd-generator.js +1 -1
- package/dist/src/init/executor.js +47 -47
- package/dist/src/init/helpers-generator.js +14 -14
- package/dist/src/init/mcp-generator.js +6 -6
- package/dist/src/init/settings-generator.js +4 -4
- package/dist/src/init/statusline-generator.js +27 -27
- package/dist/src/init/types.d.ts +6 -6
- package/dist/src/init/types.js +3 -3
- package/dist/src/mcp-server.js +2 -2
- package/dist/src/mcp-tools/agent-tools.js +1 -1
- package/dist/src/mcp-tools/auto-install.js +5 -5
- package/dist/src/mcp-tools/claims-tools.js +1 -1
- package/dist/src/mcp-tools/config-tools.js +1 -1
- package/dist/src/mcp-tools/coordination-tools.js +1 -1
- package/dist/src/mcp-tools/daa-tools.js +1 -1
- package/dist/src/mcp-tools/embeddings-tools.js +1 -1
- package/dist/src/mcp-tools/github-tools.js +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.js +3 -3
- package/dist/src/mcp-tools/hooks-tools.js +2 -2
- package/dist/src/mcp-tools/memory-tools.js +1 -1
- package/dist/src/mcp-tools/neural-tools.js +7 -7
- package/dist/src/mcp-tools/performance-tools.js +1 -1
- package/dist/src/mcp-tools/progress-tools.js +1 -1
- package/dist/src/mcp-tools/security-tools.js +2 -2
- package/dist/src/mcp-tools/session-tools.js +1 -1
- package/dist/src/mcp-tools/system-tools.js +2 -2
- package/dist/src/mcp-tools/task-tools.js +1 -1
- package/dist/src/mcp-tools/terminal-tools.js +1 -1
- package/dist/src/mcp-tools/workflow-tools.js +1 -1
- package/dist/src/memory/intelligence.js +5 -5
- package/dist/src/memory/memory-bridge.d.ts +4 -4
- package/dist/src/memory/memory-bridge.js +17 -17
- package/dist/src/memory/memory-initializer.js +11 -11
- package/dist/src/plugins/manager.js +10 -10
- package/dist/src/plugins/store/discovery.js +1 -1
- package/dist/src/plugins/tests/demo-plugin-store.js +6 -6
- package/dist/src/ruvector/enhanced-model-router.js +3 -3
- package/dist/src/services/agentic-flow-bridge.d.ts +11 -11
- package/dist/src/services/agentic-flow-bridge.js +11 -11
- package/dist/src/services/claim-service.js +1 -1
- package/dist/src/services/container-worker-pool.js +4 -4
- package/dist/src/services/headless-worker-executor.js +2 -2
- package/dist/src/services/worker-daemon.js +14 -14
- package/dist/src/services/worker-queue.js +1 -1
- package/dist/src/suggest.js +1 -1
- package/dist/src/transfer/models/seraphine.js +1 -1
- package/dist/src/transfer/serialization/cfp.js +1 -1
- package/dist/src/transfer/store/discovery.js +1 -1
- package/dist/src/transfer/store/registry.js +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/update/executor.js +1 -1
- package/dist/src/update/rate-limiter.js +1 -1
- package/dist/src/update/validator.js +1 -1
- package/package.json +1 -1
|
@@ -17,8 +17,8 @@ const scanCommand = {
|
|
|
17
17
|
{ name: 'fix', short: 'f', type: 'boolean', description: 'Auto-fix vulnerabilities where possible' },
|
|
18
18
|
],
|
|
19
19
|
examples: [
|
|
20
|
-
{ command: '
|
|
21
|
-
{ command: '
|
|
20
|
+
{ command: 'claude-flow security scan -t ./src', description: 'Scan source directory' },
|
|
21
|
+
{ command: 'claude-flow security scan --depth deep --fix', description: 'Deep scan with auto-fix' },
|
|
22
22
|
],
|
|
23
23
|
action: async (ctx) => {
|
|
24
24
|
const target = ctx.flags.target || '.';
|
|
@@ -241,8 +241,8 @@ const cveCommand = {
|
|
|
241
241
|
{ name: 'severity', short: 's', type: 'string', description: 'Filter by severity: critical, high, medium, low' },
|
|
242
242
|
],
|
|
243
243
|
examples: [
|
|
244
|
-
{ command: '
|
|
245
|
-
{ command: '
|
|
244
|
+
{ command: 'claude-flow security cve --list', description: 'List all CVEs' },
|
|
245
|
+
{ command: 'claude-flow security cve -c CVE-2024-1234', description: 'Check specific CVE' },
|
|
246
246
|
],
|
|
247
247
|
action: async (ctx) => {
|
|
248
248
|
const checkCve = ctx.flags.check;
|
|
@@ -266,7 +266,7 @@ const cveCommand = {
|
|
|
266
266
|
}
|
|
267
267
|
else {
|
|
268
268
|
output.writeln(output.warning('⚠ No real CVE database configured. Showing example data.'));
|
|
269
|
-
output.writeln(output.dim('Run "npm audit" or "
|
|
269
|
+
output.writeln(output.dim('Run "npm audit" or "claude-flow security scan" for real vulnerability detection.'));
|
|
270
270
|
output.writeln();
|
|
271
271
|
output.printTable({
|
|
272
272
|
columns: [
|
|
@@ -295,8 +295,8 @@ const threatsCommand = {
|
|
|
295
295
|
{ name: 'export', short: 'e', type: 'string', description: 'Export format: json, md, html' },
|
|
296
296
|
],
|
|
297
297
|
examples: [
|
|
298
|
-
{ command: '
|
|
299
|
-
{ command: '
|
|
298
|
+
{ command: 'claude-flow security threats --model stride', description: 'Run STRIDE analysis' },
|
|
299
|
+
{ command: 'claude-flow security threats -e md', description: 'Export as markdown' },
|
|
300
300
|
],
|
|
301
301
|
action: async (ctx) => {
|
|
302
302
|
const model = ctx.flags.model || 'stride';
|
|
@@ -332,8 +332,8 @@ const auditCommand = {
|
|
|
332
332
|
{ name: 'filter', short: 'f', type: 'string', description: 'Filter by event type' },
|
|
333
333
|
],
|
|
334
334
|
examples: [
|
|
335
|
-
{ command: '
|
|
336
|
-
{ command: '
|
|
335
|
+
{ command: 'claude-flow security audit --action list', description: 'List audit logs' },
|
|
336
|
+
{ command: 'claude-flow security audit -a export', description: 'Export audit trail' },
|
|
337
337
|
],
|
|
338
338
|
action: async (ctx) => {
|
|
339
339
|
const action = ctx.flags.action || 'list';
|
|
@@ -368,8 +368,8 @@ const secretsCommand = {
|
|
|
368
368
|
{ name: 'ignore', short: 'i', type: 'string', description: 'Patterns to ignore' },
|
|
369
369
|
],
|
|
370
370
|
examples: [
|
|
371
|
-
{ command: '
|
|
372
|
-
{ command: '
|
|
371
|
+
{ command: 'claude-flow security secrets --action scan', description: 'Scan for secrets' },
|
|
372
|
+
{ command: 'claude-flow security secrets -a rotate', description: 'Rotate compromised secrets' },
|
|
373
373
|
],
|
|
374
374
|
action: async (ctx) => {
|
|
375
375
|
const path = ctx.flags.path || '.';
|
|
@@ -382,7 +382,7 @@ const secretsCommand = {
|
|
|
382
382
|
spinner.succeed('Scan complete');
|
|
383
383
|
output.writeln();
|
|
384
384
|
output.writeln(output.warning('⚠ No real secrets scan performed. Showing example findings.'));
|
|
385
|
-
output.writeln(output.dim('Run "
|
|
385
|
+
output.writeln(output.dim('Run "claude-flow security scan --depth full" for real secret detection.'));
|
|
386
386
|
output.writeln();
|
|
387
387
|
output.printTable({
|
|
388
388
|
columns: [
|
|
@@ -414,9 +414,9 @@ const defendCommand = {
|
|
|
414
414
|
{ name: 'output', short: 'o', type: 'string', description: 'Output format: text, json', default: 'text' },
|
|
415
415
|
],
|
|
416
416
|
examples: [
|
|
417
|
-
{ command: '
|
|
418
|
-
{ command: '
|
|
419
|
-
{ command: '
|
|
417
|
+
{ command: 'claude-flow security defend -i "ignore previous instructions"', description: 'Scan text for threats' },
|
|
418
|
+
{ command: 'claude-flow security defend -f ./prompts.txt', description: 'Scan file for threats' },
|
|
419
|
+
{ command: 'claude-flow security defend --stats', description: 'Show detection statistics' },
|
|
420
420
|
],
|
|
421
421
|
action: async (ctx) => {
|
|
422
422
|
const inputText = ctx.flags.input;
|
|
@@ -466,7 +466,7 @@ const defendCommand = {
|
|
|
466
466
|
}
|
|
467
467
|
}
|
|
468
468
|
if (!textToScan) {
|
|
469
|
-
output.writeln('Usage:
|
|
469
|
+
output.writeln('Usage: claude-flow security defend -i "<text>" or -f <file>');
|
|
470
470
|
output.writeln();
|
|
471
471
|
output.writeln('Options:');
|
|
472
472
|
output.printList([
|
|
@@ -546,9 +546,9 @@ export const securityCommand = {
|
|
|
546
546
|
description: 'Security scanning, CVE detection, threat modeling, AI defense',
|
|
547
547
|
subcommands: [scanCommand, cveCommand, threatsCommand, auditCommand, secretsCommand, defendCommand],
|
|
548
548
|
examples: [
|
|
549
|
-
{ command: '
|
|
550
|
-
{ command: '
|
|
551
|
-
{ command: '
|
|
549
|
+
{ command: 'claude-flow security scan', description: 'Run security scan' },
|
|
550
|
+
{ command: 'claude-flow security cve --list', description: 'List known CVEs' },
|
|
551
|
+
{ command: 'claude-flow security threats', description: 'Run threat analysis' },
|
|
552
552
|
],
|
|
553
553
|
action: async () => {
|
|
554
554
|
output.writeln();
|
|
@@ -82,7 +82,7 @@ const listCommand = {
|
|
|
82
82
|
output.writeln();
|
|
83
83
|
if (result.sessions.length === 0) {
|
|
84
84
|
output.printInfo('No sessions found');
|
|
85
|
-
output.printInfo('Run "
|
|
85
|
+
output.printInfo('Run "claude-flow session save" to create a session');
|
|
86
86
|
return { success: true, data: result };
|
|
87
87
|
}
|
|
88
88
|
output.printTable({
|
|
@@ -202,7 +202,7 @@ const saveCommand = {
|
|
|
202
202
|
});
|
|
203
203
|
output.writeln();
|
|
204
204
|
output.printSuccess(`Session saved: ${result.sessionId}`);
|
|
205
|
-
output.printInfo(`Restore with:
|
|
205
|
+
output.printInfo(`Restore with: claude-flow session restore ${result.sessionId}`);
|
|
206
206
|
if (ctx.flags.format === 'json') {
|
|
207
207
|
output.printJson(result);
|
|
208
208
|
}
|
|
@@ -584,7 +584,7 @@ const importCommand = {
|
|
|
584
584
|
output.writeln();
|
|
585
585
|
output.printSuccess(`Session imported: ${result.sessionId}`);
|
|
586
586
|
if (!result.activated) {
|
|
587
|
-
output.printInfo(`Restore with:
|
|
587
|
+
output.printInfo(`Restore with: claude-flow session restore ${result.sessionId}`);
|
|
588
588
|
}
|
|
589
589
|
if (ctx.flags.format === 'json') {
|
|
590
590
|
output.printJson(result);
|
|
@@ -641,7 +641,7 @@ const currentCommand = {
|
|
|
641
641
|
catch (error) {
|
|
642
642
|
if (error instanceof MCPClientError) {
|
|
643
643
|
output.printWarning('No active session');
|
|
644
|
-
output.printInfo('Start a session with "
|
|
644
|
+
output.printInfo('Start a session with "claude-flow start"');
|
|
645
645
|
return { success: true, data: { active: false } };
|
|
646
646
|
}
|
|
647
647
|
output.printError(`Unexpected error: ${String(error)}`);
|
|
@@ -716,20 +716,20 @@ export const sessionCommand = {
|
|
|
716
716
|
],
|
|
717
717
|
options: [],
|
|
718
718
|
examples: [
|
|
719
|
-
{ command: '
|
|
720
|
-
{ command: '
|
|
721
|
-
{ command: '
|
|
722
|
-
{ command: '
|
|
723
|
-
{ command: '
|
|
724
|
-
{ command: '
|
|
725
|
-
{ command: '
|
|
719
|
+
{ command: 'claude-flow session list', description: 'List all sessions' },
|
|
720
|
+
{ command: 'claude-flow session save -n "checkpoint-1"', description: 'Save current session' },
|
|
721
|
+
{ command: 'claude-flow session restore session-123', description: 'Restore a session' },
|
|
722
|
+
{ command: 'claude-flow session delete session-123', description: 'Delete a session' },
|
|
723
|
+
{ command: 'claude-flow session export -o backup.json', description: 'Export session to file' },
|
|
724
|
+
{ command: 'claude-flow session import backup.json', description: 'Import session from file' },
|
|
725
|
+
{ command: 'claude-flow session current', description: 'Show current session' }
|
|
726
726
|
],
|
|
727
727
|
action: async (ctx) => {
|
|
728
728
|
// Show help if no subcommand
|
|
729
729
|
output.writeln();
|
|
730
730
|
output.writeln(output.bold('Session Management Commands'));
|
|
731
731
|
output.writeln();
|
|
732
|
-
output.writeln('Usage:
|
|
732
|
+
output.writeln('Usage: claude-flow session <subcommand> [options]');
|
|
733
733
|
output.writeln();
|
|
734
734
|
output.writeln('Subcommands:');
|
|
735
735
|
output.printList([
|
|
@@ -742,7 +742,7 @@ export const sessionCommand = {
|
|
|
742
742
|
`${output.highlight('current')} - Show current active session`
|
|
743
743
|
]);
|
|
744
744
|
output.writeln();
|
|
745
|
-
output.writeln('Run "
|
|
745
|
+
output.writeln('Run "claude-flow session <subcommand> --help" for subcommand help');
|
|
746
746
|
return { success: true };
|
|
747
747
|
}
|
|
748
748
|
};
|
|
@@ -13,7 +13,7 @@ const DEFAULT_TOPOLOGY = 'hierarchical-mesh';
|
|
|
13
13
|
const DEFAULT_MAX_AGENTS = 15;
|
|
14
14
|
// Check if project is initialized
|
|
15
15
|
function isInitialized(cwd) {
|
|
16
|
-
const configPath = path.join(cwd, '
|
|
16
|
+
const configPath = path.join(cwd, '.claude-flow', 'config.yaml');
|
|
17
17
|
return fs.existsSync(configPath);
|
|
18
18
|
}
|
|
19
19
|
// Simple YAML parser for config (basic implementation)
|
|
@@ -69,7 +69,7 @@ function parseSimpleYaml(content) {
|
|
|
69
69
|
}
|
|
70
70
|
// Load configuration
|
|
71
71
|
function loadConfig(cwd) {
|
|
72
|
-
const configPath = path.join(cwd, '
|
|
72
|
+
const configPath = path.join(cwd, '.claude-flow', 'config.yaml');
|
|
73
73
|
if (!fs.existsSync(configPath))
|
|
74
74
|
return null;
|
|
75
75
|
try {
|
|
@@ -90,7 +90,7 @@ const startAction = async (ctx) => {
|
|
|
90
90
|
// Check initialization
|
|
91
91
|
if (!isInitialized(cwd)) {
|
|
92
92
|
output.printError('RuFlo is not initialized in this directory');
|
|
93
|
-
output.printInfo('Run "
|
|
93
|
+
output.printInfo('Run "ruflo init" first to initialize');
|
|
94
94
|
return { success: false, exitCode: 1 };
|
|
95
95
|
}
|
|
96
96
|
// Load configuration
|
|
@@ -165,17 +165,17 @@ const startAction = async (ctx) => {
|
|
|
165
165
|
output.writeln();
|
|
166
166
|
output.writeln(output.bold('Quick Commands:'));
|
|
167
167
|
output.printList([
|
|
168
|
-
`${output.highlight('
|
|
169
|
-
`${output.highlight('
|
|
170
|
-
`${output.highlight('
|
|
171
|
-
`${output.highlight('
|
|
168
|
+
`${output.highlight('claude-flow status')} - View system status`,
|
|
169
|
+
`${output.highlight('claude-flow agent spawn -t coder')} - Spawn an agent`,
|
|
170
|
+
`${output.highlight('claude-flow swarm status')} - View swarm details`,
|
|
171
|
+
`${output.highlight('claude-flow stop')} - Stop the system`
|
|
172
172
|
]);
|
|
173
173
|
// Daemon mode
|
|
174
174
|
if (daemon) {
|
|
175
175
|
output.writeln();
|
|
176
|
-
output.printInfo('Running in daemon mode. Use "
|
|
176
|
+
output.printInfo('Running in daemon mode. Use "claude-flow stop" to stop.');
|
|
177
177
|
// Store PID for daemon management
|
|
178
|
-
const daemonPidPath = path.join(cwd, '
|
|
178
|
+
const daemonPidPath = path.join(cwd, '.claude-flow', 'daemon.pid');
|
|
179
179
|
fs.writeFileSync(daemonPidPath, String(process.pid));
|
|
180
180
|
// Detach from parent process for true daemon behavior
|
|
181
181
|
if (process.platform !== 'win32') {
|
|
@@ -289,7 +289,7 @@ const stopCommand = {
|
|
|
289
289
|
spinner.fail('Swarm was not running');
|
|
290
290
|
}
|
|
291
291
|
// Clean up daemon PID
|
|
292
|
-
const daemonPidPath = path.join(ctx.cwd, '
|
|
292
|
+
const daemonPidPath = path.join(ctx.cwd, '.claude-flow', 'daemon.pid');
|
|
293
293
|
if (fs.existsSync(daemonPidPath)) {
|
|
294
294
|
fs.unlinkSync(daemonPidPath);
|
|
295
295
|
}
|
|
@@ -404,13 +404,13 @@ export const startCommand = {
|
|
|
404
404
|
}
|
|
405
405
|
],
|
|
406
406
|
examples: [
|
|
407
|
-
{ command: '
|
|
408
|
-
{ command: '
|
|
409
|
-
{ command: '
|
|
410
|
-
{ command: '
|
|
411
|
-
{ command: '
|
|
412
|
-
{ command: '
|
|
413
|
-
{ command: '
|
|
407
|
+
{ command: 'claude-flow start', description: 'Start with configuration defaults' },
|
|
408
|
+
{ command: 'claude-flow start --daemon', description: 'Start as background daemon' },
|
|
409
|
+
{ command: 'claude-flow start --port 3001', description: 'Start MCP on custom port' },
|
|
410
|
+
{ command: 'claude-flow start --topology mesh', description: 'Start with mesh topology' },
|
|
411
|
+
{ command: 'claude-flow start --skip-mcp', description: 'Start without MCP server' },
|
|
412
|
+
{ command: 'claude-flow start quick', description: 'Quick start with defaults' },
|
|
413
|
+
{ command: 'claude-flow start stop', description: 'Stop the running system' }
|
|
414
414
|
],
|
|
415
415
|
action: startAction
|
|
416
416
|
};
|
|
@@ -34,7 +34,7 @@ function getProcessMemoryUsage() {
|
|
|
34
34
|
}
|
|
35
35
|
// Check if project is initialized
|
|
36
36
|
function isInitialized(cwd) {
|
|
37
|
-
const configPath = path.join(cwd, '
|
|
37
|
+
const configPath = path.join(cwd, '.claude-flow', 'config.yaml');
|
|
38
38
|
return fs.existsSync(configPath);
|
|
39
39
|
}
|
|
40
40
|
// Format uptime
|
|
@@ -268,7 +268,7 @@ const statusAction = async (ctx) => {
|
|
|
268
268
|
// Check initialization
|
|
269
269
|
if (!isInitialized(cwd)) {
|
|
270
270
|
output.printError('RuFlo is not initialized in this directory');
|
|
271
|
-
output.printInfo('Run "
|
|
271
|
+
output.printInfo('Run "ruflo init" to initialize');
|
|
272
272
|
return { success: false, exitCode: 1 };
|
|
273
273
|
}
|
|
274
274
|
// Get status
|
|
@@ -576,14 +576,14 @@ export const statusCommand = {
|
|
|
576
576
|
}
|
|
577
577
|
],
|
|
578
578
|
examples: [
|
|
579
|
-
{ command: '
|
|
580
|
-
{ command: '
|
|
581
|
-
{ command: '
|
|
582
|
-
{ command: '
|
|
583
|
-
{ command: '
|
|
584
|
-
{ command: '
|
|
585
|
-
{ command: '
|
|
586
|
-
{ command: '
|
|
579
|
+
{ command: 'claude-flow status', description: 'Show current system status' },
|
|
580
|
+
{ command: 'claude-flow status --watch', description: 'Watch mode with live updates' },
|
|
581
|
+
{ command: 'claude-flow status --watch -i 5', description: 'Watch mode updating every 5 seconds' },
|
|
582
|
+
{ command: 'claude-flow status --health-check', description: 'Run health checks' },
|
|
583
|
+
{ command: 'claude-flow status --json', description: 'Output status as JSON' },
|
|
584
|
+
{ command: 'claude-flow status agents', description: 'Show detailed agent status' },
|
|
585
|
+
{ command: 'claude-flow status tasks', description: 'Show detailed task status' },
|
|
586
|
+
{ command: 'claude-flow status memory', description: 'Show detailed memory status' }
|
|
587
587
|
],
|
|
588
588
|
action: statusAction
|
|
589
589
|
};
|
|
@@ -351,8 +351,8 @@ const startCommand = {
|
|
|
351
351
|
}
|
|
352
352
|
],
|
|
353
353
|
examples: [
|
|
354
|
-
{ command: '
|
|
355
|
-
{ command: '
|
|
354
|
+
{ command: 'claude-flow swarm start -o "Build REST API" -s development', description: 'Start development swarm' },
|
|
355
|
+
{ command: 'claude-flow swarm start -o "Analyze codebase" --parallel', description: 'Parallel analysis' }
|
|
356
356
|
],
|
|
357
357
|
action: async (ctx) => {
|
|
358
358
|
const objective = ctx.args[0] || ctx.flags.objective;
|
|
@@ -415,7 +415,7 @@ const startCommand = {
|
|
|
415
415
|
};
|
|
416
416
|
output.writeln();
|
|
417
417
|
output.printSuccess('Swarm execution started');
|
|
418
|
-
output.writeln(output.dim(` Monitor:
|
|
418
|
+
output.writeln(output.dim(` Monitor: claude-flow swarm status ${executionState.swarmId}`));
|
|
419
419
|
return { success: true, data: executionState };
|
|
420
420
|
}
|
|
421
421
|
};
|
|
@@ -665,15 +665,15 @@ export const swarmCommand = {
|
|
|
665
665
|
subcommands: [initCommand, startCommand, statusCommand, stopCommand, scaleCommand, coordinateCommand],
|
|
666
666
|
options: [],
|
|
667
667
|
examples: [
|
|
668
|
-
{ command: '
|
|
669
|
-
{ command: '
|
|
670
|
-
{ command: '
|
|
668
|
+
{ command: 'claude-flow swarm init --v3-mode', description: 'Initialize V3 swarm' },
|
|
669
|
+
{ command: 'claude-flow swarm start -o "Build API" -s development', description: 'Start development swarm' },
|
|
670
|
+
{ command: 'claude-flow swarm coordinate --agents 15', description: 'V3 coordination' }
|
|
671
671
|
],
|
|
672
672
|
action: async (ctx) => {
|
|
673
673
|
output.writeln();
|
|
674
674
|
output.writeln(output.bold('Swarm Coordination Commands'));
|
|
675
675
|
output.writeln();
|
|
676
|
-
output.writeln('Usage:
|
|
676
|
+
output.writeln('Usage: claude-flow swarm <subcommand> [options]');
|
|
677
677
|
output.writeln();
|
|
678
678
|
output.writeln('Subcommands:');
|
|
679
679
|
output.printList([
|
|
@@ -638,20 +638,20 @@ export const taskCommand = {
|
|
|
638
638
|
subcommands: [createCommand, listCommand, statusCommand, cancelCommand, assignCommand, retryCommand],
|
|
639
639
|
options: [],
|
|
640
640
|
examples: [
|
|
641
|
-
{ command: '
|
|
642
|
-
{ command: '
|
|
643
|
-
{ command: '
|
|
644
|
-
{ command: '
|
|
645
|
-
{ command: '
|
|
646
|
-
{ command: '
|
|
647
|
-
{ command: '
|
|
641
|
+
{ command: 'claude-flow task create -t implementation -d "Add user auth"', description: 'Create a task' },
|
|
642
|
+
{ command: 'claude-flow task list', description: 'List pending/running tasks' },
|
|
643
|
+
{ command: 'claude-flow task list --all', description: 'List all tasks' },
|
|
644
|
+
{ command: 'claude-flow task status task-123', description: 'Get task details' },
|
|
645
|
+
{ command: 'claude-flow task cancel task-123', description: 'Cancel a task' },
|
|
646
|
+
{ command: 'claude-flow task assign task-123 --agent coder-1', description: 'Assign task to agent' },
|
|
647
|
+
{ command: 'claude-flow task retry task-123', description: 'Retry a failed task' }
|
|
648
648
|
],
|
|
649
649
|
action: async (ctx) => {
|
|
650
650
|
// Show help if no subcommand
|
|
651
651
|
output.writeln();
|
|
652
652
|
output.writeln(output.bold('Task Management Commands'));
|
|
653
653
|
output.writeln();
|
|
654
|
-
output.writeln('Usage:
|
|
654
|
+
output.writeln('Usage: claude-flow task <subcommand> [options]');
|
|
655
655
|
output.writeln();
|
|
656
656
|
output.writeln('Subcommands:');
|
|
657
657
|
output.printList([
|
|
@@ -663,7 +663,7 @@ export const taskCommand = {
|
|
|
663
663
|
`${output.highlight('retry')} - Retry a failed task`
|
|
664
664
|
]);
|
|
665
665
|
output.writeln();
|
|
666
|
-
output.writeln('Run "
|
|
666
|
+
output.writeln('Run "claude-flow task <subcommand> --help" for subcommand help');
|
|
667
667
|
return { success: true };
|
|
668
668
|
}
|
|
669
669
|
};
|
|
@@ -18,9 +18,9 @@ export const storeListCommand = {
|
|
|
18
18
|
{ name: 'limit', short: 'l', type: 'number', description: 'Maximum results', default: 20 },
|
|
19
19
|
],
|
|
20
20
|
examples: [
|
|
21
|
-
{ command: '
|
|
22
|
-
{ command: '
|
|
23
|
-
{ command: '
|
|
21
|
+
{ command: 'claude-flow hooks transfer store list', description: 'List all patterns' },
|
|
22
|
+
{ command: 'claude-flow hooks transfer store list --category routing', description: 'List routing patterns' },
|
|
23
|
+
{ command: 'claude-flow hooks transfer store list --featured', description: 'List featured patterns' },
|
|
24
24
|
],
|
|
25
25
|
action: async (ctx) => {
|
|
26
26
|
const registryName = ctx.flags.registry;
|
|
@@ -116,8 +116,8 @@ export const storeSearchCommand = {
|
|
|
116
116
|
{ name: 'limit', type: 'number', description: 'Maximum results', default: 20 },
|
|
117
117
|
],
|
|
118
118
|
examples: [
|
|
119
|
-
{ command: '
|
|
120
|
-
{ command: '
|
|
119
|
+
{ command: 'claude-flow hooks transfer store search -q "routing"', description: 'Search for routing patterns' },
|
|
120
|
+
{ command: 'claude-flow hooks transfer store search -q "react" --language typescript', description: 'Search with filters' },
|
|
121
121
|
],
|
|
122
122
|
action: async (ctx) => {
|
|
123
123
|
const query = (ctx.args[0] || ctx.flags.query);
|
|
@@ -184,8 +184,8 @@ export const storeDownloadCommand = {
|
|
|
184
184
|
{ name: 'import', short: 'i', type: 'boolean', description: 'Import after download' },
|
|
185
185
|
],
|
|
186
186
|
examples: [
|
|
187
|
-
{ command: '
|
|
188
|
-
{ command: '
|
|
187
|
+
{ command: 'claude-flow hooks transfer store download -n seraphine-genesis', description: 'Download pattern' },
|
|
188
|
+
{ command: 'claude-flow hooks transfer store download -n seraphine-genesis --import', description: 'Download and import' },
|
|
189
189
|
],
|
|
190
190
|
action: async (ctx) => {
|
|
191
191
|
const patternName = (ctx.args[0] || ctx.flags.name);
|
|
@@ -257,7 +257,7 @@ export const storePublishCommand = {
|
|
|
257
257
|
{ name: 'framework', type: 'string', description: 'Primary framework' },
|
|
258
258
|
],
|
|
259
259
|
examples: [
|
|
260
|
-
{ command: '
|
|
260
|
+
{ command: 'claude-flow hooks transfer store publish -i patterns.cfp -n my-patterns -d "My patterns" -c routing -t custom', description: 'Publish pattern' },
|
|
261
261
|
],
|
|
262
262
|
action: async (ctx) => {
|
|
263
263
|
const inputPath = ctx.flags.input;
|
|
@@ -323,7 +323,7 @@ export const storeInfoCommand = {
|
|
|
323
323
|
{ name: 'name', short: 'n', type: 'string', description: 'Pattern name or ID', required: true },
|
|
324
324
|
],
|
|
325
325
|
examples: [
|
|
326
|
-
{ command: '
|
|
326
|
+
{ command: 'claude-flow hooks transfer store info -n seraphine-genesis', description: 'Show pattern info' },
|
|
327
327
|
],
|
|
328
328
|
action: async (ctx) => {
|
|
329
329
|
const patternName = (ctx.args[0] || ctx.flags.name);
|
|
@@ -398,10 +398,10 @@ export const storeCommand = {
|
|
|
398
398
|
storeInfoCommand,
|
|
399
399
|
],
|
|
400
400
|
examples: [
|
|
401
|
-
{ command: '
|
|
402
|
-
{ command: '
|
|
403
|
-
{ command: '
|
|
404
|
-
{ command: '
|
|
401
|
+
{ command: 'claude-flow hooks transfer store list', description: 'List patterns' },
|
|
402
|
+
{ command: 'claude-flow hooks transfer store search -q "routing"', description: 'Search patterns' },
|
|
403
|
+
{ command: 'claude-flow hooks transfer store download -n seraphine-genesis', description: 'Download pattern' },
|
|
404
|
+
{ command: 'claude-flow hooks transfer store publish -i patterns.cfp ...', description: 'Publish pattern' },
|
|
405
405
|
],
|
|
406
406
|
action: async () => {
|
|
407
407
|
output.writeln();
|
|
@@ -418,9 +418,9 @@ export const storeCommand = {
|
|
|
418
418
|
]);
|
|
419
419
|
output.writeln();
|
|
420
420
|
output.writeln('Example:');
|
|
421
|
-
output.writeln(output.dim('
|
|
422
|
-
output.writeln(output.dim('
|
|
423
|
-
output.writeln(output.dim('
|
|
421
|
+
output.writeln(output.dim(' claude-flow hooks transfer store list --featured'));
|
|
422
|
+
output.writeln(output.dim(' claude-flow hooks transfer store search -q "routing"'));
|
|
423
|
+
output.writeln(output.dim(' claude-flow hooks transfer store download -n seraphine-genesis'));
|
|
424
424
|
return { success: true };
|
|
425
425
|
},
|
|
426
426
|
};
|
|
@@ -91,7 +91,7 @@ const checkCommand = {
|
|
|
91
91
|
if (manualUpdates.length > 0) {
|
|
92
92
|
output.writeln();
|
|
93
93
|
output.printInfo('To update manually, run:');
|
|
94
|
-
output.writeln('
|
|
94
|
+
output.writeln(' claude-flow update all');
|
|
95
95
|
}
|
|
96
96
|
return { success: true };
|
|
97
97
|
}
|
|
@@ -268,7 +268,7 @@ const updateCommand = {
|
|
|
268
268
|
`${output.dim('CLAUDE_FLOW_FORCE_UPDATE=true')} - Force update check`,
|
|
269
269
|
]);
|
|
270
270
|
output.writeln();
|
|
271
|
-
output.writeln('Run "
|
|
271
|
+
output.writeln('Run "claude-flow update <subcommand> --help" for subcommand help');
|
|
272
272
|
return { success: true };
|
|
273
273
|
},
|
|
274
274
|
};
|
|
@@ -68,9 +68,9 @@ const runCommand = {
|
|
|
68
68
|
}
|
|
69
69
|
],
|
|
70
70
|
examples: [
|
|
71
|
-
{ command: '
|
|
72
|
-
{ command: '
|
|
73
|
-
{ command: '
|
|
71
|
+
{ command: 'claude-flow workflow run -t development --task "Build auth system"', description: 'Run development workflow' },
|
|
72
|
+
{ command: 'claude-flow workflow run -f ./workflow.yaml', description: 'Run from file' },
|
|
73
|
+
{ command: 'claude-flow workflow run -t sparc --dry-run', description: 'Validate SPARC workflow' }
|
|
74
74
|
],
|
|
75
75
|
action: async (ctx) => {
|
|
76
76
|
let template = ctx.flags.template;
|
|
@@ -143,7 +143,7 @@ const runCommand = {
|
|
|
143
143
|
});
|
|
144
144
|
if (!dryRun) {
|
|
145
145
|
output.writeln();
|
|
146
|
-
output.printInfo(`Track progress:
|
|
146
|
+
output.printInfo(`Track progress: claude-flow workflow status ${result.workflowId}`);
|
|
147
147
|
}
|
|
148
148
|
return { success: true, data: result };
|
|
149
149
|
}
|
|
@@ -180,8 +180,8 @@ const validateCommand = {
|
|
|
180
180
|
}
|
|
181
181
|
],
|
|
182
182
|
examples: [
|
|
183
|
-
{ command: '
|
|
184
|
-
{ command: '
|
|
183
|
+
{ command: 'claude-flow workflow validate -f ./workflow.yaml', description: 'Validate workflow file' },
|
|
184
|
+
{ command: 'claude-flow workflow validate -f ./workflow.json --strict', description: 'Strict validation' }
|
|
185
185
|
],
|
|
186
186
|
action: async (ctx) => {
|
|
187
187
|
const file = ctx.flags.file || ctx.args[0];
|
|
@@ -504,7 +504,7 @@ const templateCommand = {
|
|
|
504
504
|
return { success: false, exitCode: 1 };
|
|
505
505
|
}
|
|
506
506
|
output.printSuccess(`Template "${name}" created`);
|
|
507
|
-
output.writeln(output.dim(' Use with:
|
|
507
|
+
output.writeln(output.dim(' Use with: claude-flow workflow run -t ' + name));
|
|
508
508
|
return { success: true, data: { name, created: true } };
|
|
509
509
|
}
|
|
510
510
|
}
|
|
@@ -513,7 +513,7 @@ const templateCommand = {
|
|
|
513
513
|
output.writeln();
|
|
514
514
|
output.writeln(output.bold('Template Management'));
|
|
515
515
|
output.writeln();
|
|
516
|
-
output.writeln('Usage:
|
|
516
|
+
output.writeln('Usage: claude-flow workflow template <subcommand>');
|
|
517
517
|
output.writeln();
|
|
518
518
|
output.writeln('Subcommands:');
|
|
519
519
|
output.printList([
|
|
@@ -531,15 +531,15 @@ export const workflowCommand = {
|
|
|
531
531
|
subcommands: [runCommand, validateCommand, listCommand, statusCommand, stopCommand, templateCommand],
|
|
532
532
|
options: [],
|
|
533
533
|
examples: [
|
|
534
|
-
{ command: '
|
|
535
|
-
{ command: '
|
|
536
|
-
{ command: '
|
|
534
|
+
{ command: 'claude-flow workflow run -t development --task "Build feature"', description: 'Run workflow' },
|
|
535
|
+
{ command: 'claude-flow workflow validate -f ./workflow.yaml', description: 'Validate workflow' },
|
|
536
|
+
{ command: 'claude-flow workflow list', description: 'List workflows' }
|
|
537
537
|
],
|
|
538
538
|
action: async () => {
|
|
539
539
|
output.writeln();
|
|
540
540
|
output.writeln(output.bold('Workflow Commands'));
|
|
541
541
|
output.writeln();
|
|
542
|
-
output.writeln('Usage:
|
|
542
|
+
output.writeln('Usage: claude-flow workflow <subcommand> [options]');
|
|
543
543
|
output.writeln();
|
|
544
544
|
output.writeln('Subcommands:');
|
|
545
545
|
output.printList([
|
|
@@ -551,7 +551,7 @@ export const workflowCommand = {
|
|
|
551
551
|
`${output.highlight('template')} - Manage templates`
|
|
552
552
|
]);
|
|
553
553
|
output.writeln();
|
|
554
|
-
output.writeln('Run "
|
|
554
|
+
output.writeln('Run "claude-flow workflow <subcommand> --help" for more info');
|
|
555
555
|
return { success: true };
|
|
556
556
|
}
|
|
557
557
|
};
|
|
@@ -30,8 +30,8 @@ export function systemConfigToV3Config(systemConfig) {
|
|
|
30
30
|
backend: normalizeMemoryBackend(systemConfig.memory?.type),
|
|
31
31
|
persistPath: systemConfig.memory?.path || './data/memory',
|
|
32
32
|
cacheSize: systemConfig.memory?.maxSize ?? 1000000,
|
|
33
|
-
enableHNSW: systemConfig.memory
|
|
34
|
-
vectorDimension: systemConfig.memory
|
|
33
|
+
enableHNSW: systemConfig.memory?.agentdb?.indexType === 'hnsw',
|
|
34
|
+
vectorDimension: systemConfig.memory?.agentdb?.dimensions ?? 1536,
|
|
35
35
|
},
|
|
36
36
|
// MCP configuration
|
|
37
37
|
mcp: {
|
|
@@ -109,7 +109,7 @@ export function v3ConfigToSystemConfig(v3Config) {
|
|
|
109
109
|
type: denormalizeMemoryBackend(v3Config.memory.backend),
|
|
110
110
|
path: v3Config.memory.persistPath,
|
|
111
111
|
maxSize: v3Config.memory.cacheSize,
|
|
112
|
-
|
|
112
|
+
agentdb: {
|
|
113
113
|
dimensions: v3Config.memory.vectorDimension,
|
|
114
114
|
indexType: v3Config.memory.enableHNSW ? 'hnsw' : 'flat',
|
|
115
115
|
efConstruction: 200,
|
|
@@ -118,7 +118,7 @@ export function v3ConfigToSystemConfig(v3Config) {
|
|
|
118
118
|
},
|
|
119
119
|
},
|
|
120
120
|
mcp: {
|
|
121
|
-
name: '
|
|
121
|
+
name: 'claude-flow',
|
|
122
122
|
version: '3.0.0',
|
|
123
123
|
transport: {
|
|
124
124
|
type: v3Config.mcp.transportType,
|
|
@@ -168,7 +168,7 @@ function normalizeMemoryBackend(backend) {
|
|
|
168
168
|
switch (backend) {
|
|
169
169
|
case 'memory':
|
|
170
170
|
case 'sqlite':
|
|
171
|
-
case '
|
|
171
|
+
case 'agentdb':
|
|
172
172
|
case 'hybrid':
|
|
173
173
|
return backend;
|
|
174
174
|
case 'redis':
|
package/dist/src/index.js
CHANGED
|
@@ -38,7 +38,7 @@ export class CLI {
|
|
|
38
38
|
output;
|
|
39
39
|
interactive;
|
|
40
40
|
constructor(options = {}) {
|
|
41
|
-
this.name = options.name || '
|
|
41
|
+
this.name = options.name || 'ruflo';
|
|
42
42
|
this.description = options.description || 'RuFlo V3 - AI Agent Orchestration Platform';
|
|
43
43
|
this.version = options.version || VERSION;
|
|
44
44
|
this.parser = commandParser;
|
|
@@ -342,7 +342,7 @@ function setupAndBoundary() {
|
|
|
342
342
|
return `## Quick Setup
|
|
343
343
|
|
|
344
344
|
\`\`\`bash
|
|
345
|
-
claude mcp add
|
|
345
|
+
claude mcp add claude-flow -- npx -y @sparkleideas/cli@latest
|
|
346
346
|
npx @sparkleideas/cli@latest daemon start
|
|
347
347
|
npx @sparkleideas/cli@latest doctor --fix
|
|
348
348
|
\`\`\`
|