@sparkleideas/cli 3.1.0-alpha.21 → 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 +14 -14
- package/dist/src/commands/categories.js +1 -1
- package/dist/src/commands/claims.js +16 -16
- package/dist/src/commands/completions.js +37 -37
- package/dist/src/commands/config.js +9 -9
- package/dist/src/commands/daemon.js +21 -21
- package/dist/src/commands/deployment.js +15 -15
- package/dist/src/commands/doctor.js +26 -26
- package/dist/src/commands/embeddings.js +48 -48
- package/dist/src/commands/guidance.js +22 -22
- package/dist/src/commands/hive-mind.js +21 -21
- package/dist/src/commands/hooks.js +105 -105
- package/dist/src/commands/init.js +32 -32
- 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 +6 -6
- package/dist/src/commands/neural.js +31 -31
- package/dist/src/commands/performance.js +13 -13
- package/dist/src/commands/plugins.js +26 -26
- package/dist/src/commands/process.js +32 -32
- package/dist/src/commands/progress.js +5 -5
- 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 +13 -13
- package/dist/src/commands/status.js +9 -9
- 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 +3 -3
- package/dist/src/index.js +1 -1
- package/dist/src/init/claudemd-generator.js +1 -1
- package/dist/src/init/executor.js +6 -6
- package/dist/src/init/helpers-generator.js +4 -4
- 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 +12 -12
- package/dist/src/init/types.d.ts +4 -4
- package/dist/src/init/types.js +3 -3
- package/dist/src/mcp-server.js +2 -2
- package/dist/src/mcp-tools/auto-install.js +5 -5
- package/dist/src/mcp-tools/hooks-tools.js +1 -1
- package/dist/src/mcp-tools/neural-tools.js +6 -6
- package/dist/src/mcp-tools/security-tools.js +2 -2
- package/dist/src/memory/memory-bridge.d.ts +4 -4
- package/dist/src/memory/memory-bridge.js +15 -15
- package/dist/src/memory/memory-initializer.js +10 -10
- package/dist/src/plugins/manager.js +8 -8
- 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/container-worker-pool.js +2 -2
- 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/types.d.ts +1 -1
- package/dist/src/update/validator.js +1 -1
- package/package.json +1 -1
|
@@ -144,10 +144,10 @@ export const benchmarkCommand = {
|
|
|
144
144
|
},
|
|
145
145
|
],
|
|
146
146
|
examples: [
|
|
147
|
-
{ command: '
|
|
148
|
-
{ command: '
|
|
149
|
-
{ command: '
|
|
150
|
-
{ command: '
|
|
147
|
+
{ command: 'claude-flow ruvector benchmark', description: 'Run default benchmark' },
|
|
148
|
+
{ command: 'claude-flow ruvector benchmark --vectors 50000', description: 'Benchmark with 50k vectors' },
|
|
149
|
+
{ command: 'claude-flow ruvector benchmark --index ivfflat', description: 'Test IVFFlat index' },
|
|
150
|
+
{ command: 'claude-flow ruvector benchmark --dimensions 768 --metric l2', description: 'Custom dimensions and metric' },
|
|
151
151
|
],
|
|
152
152
|
action: async (ctx) => {
|
|
153
153
|
const config = getConnectionConfig(ctx);
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Import data from sql.js/JSON memory to RuVector PostgreSQL
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* npx
|
|
7
|
-
* npx
|
|
8
|
-
* npx
|
|
6
|
+
* npx claude-flow ruvector import --input memory-export.json
|
|
7
|
+
* npx claude-flow ruvector import --from-memory
|
|
8
|
+
* npx claude-flow ruvector import --input data.json --batch-size 100
|
|
9
9
|
*
|
|
10
10
|
* Created with care by ruv.io
|
|
11
11
|
*/
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Import data from sql.js/JSON memory to RuVector PostgreSQL
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* npx
|
|
7
|
-
* npx
|
|
8
|
-
* npx
|
|
6
|
+
* npx claude-flow ruvector import --input memory-export.json
|
|
7
|
+
* npx claude-flow ruvector import --from-memory
|
|
8
|
+
* npx claude-flow ruvector import --input data.json --batch-size 100
|
|
9
9
|
*
|
|
10
10
|
* Created with care by ruv.io
|
|
11
11
|
*/
|
|
@@ -144,10 +144,10 @@ export const importCommand = {
|
|
|
144
144
|
},
|
|
145
145
|
],
|
|
146
146
|
examples: [
|
|
147
|
-
{ command: '
|
|
148
|
-
{ command: '
|
|
149
|
-
{ command: '
|
|
150
|
-
{ command: '
|
|
147
|
+
{ command: 'claude-flow ruvector import --input memory-export.json', description: 'Import from JSON file' },
|
|
148
|
+
{ command: 'claude-flow ruvector import --input data.json --output import.sql', description: 'Generate SQL file (dry-run)' },
|
|
149
|
+
{ command: 'claude-flow ruvector import --from-memory', description: 'Export current memory and import' },
|
|
150
|
+
{ command: 'claude-flow ruvector import --input data.json --container my-postgres', description: 'Import using custom container' },
|
|
151
151
|
],
|
|
152
152
|
action: async (ctx) => {
|
|
153
153
|
const inputFile = ctx.flags.input;
|
|
@@ -165,8 +165,8 @@ export const importCommand = {
|
|
|
165
165
|
output.printError('Either --input <file> or --from-memory is required');
|
|
166
166
|
output.writeln();
|
|
167
167
|
output.printInfo('Examples:');
|
|
168
|
-
output.writeln('
|
|
169
|
-
output.writeln('
|
|
168
|
+
output.writeln(' claude-flow ruvector import --input memory-export.json');
|
|
169
|
+
output.writeln(' claude-flow ruvector import --from-memory');
|
|
170
170
|
return { success: false, message: 'Missing input source' };
|
|
171
171
|
}
|
|
172
172
|
let entries = [];
|
|
@@ -208,8 +208,8 @@ export const importCommand = {
|
|
|
208
208
|
// Export from current memory
|
|
209
209
|
if (fromMemory) {
|
|
210
210
|
output.printInfo('Exporting from current Claude-Flow memory...');
|
|
211
|
-
output.printWarning('Note: Run "npx
|
|
212
|
-
output.printInfo('Then use: npx
|
|
211
|
+
output.printWarning('Note: Run "npx claude-flow memory list --format json > memory-export.json" first');
|
|
212
|
+
output.printInfo('Then use: npx claude-flow ruvector import --input memory-export.json');
|
|
213
213
|
return { success: false, message: 'Use explicit JSON export first' };
|
|
214
214
|
}
|
|
215
215
|
if (entries.length === 0) {
|
|
@@ -75,14 +75,14 @@ export const ruvectorCommand = {
|
|
|
75
75
|
},
|
|
76
76
|
],
|
|
77
77
|
examples: [
|
|
78
|
-
{ command: '
|
|
79
|
-
{ command: '
|
|
80
|
-
{ command: '
|
|
81
|
-
{ command: '
|
|
82
|
-
{ command: '
|
|
83
|
-
{ command: '
|
|
84
|
-
{ command: '
|
|
85
|
-
{ command: '
|
|
78
|
+
{ command: 'claude-flow ruvector setup', description: 'Output Docker files and SQL for setup' },
|
|
79
|
+
{ command: 'claude-flow ruvector import --input memory.json', description: 'Import from sql.js/JSON export' },
|
|
80
|
+
{ command: 'claude-flow ruvector init --database mydb', description: 'Initialize RuVector in PostgreSQL' },
|
|
81
|
+
{ command: 'claude-flow ruvector status --verbose', description: 'Check connection and schema status' },
|
|
82
|
+
{ command: 'claude-flow ruvector migrate --up', description: 'Run pending migrations' },
|
|
83
|
+
{ command: 'claude-flow ruvector benchmark --vectors 10000', description: 'Run performance benchmark' },
|
|
84
|
+
{ command: 'claude-flow ruvector optimize --analyze', description: 'Analyze and suggest optimizations' },
|
|
85
|
+
{ command: 'claude-flow ruvector backup --output backup.sql', description: 'Backup RuVector data' },
|
|
86
86
|
],
|
|
87
87
|
action: async (ctx) => {
|
|
88
88
|
// Default action: show help/status overview
|
|
@@ -111,7 +111,7 @@ export const ruvectorCommand = {
|
|
|
111
111
|
' backup Backup and restore data',
|
|
112
112
|
].join('\n'), 'RuVector PostgreSQL Bridge');
|
|
113
113
|
output.writeln();
|
|
114
|
-
output.printInfo('Run
|
|
114
|
+
output.printInfo('Run `claude-flow ruvector <command> --help` for details');
|
|
115
115
|
output.writeln();
|
|
116
116
|
return { success: true };
|
|
117
117
|
},
|
|
@@ -93,10 +93,10 @@ export const initCommand = {
|
|
|
93
93
|
},
|
|
94
94
|
],
|
|
95
95
|
examples: [
|
|
96
|
-
{ command: '
|
|
97
|
-
{ command: '
|
|
98
|
-
{ command: '
|
|
99
|
-
{ command: '
|
|
96
|
+
{ command: 'claude-flow ruvector init -d mydb', description: 'Initialize with database name' },
|
|
97
|
+
{ command: 'claude-flow ruvector init -d mydb -h db.example.com --ssl', description: 'Remote with SSL' },
|
|
98
|
+
{ command: 'claude-flow ruvector init -d mydb --force', description: 'Force re-initialization' },
|
|
99
|
+
{ command: 'claude-flow ruvector init -d mydb --dimensions 768', description: 'Custom vector dimensions' },
|
|
100
100
|
],
|
|
101
101
|
action: async (ctx) => {
|
|
102
102
|
let config = getConnectionConfig(ctx);
|
|
@@ -406,9 +406,9 @@ export const initCommand = {
|
|
|
406
406
|
' - GNN edge indexes',
|
|
407
407
|
'',
|
|
408
408
|
'Next steps:',
|
|
409
|
-
' 1. Run migrations:
|
|
410
|
-
' 2. Check status:
|
|
411
|
-
' 3. Run benchmark:
|
|
409
|
+
' 1. Run migrations: claude-flow ruvector migrate --up',
|
|
410
|
+
' 2. Check status: claude-flow ruvector status --verbose',
|
|
411
|
+
' 3. Run benchmark: claude-flow ruvector benchmark',
|
|
412
412
|
].join('\n'), 'Initialization Complete');
|
|
413
413
|
return {
|
|
414
414
|
success: true,
|
|
@@ -238,10 +238,10 @@ export const migrateCommand = {
|
|
|
238
238
|
},
|
|
239
239
|
],
|
|
240
240
|
examples: [
|
|
241
|
-
{ command: '
|
|
242
|
-
{ command: '
|
|
243
|
-
{ command: '
|
|
244
|
-
{ command: '
|
|
241
|
+
{ command: 'claude-flow ruvector migrate --up', description: 'Run pending migrations' },
|
|
242
|
+
{ command: 'claude-flow ruvector migrate --down', description: 'Rollback last migration' },
|
|
243
|
+
{ command: 'claude-flow ruvector migrate --to 1.2.0', description: 'Migrate to version 1.2.0' },
|
|
244
|
+
{ command: 'claude-flow ruvector migrate --dry-run', description: 'Preview migration SQL' },
|
|
245
245
|
],
|
|
246
246
|
action: async (ctx) => {
|
|
247
247
|
const config = getConnectionConfig(ctx);
|
|
@@ -292,7 +292,7 @@ export const migrateCommand = {
|
|
|
292
292
|
`, [config.schema]);
|
|
293
293
|
if (schemaExists.rows.length === 0) {
|
|
294
294
|
spinner.fail(`Schema "${config.schema}" not found`);
|
|
295
|
-
output.printError('Run
|
|
295
|
+
output.printError('Run `claude-flow ruvector init` first');
|
|
296
296
|
await client.end();
|
|
297
297
|
return { success: false, exitCode: 1 };
|
|
298
298
|
}
|
|
@@ -101,10 +101,10 @@ export const optimizeCommand = {
|
|
|
101
101
|
},
|
|
102
102
|
],
|
|
103
103
|
examples: [
|
|
104
|
-
{ command: '
|
|
105
|
-
{ command: '
|
|
106
|
-
{ command: '
|
|
107
|
-
{ command: '
|
|
104
|
+
{ command: 'claude-flow ruvector optimize --analyze', description: 'Analyze and show recommendations' },
|
|
105
|
+
{ command: 'claude-flow ruvector optimize --apply', description: 'Apply optimizations' },
|
|
106
|
+
{ command: 'claude-flow ruvector optimize --vacuum', description: 'Run VACUUM ANALYZE' },
|
|
107
|
+
{ command: 'claude-flow ruvector optimize --reindex', description: 'Rebuild all indexes' },
|
|
108
108
|
],
|
|
109
109
|
action: async (ctx) => {
|
|
110
110
|
const config = getConnectionConfig(ctx);
|
|
@@ -475,9 +475,9 @@ export const optimizeCommand = {
|
|
|
475
475
|
` Low: ${low.length}`,
|
|
476
476
|
'',
|
|
477
477
|
'Quick commands:',
|
|
478
|
-
`
|
|
479
|
-
`
|
|
480
|
-
`
|
|
478
|
+
` claude-flow ruvector optimize --vacuum # Clean up tables`,
|
|
479
|
+
` claude-flow ruvector optimize --reindex # Rebuild indexes`,
|
|
480
|
+
` claude-flow ruvector optimize --apply # Apply critical fixes`,
|
|
481
481
|
].join('\n'), 'Optimization Summary');
|
|
482
482
|
return {
|
|
483
483
|
success: true,
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Outputs Docker files and SQL for easy RuVector PostgreSQL setup
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* npx
|
|
7
|
-
* npx
|
|
8
|
-
* npx
|
|
6
|
+
* npx claude-flow ruvector setup # Output to ./ruvector-postgres/
|
|
7
|
+
* npx claude-flow ruvector setup --output /path/to/dir
|
|
8
|
+
* npx claude-flow ruvector setup --print # Print to stdout only
|
|
9
9
|
*
|
|
10
10
|
* Created with care by ruv.io
|
|
11
11
|
*/
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Outputs Docker files and SQL for easy RuVector PostgreSQL setup
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* npx
|
|
7
|
-
* npx
|
|
8
|
-
* npx
|
|
6
|
+
* npx claude-flow ruvector setup # Output to ./ruvector-postgres/
|
|
7
|
+
* npx claude-flow ruvector setup --output /path/to/dir
|
|
8
|
+
* npx claude-flow ruvector setup --print # Print to stdout only
|
|
9
9
|
*
|
|
10
10
|
* Created with care by ruv.io
|
|
11
11
|
*/
|
|
@@ -616,10 +616,10 @@ WITH (m = 16, ef_construction = 100);
|
|
|
616
616
|
|
|
617
617
|
\`\`\`bash
|
|
618
618
|
# Export current Claude-Flow memory
|
|
619
|
-
npx
|
|
619
|
+
npx claude-flow memory list --format json > memory-export.json
|
|
620
620
|
|
|
621
621
|
# Import to RuVector PostgreSQL
|
|
622
|
-
npx
|
|
622
|
+
npx claude-flow ruvector import --input memory-export.json
|
|
623
623
|
\`\`\`
|
|
624
624
|
|
|
625
625
|
## pgAdmin (Optional)
|
|
@@ -679,10 +679,10 @@ export const setupCommand = {
|
|
|
679
679
|
},
|
|
680
680
|
],
|
|
681
681
|
examples: [
|
|
682
|
-
{ command: '
|
|
683
|
-
{ command: '
|
|
684
|
-
{ command: '
|
|
685
|
-
{ command: '
|
|
682
|
+
{ command: 'claude-flow ruvector setup', description: 'Output files to ./ruvector-postgres/' },
|
|
683
|
+
{ command: 'claude-flow ruvector setup --output /path/to/dir', description: 'Output to custom directory' },
|
|
684
|
+
{ command: 'claude-flow ruvector setup --print', description: 'Print files to stdout' },
|
|
685
|
+
{ command: 'claude-flow ruvector setup --force', description: 'Overwrite existing files' },
|
|
686
686
|
],
|
|
687
687
|
action: async (ctx) => {
|
|
688
688
|
const outputDir = ctx.flags.output || './ruvector-postgres';
|
|
@@ -94,9 +94,9 @@ export const statusCommand = {
|
|
|
94
94
|
},
|
|
95
95
|
],
|
|
96
96
|
examples: [
|
|
97
|
-
{ command: '
|
|
98
|
-
{ command: '
|
|
99
|
-
{ command: '
|
|
97
|
+
{ command: 'claude-flow ruvector status', description: 'Check basic status' },
|
|
98
|
+
{ command: 'claude-flow ruvector status --verbose', description: 'Show detailed info' },
|
|
99
|
+
{ command: 'claude-flow ruvector status --json', description: 'Output as JSON' },
|
|
100
100
|
],
|
|
101
101
|
action: async (ctx) => {
|
|
102
102
|
const config = getConnectionConfig(ctx);
|
|
@@ -204,7 +204,7 @@ export const statusCommand = {
|
|
|
204
204
|
statusData.ruvector = { initialized: false };
|
|
205
205
|
if (!jsonOutput) {
|
|
206
206
|
spinner.succeed(output.warning(`Schema "${config.schema}" not found`));
|
|
207
|
-
output.printInfo('Run
|
|
207
|
+
output.printInfo('Run `claude-flow ruvector init` to initialize');
|
|
208
208
|
}
|
|
209
209
|
if (jsonOutput) {
|
|
210
210
|
output.printJson(statusData);
|
|
@@ -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
|
};
|
|
@@ -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,15 +165,15 @@ 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
178
|
const daemonPidPath = path.join(cwd, '.claude-flow', 'daemon.pid');
|
|
179
179
|
fs.writeFileSync(daemonPidPath, String(process.pid));
|
|
@@ -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
|
};
|
|
@@ -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
|
};
|