@claude-flow/cli 3.0.0-alpha.13 → 3.0.0-alpha.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/package.json +12 -4
  2. package/.agentic-flow/intelligence.json +0 -17
  3. package/.claude-flow/agents/store.json +0 -16
  4. package/.claude-flow/daemon-state.json +0 -123
  5. package/.claude-flow/daemon-test.log +0 -0
  6. package/.claude-flow/daemon.log +0 -0
  7. package/.claude-flow/daemon2.log +0 -0
  8. package/.claude-flow/daemon3.log +0 -0
  9. package/.claude-flow/hive-mind/state.json +0 -51
  10. package/.claude-flow/metrics/agent-metrics.json +0 -1
  11. package/.claude-flow/metrics/codebase-map.json +0 -11
  12. package/.claude-flow/metrics/consolidation.json +0 -6
  13. package/.claude-flow/metrics/performance.json +0 -87
  14. package/.claude-flow/metrics/security-audit.json +0 -10
  15. package/.claude-flow/metrics/task-metrics.json +0 -10
  16. package/.claude-flow/metrics/test-gaps.json +0 -6
  17. package/__tests__/README.md +0 -140
  18. package/__tests__/TEST_SUMMARY.md +0 -144
  19. package/__tests__/cli.test.ts +0 -558
  20. package/__tests__/commands.test.ts +0 -726
  21. package/__tests__/config-adapter.test.ts +0 -362
  22. package/__tests__/config-loading.test.ts +0 -106
  23. package/__tests__/coverage/.tmp/coverage-0.json +0 -1
  24. package/__tests__/coverage/.tmp/coverage-1.json +0 -1
  25. package/__tests__/coverage/.tmp/coverage-2.json +0 -1
  26. package/__tests__/coverage/.tmp/coverage-3.json +0 -1
  27. package/__tests__/coverage/.tmp/coverage-4.json +0 -1
  28. package/__tests__/coverage/.tmp/coverage-5.json +0 -1
  29. package/__tests__/mcp-client.test.ts +0 -480
  30. package/__tests__/p1-commands.test.ts +0 -1064
  31. package/agents/architect.yaml +0 -11
  32. package/agents/coder.yaml +0 -11
  33. package/agents/reviewer.yaml +0 -10
  34. package/agents/security-architect.yaml +0 -10
  35. package/agents/tester.yaml +0 -10
  36. package/docs/CONFIG_LOADING.md +0 -236
  37. package/docs/IMPLEMENTATION_COMPLETE.md +0 -421
  38. package/docs/MCP_CLIENT_GUIDE.md +0 -620
  39. package/docs/REFACTORING_SUMMARY.md +0 -247
  40. package/scripts/publish.sh +0 -46
  41. package/src/commands/agent.ts +0 -955
  42. package/src/commands/claims.ts +0 -317
  43. package/src/commands/completions.ts +0 -558
  44. package/src/commands/config.ts +0 -452
  45. package/src/commands/daemon.ts +0 -621
  46. package/src/commands/deployment.ts +0 -323
  47. package/src/commands/doctor.ts +0 -382
  48. package/src/commands/embeddings.ts +0 -686
  49. package/src/commands/hive-mind.ts +0 -928
  50. package/src/commands/hooks.ts +0 -2603
  51. package/src/commands/index.ts +0 -154
  52. package/src/commands/init.ts +0 -597
  53. package/src/commands/mcp.ts +0 -753
  54. package/src/commands/memory.ts +0 -1161
  55. package/src/commands/migrate.ts +0 -447
  56. package/src/commands/neural.ts +0 -253
  57. package/src/commands/performance.ts +0 -292
  58. package/src/commands/plugins.ts +0 -316
  59. package/src/commands/process.ts +0 -695
  60. package/src/commands/providers.ts +0 -259
  61. package/src/commands/security.ts +0 -288
  62. package/src/commands/session.ts +0 -891
  63. package/src/commands/start.ts +0 -457
  64. package/src/commands/status.ts +0 -736
  65. package/src/commands/swarm.ts +0 -648
  66. package/src/commands/task.ts +0 -792
  67. package/src/commands/workflow.ts +0 -742
  68. package/src/config-adapter.ts +0 -210
  69. package/src/index.ts +0 -443
  70. package/src/infrastructure/in-memory-repositories.ts +0 -310
  71. package/src/init/claudemd-generator.ts +0 -631
  72. package/src/init/executor.ts +0 -762
  73. package/src/init/helpers-generator.ts +0 -628
  74. package/src/init/index.ts +0 -60
  75. package/src/init/mcp-generator.ts +0 -83
  76. package/src/init/settings-generator.ts +0 -284
  77. package/src/init/statusline-generator.ts +0 -211
  78. package/src/init/types.ts +0 -447
  79. package/src/mcp-client.ts +0 -241
  80. package/src/mcp-server.ts +0 -577
  81. package/src/mcp-tools/agent-tools.ts +0 -466
  82. package/src/mcp-tools/config-tools.ts +0 -370
  83. package/src/mcp-tools/hive-mind-tools.ts +0 -521
  84. package/src/mcp-tools/hooks-tools.ts +0 -1888
  85. package/src/mcp-tools/index.ts +0 -16
  86. package/src/mcp-tools/memory-tools.ts +0 -270
  87. package/src/mcp-tools/session-tools.ts +0 -359
  88. package/src/mcp-tools/swarm-tools.ts +0 -105
  89. package/src/mcp-tools/task-tools.ts +0 -347
  90. package/src/mcp-tools/types.ts +0 -33
  91. package/src/mcp-tools/workflow-tools.ts +0 -573
  92. package/src/output.ts +0 -639
  93. package/src/parser.ts +0 -417
  94. package/src/prompt.ts +0 -619
  95. package/src/services/index.ts +0 -15
  96. package/src/services/worker-daemon.ts +0 -726
  97. package/src/suggest.ts +0 -245
  98. package/src/types.ts +0 -287
  99. package/tmp.json +0 -0
  100. package/tsconfig.json +0 -16
  101. package/tsconfig.tsbuildinfo +0 -1
  102. package/vitest.config.ts +0 -13
@@ -1,83 +0,0 @@
1
- /**
2
- * MCP Configuration Generator
3
- * Creates .mcp.json for Claude Code MCP server integration
4
- */
5
-
6
- import type { InitOptions, MCPConfig } from './types.js';
7
-
8
- /**
9
- * Generate MCP configuration
10
- */
11
- export function generateMCPConfig(options: InitOptions): object {
12
- const config = options.mcp;
13
- const mcpServers: Record<string, object> = {};
14
-
15
- // Claude Flow MCP server (core)
16
- if (config.claudeFlow) {
17
- mcpServers['claude-flow'] = {
18
- command: 'npx',
19
- args: ['@claude-flow/cli', 'mcp', 'start'],
20
- env: {
21
- CLAUDE_FLOW_MODE: 'v3',
22
- CLAUDE_FLOW_HOOKS_ENABLED: 'true',
23
- CLAUDE_FLOW_TOPOLOGY: options.runtime.topology,
24
- CLAUDE_FLOW_MAX_AGENTS: String(options.runtime.maxAgents),
25
- CLAUDE_FLOW_MEMORY_BACKEND: options.runtime.memoryBackend,
26
- },
27
- autoStart: config.autoStart,
28
- };
29
- }
30
-
31
- // Ruv-Swarm MCP server (enhanced coordination)
32
- if (config.ruvSwarm) {
33
- mcpServers['ruv-swarm'] = {
34
- command: 'npx',
35
- args: ['ruv-swarm', 'mcp', 'start'],
36
- env: {},
37
- optional: true,
38
- };
39
- }
40
-
41
- // Flow Nexus MCP server (cloud features)
42
- if (config.flowNexus) {
43
- mcpServers['flow-nexus'] = {
44
- command: 'npx',
45
- args: ['flow-nexus@latest', 'mcp', 'start'],
46
- env: {},
47
- optional: true,
48
- requiresAuth: true,
49
- };
50
- }
51
-
52
- return { mcpServers };
53
- }
54
-
55
- /**
56
- * Generate .mcp.json as formatted string
57
- */
58
- export function generateMCPJson(options: InitOptions): string {
59
- const config = generateMCPConfig(options);
60
- return JSON.stringify(config, null, 2);
61
- }
62
-
63
- /**
64
- * Generate MCP server add commands for manual setup
65
- */
66
- export function generateMCPCommands(options: InitOptions): string[] {
67
- const commands: string[] = [];
68
- const config = options.mcp;
69
-
70
- if (config.claudeFlow) {
71
- commands.push('claude mcp add claude-flow -- npx @claude-flow/cli mcp start');
72
- }
73
-
74
- if (config.ruvSwarm) {
75
- commands.push('claude mcp add ruv-swarm -- npx ruv-swarm mcp start');
76
- }
77
-
78
- if (config.flowNexus) {
79
- commands.push('claude mcp add flow-nexus -- npx flow-nexus@latest mcp start');
80
- }
81
-
82
- return commands;
83
- }
@@ -1,284 +0,0 @@
1
- /**
2
- * Settings.json Generator
3
- * Creates .claude/settings.json with V3-optimized hook configurations
4
- */
5
-
6
- import type { InitOptions, HooksConfig } from './types.js';
7
-
8
- /**
9
- * Generate the complete settings.json content
10
- */
11
- export function generateSettings(options: InitOptions): object {
12
- const settings: Record<string, unknown> = {};
13
-
14
- // Add hooks if enabled
15
- if (options.components.settings) {
16
- settings.hooks = generateHooksConfig(options.hooks);
17
- }
18
-
19
- // Add permissions
20
- settings.permissions = {
21
- // Auto-allow claude-flow MCP tools
22
- allow: [
23
- 'Bash(npx claude-flow*)',
24
- 'Bash(npx @claude-flow/*)',
25
- 'mcp__claude-flow__*',
26
- ],
27
- // Auto-deny dangerous operations
28
- deny: [],
29
- };
30
-
31
- // Add model preferences for V3
32
- settings.model = {
33
- default: 'claude-sonnet-4-20250514',
34
- // Use Haiku for quick routing decisions
35
- routing: 'claude-haiku',
36
- };
37
-
38
- // Add V3-specific settings
39
- settings.claudeFlow = {
40
- version: '3.0.0',
41
- enabled: true,
42
- swarm: {
43
- topology: options.runtime.topology,
44
- maxAgents: options.runtime.maxAgents,
45
- },
46
- memory: {
47
- backend: options.runtime.memoryBackend,
48
- enableHNSW: options.runtime.enableHNSW,
49
- },
50
- neural: {
51
- enabled: options.runtime.enableNeural,
52
- },
53
- daemon: {
54
- autoStart: true,
55
- workers: ['map', 'audit', 'optimize', 'consolidate', 'testgaps'],
56
- },
57
- };
58
-
59
- return settings;
60
- }
61
-
62
- /**
63
- * Generate hooks configuration
64
- */
65
- function generateHooksConfig(config: HooksConfig): object {
66
- const hooks: Record<string, unknown[]> = {};
67
-
68
- // PreToolUse hooks
69
- if (config.preToolUse) {
70
- hooks.PreToolUse = [
71
- // File edit hooks
72
- {
73
- matcher: '^(Write|Edit|MultiEdit)$',
74
- hooks: [
75
- {
76
- type: 'command',
77
- command: 'npx claude-flow@v3alpha hooks pre-edit --file "$TOOL_INPUT_file_path" --intelligence',
78
- timeout: config.timeout,
79
- continueOnError: config.continueOnError,
80
- },
81
- ],
82
- },
83
- // Bash command hooks
84
- {
85
- matcher: '^Bash$',
86
- hooks: [
87
- {
88
- type: 'command',
89
- command: 'npx claude-flow@v3alpha hooks pre-command --command "$TOOL_INPUT_command"',
90
- timeout: config.timeout,
91
- continueOnError: config.continueOnError,
92
- },
93
- ],
94
- },
95
- // Task/Agent hooks
96
- {
97
- matcher: '^Task$',
98
- hooks: [
99
- {
100
- type: 'command',
101
- command: 'npx claude-flow@v3alpha hooks pre-task --task-id "task-$(date +%s)" --description "$TOOL_INPUT_prompt"',
102
- timeout: config.timeout,
103
- continueOnError: config.continueOnError,
104
- },
105
- ],
106
- },
107
- // Search hooks
108
- {
109
- matcher: '^(Grep|Glob|Read)$',
110
- hooks: [
111
- {
112
- type: 'command',
113
- command: 'npx claude-flow@v3alpha hooks pre-search --pattern "$TOOL_INPUT_pattern"',
114
- timeout: 2000,
115
- continueOnError: true,
116
- },
117
- ],
118
- },
119
- ];
120
- }
121
-
122
- // PostToolUse hooks
123
- if (config.postToolUse) {
124
- hooks.PostToolUse = [
125
- // File edit hooks with learning
126
- {
127
- matcher: '^(Write|Edit|MultiEdit)$',
128
- hooks: [
129
- {
130
- type: 'command',
131
- command: 'npx claude-flow@v3alpha hooks post-edit --file "$TOOL_INPUT_file_path" --success "$TOOL_SUCCESS" --train-patterns',
132
- timeout: config.timeout,
133
- continueOnError: config.continueOnError,
134
- },
135
- ],
136
- },
137
- // Bash command hooks with metrics
138
- {
139
- matcher: '^Bash$',
140
- hooks: [
141
- {
142
- type: 'command',
143
- command: 'npx claude-flow@v3alpha hooks post-command --command "$TOOL_INPUT_command" --success "$TOOL_SUCCESS" --exit-code "$TOOL_EXIT_CODE"',
144
- timeout: config.timeout,
145
- continueOnError: config.continueOnError,
146
- },
147
- ],
148
- },
149
- // Task completion hooks
150
- {
151
- matcher: '^Task$',
152
- hooks: [
153
- {
154
- type: 'command',
155
- command: 'npx claude-flow@v3alpha hooks post-task --agent-id "$TOOL_RESULT_agent_id" --success "$TOOL_SUCCESS" --analyze',
156
- timeout: config.timeout,
157
- continueOnError: config.continueOnError,
158
- },
159
- ],
160
- },
161
- // Search caching
162
- {
163
- matcher: '^(Grep|Glob)$',
164
- hooks: [
165
- {
166
- type: 'command',
167
- command: 'npx claude-flow@v3alpha hooks post-search --cache-results',
168
- timeout: 2000,
169
- continueOnError: true,
170
- },
171
- ],
172
- },
173
- ];
174
- }
175
-
176
- // UserPromptSubmit for intelligent routing
177
- if (config.userPromptSubmit) {
178
- hooks.UserPromptSubmit = [
179
- {
180
- hooks: [
181
- {
182
- type: 'command',
183
- command: 'npx claude-flow@v3alpha hooks route --task "$PROMPT" --intelligence --include-explanation',
184
- timeout: config.timeout,
185
- continueOnError: config.continueOnError,
186
- },
187
- ],
188
- },
189
- ];
190
- }
191
-
192
- // SessionStart for context loading and daemon auto-start
193
- if (config.sessionStart) {
194
- hooks.SessionStart = [
195
- {
196
- hooks: [
197
- {
198
- type: 'command',
199
- command: 'npx claude-flow@v3alpha daemon start --quiet 2>/dev/null || true',
200
- timeout: 5000,
201
- continueOnError: true,
202
- },
203
- {
204
- type: 'command',
205
- command: 'npx claude-flow@v3alpha hooks session-start --session-id "$SESSION_ID" --load-context',
206
- timeout: 10000,
207
- continueOnError: true,
208
- },
209
- ],
210
- },
211
- ];
212
- }
213
-
214
- // Stop hooks for task evaluation
215
- if (config.stop) {
216
- hooks.Stop = [
217
- {
218
- hooks: [
219
- {
220
- type: 'prompt',
221
- prompt: `Evaluate task completion. Consider:
222
- 1. Were all requested changes made?
223
- 2. Did builds/tests pass?
224
- 3. Is follow-up work needed?
225
-
226
- Respond with {"decision": "stop"} if complete, or {"decision": "continue", "reason": "..."} if more work is needed.`,
227
- },
228
- ],
229
- },
230
- ];
231
- }
232
-
233
- // Notification hooks
234
- if (config.notification) {
235
- hooks.Notification = [
236
- {
237
- hooks: [
238
- {
239
- type: 'command',
240
- command: 'npx claude-flow@v3alpha hooks notify --message "$NOTIFICATION_MESSAGE" --swarm-status',
241
- timeout: 3000,
242
- continueOnError: true,
243
- },
244
- ],
245
- },
246
- ];
247
- }
248
-
249
- // PermissionRequest for auto-allowing claude-flow tools
250
- if (config.permissionRequest) {
251
- hooks.PermissionRequest = [
252
- {
253
- matcher: '^mcp__claude-flow__.*$',
254
- hooks: [
255
- {
256
- type: 'command',
257
- command: 'echo \'{"decision": "allow", "reason": "claude-flow MCP tool auto-approved"}\'',
258
- timeout: 1000,
259
- },
260
- ],
261
- },
262
- {
263
- matcher: '^Bash\\(npx @?claude-flow.*\\)$',
264
- hooks: [
265
- {
266
- type: 'command',
267
- command: 'echo \'{"decision": "allow", "reason": "claude-flow CLI auto-approved"}\'',
268
- timeout: 1000,
269
- },
270
- ],
271
- },
272
- ];
273
- }
274
-
275
- return hooks;
276
- }
277
-
278
- /**
279
- * Generate settings.json as formatted string
280
- */
281
- export function generateSettingsJson(options: InitOptions): string {
282
- const settings = generateSettings(options);
283
- return JSON.stringify(settings, null, 2);
284
- }
@@ -1,211 +0,0 @@
1
- /**
2
- * Statusline Configuration Generator
3
- * Creates statusline configuration for V3 progress display
4
- */
5
-
6
- import type { InitOptions, StatuslineConfig } from './types.js';
7
-
8
- /**
9
- * Generate statusline configuration script
10
- */
11
- export function generateStatuslineScript(options: InitOptions): string {
12
- const config = options.statusline;
13
-
14
- return `#!/usr/bin/env node
15
- /**
16
- * Claude Flow V3 Statusline Generator
17
- * Displays real-time V3 implementation progress and system status
18
- *
19
- * Usage: node statusline.js [--json]
20
- */
21
-
22
- const fs = require('fs');
23
- const path = require('path');
24
-
25
- // Configuration
26
- const CONFIG = {
27
- enabled: ${config.enabled},
28
- showProgress: ${config.showProgress},
29
- showSecurity: ${config.showSecurity},
30
- showSwarm: ${config.showSwarm},
31
- showHooks: ${config.showHooks},
32
- showPerformance: ${config.showPerformance},
33
- refreshInterval: ${config.refreshInterval},
34
- };
35
-
36
- // ANSI colors
37
- const colors = {
38
- reset: '\\x1b[0m',
39
- bright: '\\x1b[1m',
40
- dim: '\\x1b[2m',
41
- green: '\\x1b[32m',
42
- yellow: '\\x1b[33m',
43
- blue: '\\x1b[34m',
44
- magenta: '\\x1b[35m',
45
- cyan: '\\x1b[36m',
46
- red: '\\x1b[31m',
47
- };
48
-
49
- // Get V3 progress from filesystem
50
- function getV3Progress() {
51
- const v3Path = path.join(process.cwd(), 'v3', '@claude-flow');
52
- let modulesCount = 0;
53
- let filesCount = 0;
54
-
55
- try {
56
- if (fs.existsSync(v3Path)) {
57
- const modules = fs.readdirSync(v3Path);
58
- modulesCount = modules.filter(m => fs.statSync(path.join(v3Path, m)).isDirectory()).length;
59
-
60
- // Count TypeScript files
61
- const countFiles = (dir) => {
62
- let count = 0;
63
- const items = fs.readdirSync(dir, { withFileTypes: true });
64
- for (const item of items) {
65
- if (item.isDirectory() && item.name !== 'node_modules' && item.name !== 'dist') {
66
- count += countFiles(path.join(dir, item.name));
67
- } else if (item.isFile() && item.name.endsWith('.ts')) {
68
- count++;
69
- }
70
- }
71
- return count;
72
- };
73
- filesCount = countFiles(v3Path);
74
- }
75
- } catch (e) {
76
- // Ignore errors
77
- }
78
-
79
- return { modulesCount, filesCount };
80
- }
81
-
82
- // Get security status
83
- function getSecurityStatus() {
84
- // Check for security-related files
85
- const securityPath = path.join(process.cwd(), 'v3', '@claude-flow', 'security');
86
- const exists = fs.existsSync(securityPath);
87
-
88
- return {
89
- status: exists ? 'IN_PROGRESS' : 'PENDING',
90
- cvesFixed: exists ? 2 : 0,
91
- totalCves: 3,
92
- };
93
- }
94
-
95
- // Get swarm status
96
- function getSwarmStatus() {
97
- const configPath = path.join(process.cwd(), '.claude-flow', 'config.yaml');
98
-
99
- return {
100
- activeAgents: 0,
101
- maxAgents: ${options.runtime.maxAgents},
102
- topology: '${options.runtime.topology}',
103
- coordinationActive: false,
104
- };
105
- }
106
-
107
- // Get hooks metrics
108
- function getHooksMetrics() {
109
- const metricsPath = path.join(process.cwd(), '.claude-flow', 'data', 'hooks-metrics.json');
110
-
111
- try {
112
- if (fs.existsSync(metricsPath)) {
113
- return JSON.parse(fs.readFileSync(metricsPath, 'utf-8'));
114
- }
115
- } catch (e) {
116
- // Ignore errors
117
- }
118
-
119
- return {
120
- status: 'ACTIVE',
121
- patternsLearned: 0,
122
- routingAccuracy: 0,
123
- totalOperations: 0,
124
- };
125
- }
126
-
127
- // Generate statusline
128
- function generateStatusline() {
129
- const segments = [];
130
-
131
- if (CONFIG.showProgress) {
132
- const progress = getV3Progress();
133
- segments.push(\`\${colors.cyan}V3\${colors.reset} \${progress.modulesCount}mod/\${progress.filesCount}files\`);
134
- }
135
-
136
- if (CONFIG.showSecurity) {
137
- const security = getSecurityStatus();
138
- const statusColor = security.status === 'CLEAN' ? colors.green :
139
- security.status === 'IN_PROGRESS' ? colors.yellow : colors.red;
140
- segments.push(\`\${colors.magenta}SEC\${colors.reset} \${statusColor}\${security.cvesFixed}/\${security.totalCves}\${colors.reset}\`);
141
- }
142
-
143
- if (CONFIG.showSwarm) {
144
- const swarm = getSwarmStatus();
145
- segments.push(\`\${colors.blue}SWARM\${colors.reset} \${swarm.activeAgents}/\${swarm.maxAgents}\`);
146
- }
147
-
148
- if (CONFIG.showHooks) {
149
- const hooks = getHooksMetrics();
150
- segments.push(\`\${colors.green}HOOKS\${colors.reset} \${hooks.patternsLearned}pat\`);
151
- }
152
-
153
- if (CONFIG.showPerformance) {
154
- segments.push(\`\${colors.yellow}PERF\${colors.reset} 2.49x-7.47x\`);
155
- }
156
-
157
- return segments.join(' | ');
158
- }
159
-
160
- // Output JSON if requested
161
- if (process.argv.includes('--json')) {
162
- const data = {
163
- v3Progress: getV3Progress(),
164
- security: getSecurityStatus(),
165
- swarm: getSwarmStatus(),
166
- hooks: getHooksMetrics(),
167
- performance: {
168
- flashAttentionTarget: '2.49x-7.47x',
169
- searchImprovement: '150x-12500x',
170
- memoryReduction: '50-75%',
171
- },
172
- lastUpdated: new Date().toISOString(),
173
- };
174
- console.log(JSON.stringify(data, null, 2));
175
- } else {
176
- console.log(generateStatusline());
177
- }
178
- `;
179
- }
180
-
181
- /**
182
- * Generate statusline hook for shell integration
183
- */
184
- export function generateStatuslineHook(options: InitOptions): string {
185
- if (!options.statusline.enabled) {
186
- return '# Statusline disabled';
187
- }
188
-
189
- return `# Claude Flow V3 Statusline Hook
190
- # Add to your shell RC file (.bashrc, .zshrc, etc.)
191
-
192
- # Function to get statusline
193
- claude_flow_statusline() {
194
- local statusline_script="\${CLAUDE_FLOW_DIR:-.claude}/helpers/statusline.js"
195
- if [ -f "$statusline_script" ]; then
196
- node "$statusline_script" 2>/dev/null || echo ""
197
- fi
198
- }
199
-
200
- # For bash PS1
201
- # export PS1='$(claude_flow_statusline) \\n\\$ '
202
-
203
- # For zsh RPROMPT
204
- # export RPROMPT='$(claude_flow_statusline)'
205
-
206
- # For starship (add to starship.toml)
207
- # [custom.claude_flow]
208
- # command = "node .claude/helpers/statusline.js 2>/dev/null"
209
- # when = "test -f .claude/helpers/statusline.js"
210
- `;
211
- }