@claude-flow/cli 3.0.0-alpha.1

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 (229) hide show
  1. package/.agentic-flow/intelligence.json +16 -0
  2. package/.claude-flow/metrics/agent-metrics.json +1 -0
  3. package/.claude-flow/metrics/performance.json +87 -0
  4. package/.claude-flow/metrics/task-metrics.json +10 -0
  5. package/README.md +1186 -0
  6. package/__tests__/README.md +140 -0
  7. package/__tests__/TEST_SUMMARY.md +144 -0
  8. package/__tests__/cli.test.ts +558 -0
  9. package/__tests__/commands.test.ts +726 -0
  10. package/__tests__/config-adapter.test.ts +362 -0
  11. package/__tests__/config-loading.test.ts +106 -0
  12. package/__tests__/coverage/.tmp/coverage-0.json +1 -0
  13. package/__tests__/coverage/.tmp/coverage-1.json +1 -0
  14. package/__tests__/coverage/.tmp/coverage-2.json +1 -0
  15. package/__tests__/coverage/.tmp/coverage-3.json +1 -0
  16. package/__tests__/coverage/.tmp/coverage-4.json +1 -0
  17. package/__tests__/coverage/.tmp/coverage-5.json +1 -0
  18. package/__tests__/mcp-client.test.ts +480 -0
  19. package/__tests__/p1-commands.test.ts +1064 -0
  20. package/bin/cli.js +14 -0
  21. package/dist/src/commands/agent.d.ts +8 -0
  22. package/dist/src/commands/agent.d.ts.map +1 -0
  23. package/dist/src/commands/agent.js +803 -0
  24. package/dist/src/commands/agent.js.map +1 -0
  25. package/dist/src/commands/config.d.ts +8 -0
  26. package/dist/src/commands/config.d.ts.map +1 -0
  27. package/dist/src/commands/config.js +406 -0
  28. package/dist/src/commands/config.js.map +1 -0
  29. package/dist/src/commands/hive-mind.d.ts +8 -0
  30. package/dist/src/commands/hive-mind.d.ts.map +1 -0
  31. package/dist/src/commands/hive-mind.js +627 -0
  32. package/dist/src/commands/hive-mind.js.map +1 -0
  33. package/dist/src/commands/hooks.d.ts +8 -0
  34. package/dist/src/commands/hooks.d.ts.map +1 -0
  35. package/dist/src/commands/hooks.js +2098 -0
  36. package/dist/src/commands/hooks.js.map +1 -0
  37. package/dist/src/commands/index.d.ts +51 -0
  38. package/dist/src/commands/index.d.ts.map +1 -0
  39. package/dist/src/commands/index.js +105 -0
  40. package/dist/src/commands/index.js.map +1 -0
  41. package/dist/src/commands/init.d.ts +8 -0
  42. package/dist/src/commands/init.d.ts.map +1 -0
  43. package/dist/src/commands/init.js +532 -0
  44. package/dist/src/commands/init.js.map +1 -0
  45. package/dist/src/commands/mcp.d.ts +11 -0
  46. package/dist/src/commands/mcp.d.ts.map +1 -0
  47. package/dist/src/commands/mcp.js +662 -0
  48. package/dist/src/commands/mcp.js.map +1 -0
  49. package/dist/src/commands/memory.d.ts +8 -0
  50. package/dist/src/commands/memory.d.ts.map +1 -0
  51. package/dist/src/commands/memory.js +911 -0
  52. package/dist/src/commands/memory.js.map +1 -0
  53. package/dist/src/commands/migrate.d.ts +8 -0
  54. package/dist/src/commands/migrate.d.ts.map +1 -0
  55. package/dist/src/commands/migrate.js +398 -0
  56. package/dist/src/commands/migrate.js.map +1 -0
  57. package/dist/src/commands/process.d.ts +10 -0
  58. package/dist/src/commands/process.d.ts.map +1 -0
  59. package/dist/src/commands/process.js +566 -0
  60. package/dist/src/commands/process.js.map +1 -0
  61. package/dist/src/commands/session.d.ts +8 -0
  62. package/dist/src/commands/session.d.ts.map +1 -0
  63. package/dist/src/commands/session.js +750 -0
  64. package/dist/src/commands/session.js.map +1 -0
  65. package/dist/src/commands/start.d.ts +8 -0
  66. package/dist/src/commands/start.d.ts.map +1 -0
  67. package/dist/src/commands/start.js +398 -0
  68. package/dist/src/commands/start.js.map +1 -0
  69. package/dist/src/commands/status.d.ts +8 -0
  70. package/dist/src/commands/status.d.ts.map +1 -0
  71. package/dist/src/commands/status.js +560 -0
  72. package/dist/src/commands/status.js.map +1 -0
  73. package/dist/src/commands/swarm.d.ts +8 -0
  74. package/dist/src/commands/swarm.d.ts.map +1 -0
  75. package/dist/src/commands/swarm.js +573 -0
  76. package/dist/src/commands/swarm.js.map +1 -0
  77. package/dist/src/commands/task.d.ts +8 -0
  78. package/dist/src/commands/task.d.ts.map +1 -0
  79. package/dist/src/commands/task.js +671 -0
  80. package/dist/src/commands/task.js.map +1 -0
  81. package/dist/src/commands/workflow.d.ts +8 -0
  82. package/dist/src/commands/workflow.d.ts.map +1 -0
  83. package/dist/src/commands/workflow.js +617 -0
  84. package/dist/src/commands/workflow.js.map +1 -0
  85. package/dist/src/config-adapter.d.ts +15 -0
  86. package/dist/src/config-adapter.d.ts.map +1 -0
  87. package/dist/src/config-adapter.js +185 -0
  88. package/dist/src/config-adapter.js.map +1 -0
  89. package/dist/src/index.d.ts +55 -0
  90. package/dist/src/index.d.ts.map +1 -0
  91. package/dist/src/index.js +312 -0
  92. package/dist/src/index.js.map +1 -0
  93. package/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
  94. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +1 -0
  95. package/dist/src/infrastructure/in-memory-repositories.js +264 -0
  96. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -0
  97. package/dist/src/init/claudemd-generator.d.ts +15 -0
  98. package/dist/src/init/claudemd-generator.d.ts.map +1 -0
  99. package/dist/src/init/claudemd-generator.js +626 -0
  100. package/dist/src/init/claudemd-generator.js.map +1 -0
  101. package/dist/src/init/executor.d.ts +11 -0
  102. package/dist/src/init/executor.d.ts.map +1 -0
  103. package/dist/src/init/executor.js +647 -0
  104. package/dist/src/init/executor.js.map +1 -0
  105. package/dist/src/init/helpers-generator.d.ts +42 -0
  106. package/dist/src/init/helpers-generator.d.ts.map +1 -0
  107. package/dist/src/init/helpers-generator.js +613 -0
  108. package/dist/src/init/helpers-generator.js.map +1 -0
  109. package/dist/src/init/index.d.ts +12 -0
  110. package/dist/src/init/index.d.ts.map +1 -0
  111. package/dist/src/init/index.js +15 -0
  112. package/dist/src/init/index.js.map +1 -0
  113. package/dist/src/init/mcp-generator.d.ts +18 -0
  114. package/dist/src/init/mcp-generator.d.ts.map +1 -0
  115. package/dist/src/init/mcp-generator.js +71 -0
  116. package/dist/src/init/mcp-generator.js.map +1 -0
  117. package/dist/src/init/settings-generator.d.ts +14 -0
  118. package/dist/src/init/settings-generator.d.ts.map +1 -0
  119. package/dist/src/init/settings-generator.js +257 -0
  120. package/dist/src/init/settings-generator.js.map +1 -0
  121. package/dist/src/init/statusline-generator.d.ts +14 -0
  122. package/dist/src/init/statusline-generator.d.ts.map +1 -0
  123. package/dist/src/init/statusline-generator.js +206 -0
  124. package/dist/src/init/statusline-generator.js.map +1 -0
  125. package/dist/src/init/types.d.ts +240 -0
  126. package/dist/src/init/types.d.ts.map +1 -0
  127. package/dist/src/init/types.js +210 -0
  128. package/dist/src/init/types.js.map +1 -0
  129. package/dist/src/mcp-client.d.ts +92 -0
  130. package/dist/src/mcp-client.d.ts.map +1 -0
  131. package/dist/src/mcp-client.js +189 -0
  132. package/dist/src/mcp-client.js.map +1 -0
  133. package/dist/src/mcp-server.d.ts +153 -0
  134. package/dist/src/mcp-server.d.ts.map +1 -0
  135. package/dist/src/mcp-server.js +448 -0
  136. package/dist/src/mcp-server.js.map +1 -0
  137. package/dist/src/mcp-tools/agent-tools.d.ts +8 -0
  138. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -0
  139. package/dist/src/mcp-tools/agent-tools.js +90 -0
  140. package/dist/src/mcp-tools/agent-tools.js.map +1 -0
  141. package/dist/src/mcp-tools/config-tools.d.ts +8 -0
  142. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -0
  143. package/dist/src/mcp-tools/config-tools.js +86 -0
  144. package/dist/src/mcp-tools/config-tools.js.map +1 -0
  145. package/dist/src/mcp-tools/hooks-tools.d.ts +41 -0
  146. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -0
  147. package/dist/src/mcp-tools/hooks-tools.js +1646 -0
  148. package/dist/src/mcp-tools/hooks-tools.js.map +1 -0
  149. package/dist/src/mcp-tools/index.d.ts +12 -0
  150. package/dist/src/mcp-tools/index.d.ts.map +1 -0
  151. package/dist/src/mcp-tools/index.js +11 -0
  152. package/dist/src/mcp-tools/index.js.map +1 -0
  153. package/dist/src/mcp-tools/memory-tools.d.ts +8 -0
  154. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -0
  155. package/dist/src/mcp-tools/memory-tools.js +87 -0
  156. package/dist/src/mcp-tools/memory-tools.js.map +1 -0
  157. package/dist/src/mcp-tools/swarm-tools.d.ts +8 -0
  158. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -0
  159. package/dist/src/mcp-tools/swarm-tools.js +67 -0
  160. package/dist/src/mcp-tools/swarm-tools.js.map +1 -0
  161. package/dist/src/mcp-tools/types.d.ts +31 -0
  162. package/dist/src/mcp-tools/types.d.ts.map +1 -0
  163. package/dist/src/mcp-tools/types.js +7 -0
  164. package/dist/src/mcp-tools/types.js.map +1 -0
  165. package/dist/src/output.d.ts +117 -0
  166. package/dist/src/output.d.ts.map +1 -0
  167. package/dist/src/output.js +471 -0
  168. package/dist/src/output.js.map +1 -0
  169. package/dist/src/parser.d.ts +41 -0
  170. package/dist/src/parser.d.ts.map +1 -0
  171. package/dist/src/parser.js +353 -0
  172. package/dist/src/parser.js.map +1 -0
  173. package/dist/src/prompt.d.ts +44 -0
  174. package/dist/src/prompt.d.ts.map +1 -0
  175. package/dist/src/prompt.js +501 -0
  176. package/dist/src/prompt.js.map +1 -0
  177. package/dist/src/types.d.ts +198 -0
  178. package/dist/src/types.d.ts.map +1 -0
  179. package/dist/src/types.js +38 -0
  180. package/dist/src/types.js.map +1 -0
  181. package/dist/tsconfig.tsbuildinfo +1 -0
  182. package/docs/CONFIG_LOADING.md +236 -0
  183. package/docs/IMPLEMENTATION_COMPLETE.md +421 -0
  184. package/docs/MCP_CLIENT_GUIDE.md +620 -0
  185. package/docs/REFACTORING_SUMMARY.md +247 -0
  186. package/package.json +29 -0
  187. package/src/commands/agent.ts +941 -0
  188. package/src/commands/config.ts +452 -0
  189. package/src/commands/hive-mind.ts +762 -0
  190. package/src/commands/hooks.ts +2603 -0
  191. package/src/commands/index.ts +115 -0
  192. package/src/commands/init.ts +597 -0
  193. package/src/commands/mcp.ts +753 -0
  194. package/src/commands/memory.ts +1063 -0
  195. package/src/commands/migrate.ts +447 -0
  196. package/src/commands/process.ts +617 -0
  197. package/src/commands/session.ts +891 -0
  198. package/src/commands/start.ts +457 -0
  199. package/src/commands/status.ts +705 -0
  200. package/src/commands/swarm.ts +648 -0
  201. package/src/commands/task.ts +792 -0
  202. package/src/commands/workflow.ts +742 -0
  203. package/src/config-adapter.ts +210 -0
  204. package/src/index.ts +383 -0
  205. package/src/infrastructure/in-memory-repositories.ts +310 -0
  206. package/src/init/claudemd-generator.ts +631 -0
  207. package/src/init/executor.ts +756 -0
  208. package/src/init/helpers-generator.ts +628 -0
  209. package/src/init/index.ts +60 -0
  210. package/src/init/mcp-generator.ts +83 -0
  211. package/src/init/settings-generator.ts +274 -0
  212. package/src/init/statusline-generator.ts +211 -0
  213. package/src/init/types.ts +447 -0
  214. package/src/mcp-client.ts +227 -0
  215. package/src/mcp-server.ts +571 -0
  216. package/src/mcp-tools/agent-tools.ts +92 -0
  217. package/src/mcp-tools/config-tools.ts +88 -0
  218. package/src/mcp-tools/hooks-tools.ts +1819 -0
  219. package/src/mcp-tools/index.ts +12 -0
  220. package/src/mcp-tools/memory-tools.ts +89 -0
  221. package/src/mcp-tools/swarm-tools.ts +69 -0
  222. package/src/mcp-tools/types.ts +33 -0
  223. package/src/output.ts +593 -0
  224. package/src/parser.ts +417 -0
  225. package/src/prompt.ts +619 -0
  226. package/src/types.ts +287 -0
  227. package/tsconfig.json +16 -0
  228. package/tsconfig.tsbuildinfo +1 -0
  229. package/vitest.config.ts +13 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/commands/task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * V3 CLI Workflow Command
3
+ * Workflow execution, validation, and template management
4
+ */
5
+ import type { Command } from '../types.js';
6
+ export declare const workflowCommand: Command;
7
+ export default workflowCommand;
8
+ //# sourceMappingURL=workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;AAkoB1E,eAAO,MAAM,eAAe,EAAE,OA8B7B,CAAC;AAgEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,617 @@
1
+ /**
2
+ * V3 CLI Workflow Command
3
+ * Workflow execution, validation, and template management
4
+ */
5
+ import { output } from '../output.js';
6
+ import { select, confirm } from '../prompt.js';
7
+ import { callMCPTool, MCPClientError } from '../mcp-client.js';
8
+ // Workflow templates
9
+ const WORKFLOW_TEMPLATES = [
10
+ { value: 'development', label: 'Development', hint: 'Standard development workflow' },
11
+ { value: 'research', label: 'Research', hint: 'Research and analysis workflow' },
12
+ { value: 'testing', label: 'Testing', hint: 'Comprehensive testing workflow' },
13
+ { value: 'security-audit', label: 'Security Audit', hint: 'Security review workflow' },
14
+ { value: 'code-review', label: 'Code Review', hint: 'Multi-agent code review' },
15
+ { value: 'refactoring', label: 'Refactoring', hint: 'Code refactoring workflow' },
16
+ { value: 'sparc', label: 'SPARC', hint: 'SPARC methodology workflow' },
17
+ { value: 'custom', label: 'Custom', hint: 'Define custom workflow' }
18
+ ];
19
+ // Run subcommand
20
+ const runCommand = {
21
+ name: 'run',
22
+ description: 'Execute a workflow',
23
+ options: [
24
+ {
25
+ name: 'template',
26
+ short: 't',
27
+ description: 'Workflow template',
28
+ type: 'string',
29
+ choices: WORKFLOW_TEMPLATES.map(t => t.value)
30
+ },
31
+ {
32
+ name: 'file',
33
+ short: 'f',
34
+ description: 'Workflow definition file (YAML/JSON)',
35
+ type: 'string'
36
+ },
37
+ {
38
+ name: 'task',
39
+ description: 'Task description',
40
+ type: 'string'
41
+ },
42
+ {
43
+ name: 'parallel',
44
+ short: 'p',
45
+ description: 'Enable parallel execution',
46
+ type: 'boolean',
47
+ default: true
48
+ },
49
+ {
50
+ name: 'max-agents',
51
+ short: 'm',
52
+ description: 'Maximum agents to spawn',
53
+ type: 'number',
54
+ default: 5
55
+ },
56
+ {
57
+ name: 'timeout',
58
+ description: 'Workflow timeout in minutes',
59
+ type: 'number',
60
+ default: 30
61
+ },
62
+ {
63
+ name: 'dry-run',
64
+ short: 'd',
65
+ description: 'Validate without executing',
66
+ type: 'boolean',
67
+ default: false
68
+ }
69
+ ],
70
+ examples: [
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
+ ],
75
+ action: async (ctx) => {
76
+ let template = ctx.flags.template;
77
+ const file = ctx.flags.file;
78
+ const task = ctx.flags.task || ctx.args[0];
79
+ const parallel = ctx.flags.parallel;
80
+ const maxAgents = ctx.flags.maxAgents;
81
+ const timeout = ctx.flags.timeout;
82
+ const dryRun = ctx.flags.dryRun;
83
+ if (!template && !file && ctx.interactive) {
84
+ template = await select({
85
+ message: 'Select workflow template:',
86
+ options: WORKFLOW_TEMPLATES
87
+ });
88
+ }
89
+ if (!template && !file) {
90
+ output.printError('Workflow template or file is required. Use --template or --file');
91
+ return { success: false, exitCode: 1 };
92
+ }
93
+ output.writeln();
94
+ if (dryRun) {
95
+ output.writeln(output.warning('DRY RUN MODE - No changes will be made'));
96
+ }
97
+ output.writeln(output.bold(`Workflow: ${template || file}`));
98
+ output.writeln();
99
+ const spinner = output.createSpinner({ text: 'Initializing workflow...', spinner: 'dots' });
100
+ try {
101
+ spinner.start();
102
+ // Call MCP tool to run workflow
103
+ const result = await callMCPTool('workflow/run', {
104
+ template: template || undefined,
105
+ file: file || undefined,
106
+ task,
107
+ options: {
108
+ parallel,
109
+ maxAgents,
110
+ timeout,
111
+ dryRun,
112
+ },
113
+ });
114
+ if (dryRun) {
115
+ spinner.succeed('Workflow validated successfully');
116
+ }
117
+ else {
118
+ spinner.succeed('Workflow started');
119
+ }
120
+ if (ctx.flags.format === 'json') {
121
+ output.printJson(result);
122
+ return { success: true, data: result };
123
+ }
124
+ output.writeln();
125
+ output.printBox([
126
+ `ID: ${result.workflowId}`,
127
+ `Template: ${result.template}`,
128
+ `Status: ${result.status}`,
129
+ `Stages: ${result.metrics.totalStages}`,
130
+ `Agents: ${result.metrics.agentsSpawned}`,
131
+ `Est. Duration: ${result.metrics.estimatedDuration}`
132
+ ].join('\n'), 'Workflow Details');
133
+ output.writeln();
134
+ output.writeln(output.bold('Stages'));
135
+ output.printTable({
136
+ columns: [
137
+ { key: 'name', header: 'Stage', width: 20 },
138
+ { key: 'status', header: 'Status', width: 12, format: formatStageStatus },
139
+ { key: 'agents', header: 'Agents', width: 30, format: (v) => Array.isArray(v) ? v.join(', ') : String(v) },
140
+ { key: 'duration', header: 'Duration', width: 10, align: 'right', format: (v) => v ? `${v}ms` : '-' }
141
+ ],
142
+ data: result.stages
143
+ });
144
+ if (!dryRun) {
145
+ output.writeln();
146
+ output.printInfo(`Track progress: claude-flow workflow status ${result.workflowId}`);
147
+ }
148
+ return { success: true, data: result };
149
+ }
150
+ catch (error) {
151
+ spinner.fail('Workflow failed');
152
+ if (error instanceof MCPClientError) {
153
+ output.printError(`Workflow error: ${error.message}`);
154
+ }
155
+ else {
156
+ output.printError(`Unexpected error: ${String(error)}`);
157
+ }
158
+ return { success: false, exitCode: 1 };
159
+ }
160
+ }
161
+ };
162
+ // Validate subcommand
163
+ const validateCommand = {
164
+ name: 'validate',
165
+ description: 'Validate a workflow definition',
166
+ options: [
167
+ {
168
+ name: 'file',
169
+ short: 'f',
170
+ description: 'Workflow definition file',
171
+ type: 'string',
172
+ required: true
173
+ },
174
+ {
175
+ name: 'strict',
176
+ short: 's',
177
+ description: 'Strict validation mode',
178
+ type: 'boolean',
179
+ default: false
180
+ }
181
+ ],
182
+ examples: [
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
+ ],
186
+ action: async (ctx) => {
187
+ const file = ctx.flags.file || ctx.args[0];
188
+ const strict = ctx.flags.strict;
189
+ if (!file) {
190
+ output.printError('Workflow file is required. Use --file or -f');
191
+ return { success: false, exitCode: 1 };
192
+ }
193
+ output.printInfo(`Validating: ${file}`);
194
+ try {
195
+ const result = await callMCPTool('workflow/validate', {
196
+ file,
197
+ strict,
198
+ });
199
+ if (ctx.flags.format === 'json') {
200
+ output.printJson(result);
201
+ return { success: result.valid, data: result };
202
+ }
203
+ output.writeln();
204
+ if (result.valid) {
205
+ output.printSuccess('Workflow is valid');
206
+ }
207
+ else {
208
+ output.printError('Workflow validation failed');
209
+ }
210
+ if (result.errors.length > 0) {
211
+ output.writeln();
212
+ output.writeln(output.bold(output.error('Errors')));
213
+ output.printTable({
214
+ columns: [
215
+ { key: 'line', header: 'Line', width: 8, align: 'right' },
216
+ { key: 'severity', header: 'Severity', width: 10 },
217
+ { key: 'message', header: 'Message', width: 50 }
218
+ ],
219
+ data: result.errors
220
+ });
221
+ }
222
+ if (result.warnings.length > 0) {
223
+ output.writeln();
224
+ output.writeln(output.bold(output.warning('Warnings')));
225
+ result.warnings.forEach(w => {
226
+ output.writeln(output.warning(` Line ${w.line}: ${w.message}`));
227
+ });
228
+ }
229
+ if (result.valid) {
230
+ output.writeln();
231
+ output.writeln(output.bold('Workflow Stats'));
232
+ output.printList([
233
+ `Stages: ${result.stats.stages}`,
234
+ `Agents Required: ${result.stats.agents}`,
235
+ `Est. Duration: ${result.stats.estimatedDuration}`
236
+ ]);
237
+ }
238
+ return { success: result.valid, data: result };
239
+ }
240
+ catch (error) {
241
+ if (error instanceof MCPClientError) {
242
+ output.printError(`Validation error: ${error.message}`);
243
+ }
244
+ else {
245
+ output.printError(`Unexpected error: ${String(error)}`);
246
+ }
247
+ return { success: false, exitCode: 1 };
248
+ }
249
+ }
250
+ };
251
+ // List subcommand
252
+ const listCommand = {
253
+ name: 'list',
254
+ aliases: ['ls'],
255
+ description: 'List workflows',
256
+ options: [
257
+ {
258
+ name: 'status',
259
+ short: 's',
260
+ description: 'Filter by status',
261
+ type: 'string',
262
+ choices: ['running', 'completed', 'failed', 'all']
263
+ },
264
+ {
265
+ name: 'limit',
266
+ short: 'l',
267
+ description: 'Maximum results',
268
+ type: 'number',
269
+ default: 10
270
+ }
271
+ ],
272
+ action: async (ctx) => {
273
+ const status = ctx.flags.status;
274
+ const limit = ctx.flags.limit;
275
+ try {
276
+ const result = await callMCPTool('workflow/list', {
277
+ status: status || 'all',
278
+ limit,
279
+ });
280
+ if (ctx.flags.format === 'json') {
281
+ output.printJson(result);
282
+ return { success: true, data: result };
283
+ }
284
+ output.writeln();
285
+ output.writeln(output.bold('Workflows'));
286
+ output.writeln();
287
+ if (result.workflows.length === 0) {
288
+ output.printInfo('No workflows found');
289
+ return { success: true, data: result };
290
+ }
291
+ output.printTable({
292
+ columns: [
293
+ { key: 'id', header: 'ID', width: 15 },
294
+ { key: 'template', header: 'Template', width: 15 },
295
+ { key: 'status', header: 'Status', width: 12, format: formatStageStatus },
296
+ { key: 'progress', header: 'Progress', width: 10, align: 'right', format: (v) => `${v}%` },
297
+ { key: 'startedAt', header: 'Started', width: 20, format: (v) => new Date(String(v)).toLocaleString() }
298
+ ],
299
+ data: result.workflows
300
+ });
301
+ output.writeln();
302
+ output.printInfo(`Total: ${result.total} workflows`);
303
+ return { success: true, data: result };
304
+ }
305
+ catch (error) {
306
+ if (error instanceof MCPClientError) {
307
+ output.printError(`Failed to list workflows: ${error.message}`);
308
+ }
309
+ else {
310
+ output.printError(`Unexpected error: ${String(error)}`);
311
+ }
312
+ return { success: false, exitCode: 1 };
313
+ }
314
+ }
315
+ };
316
+ // Status subcommand
317
+ const statusCommand = {
318
+ name: 'status',
319
+ description: 'Show workflow status',
320
+ options: [
321
+ {
322
+ name: 'watch',
323
+ short: 'w',
324
+ description: 'Watch for changes',
325
+ type: 'boolean',
326
+ default: false
327
+ }
328
+ ],
329
+ action: async (ctx) => {
330
+ const workflowId = ctx.args[0];
331
+ if (!workflowId) {
332
+ output.printError('Workflow ID is required');
333
+ return { success: false, exitCode: 1 };
334
+ }
335
+ try {
336
+ const result = await callMCPTool('workflow/status', {
337
+ workflowId,
338
+ });
339
+ if (ctx.flags.format === 'json') {
340
+ output.printJson(result);
341
+ return { success: true, data: result };
342
+ }
343
+ output.writeln();
344
+ output.printBox([
345
+ `ID: ${result.id}`,
346
+ `Template: ${result.template}`,
347
+ `Status: ${formatStageStatus(result.status)}`,
348
+ `Progress: ${result.progress}%`,
349
+ `Duration: ${(result.metrics.duration / 1000).toFixed(1)}s`,
350
+ `Tokens: ${result.metrics.tokensUsed.toLocaleString()}`,
351
+ `Agents: ${result.metrics.agentsSpawned}`
352
+ ].join('\n'), 'Workflow Status');
353
+ output.writeln();
354
+ output.writeln(output.bold('Stage Progress'));
355
+ output.printTable({
356
+ columns: [
357
+ { key: 'name', header: 'Stage', width: 20 },
358
+ { key: 'status', header: 'Status', width: 12, format: formatStageStatus },
359
+ { key: 'agents', header: 'Agents', width: 25, format: (v) => Array.isArray(v) ? v.length.toString() : '0' }
360
+ ],
361
+ data: result.stages
362
+ });
363
+ return { success: true, data: result };
364
+ }
365
+ catch (error) {
366
+ if (error instanceof MCPClientError) {
367
+ output.printError(`Failed to get status: ${error.message}`);
368
+ }
369
+ else {
370
+ output.printError(`Unexpected error: ${String(error)}`);
371
+ }
372
+ return { success: false, exitCode: 1 };
373
+ }
374
+ }
375
+ };
376
+ // Stop subcommand
377
+ const stopCommand = {
378
+ name: 'stop',
379
+ description: 'Stop a running workflow',
380
+ options: [
381
+ {
382
+ name: 'force',
383
+ short: 'f',
384
+ description: 'Force stop without graceful shutdown',
385
+ type: 'boolean',
386
+ default: false
387
+ }
388
+ ],
389
+ action: async (ctx) => {
390
+ const workflowId = ctx.args[0];
391
+ const force = ctx.flags.force;
392
+ if (!workflowId) {
393
+ output.printError('Workflow ID is required');
394
+ return { success: false, exitCode: 1 };
395
+ }
396
+ if (!force && ctx.interactive) {
397
+ const confirmed = await confirm({
398
+ message: `Stop workflow ${workflowId}?`,
399
+ default: false
400
+ });
401
+ if (!confirmed) {
402
+ output.printInfo('Operation cancelled');
403
+ return { success: true };
404
+ }
405
+ }
406
+ try {
407
+ const result = await callMCPTool('workflow/stop', {
408
+ workflowId,
409
+ graceful: !force,
410
+ });
411
+ output.printSuccess(`Workflow ${workflowId} stopped`);
412
+ return { success: true, data: result };
413
+ }
414
+ catch (error) {
415
+ if (error instanceof MCPClientError) {
416
+ output.printError(`Failed to stop workflow: ${error.message}`);
417
+ }
418
+ else {
419
+ output.printError(`Unexpected error: ${String(error)}`);
420
+ }
421
+ return { success: false, exitCode: 1 };
422
+ }
423
+ }
424
+ };
425
+ // Template subcommand
426
+ const templateCommand = {
427
+ name: 'template',
428
+ description: 'Manage workflow templates',
429
+ subcommands: [
430
+ {
431
+ name: 'list',
432
+ description: 'List available templates',
433
+ action: async (ctx) => {
434
+ if (ctx.flags.format === 'json') {
435
+ output.printJson(WORKFLOW_TEMPLATES);
436
+ return { success: true, data: WORKFLOW_TEMPLATES };
437
+ }
438
+ output.writeln();
439
+ output.writeln(output.bold('Available Workflow Templates'));
440
+ output.writeln();
441
+ output.printTable({
442
+ columns: [
443
+ { key: 'value', header: 'Template', width: 20 },
444
+ { key: 'label', header: 'Name', width: 20 },
445
+ { key: 'hint', header: 'Description', width: 35 }
446
+ ],
447
+ data: WORKFLOW_TEMPLATES
448
+ });
449
+ return { success: true, data: WORKFLOW_TEMPLATES };
450
+ }
451
+ },
452
+ {
453
+ name: 'show',
454
+ description: 'Show template details',
455
+ action: async (ctx) => {
456
+ const templateName = ctx.args[0];
457
+ if (!templateName) {
458
+ output.printError('Template name is required');
459
+ return { success: false, exitCode: 1 };
460
+ }
461
+ const template = WORKFLOW_TEMPLATES.find(t => t.value === templateName);
462
+ if (!template) {
463
+ output.printError(`Template "${templateName}" not found`);
464
+ return { success: false, exitCode: 1 };
465
+ }
466
+ // Show template details
467
+ const details = {
468
+ name: template.value,
469
+ description: template.hint,
470
+ stages: getTemplateStages(template.value),
471
+ agents: getTemplateAgents(template.value),
472
+ estimatedDuration: getTemplateDuration(template.value)
473
+ };
474
+ if (ctx.flags.format === 'json') {
475
+ output.printJson(details);
476
+ return { success: true, data: details };
477
+ }
478
+ output.writeln();
479
+ output.printBox([
480
+ `Name: ${details.name}`,
481
+ `Description: ${details.description}`,
482
+ `Stages: ${details.stages.length}`,
483
+ `Agents: ${details.agents.join(', ')}`,
484
+ `Est. Duration: ${details.estimatedDuration}`
485
+ ].join('\n'), 'Template Details');
486
+ output.writeln();
487
+ output.writeln(output.bold('Stages'));
488
+ output.printList(details.stages.map((s, i) => `${i + 1}. ${s}`));
489
+ return { success: true, data: details };
490
+ }
491
+ },
492
+ {
493
+ name: 'create',
494
+ description: 'Create a new template from workflow',
495
+ options: [
496
+ { name: 'name', short: 'n', description: 'Template name', type: 'string', required: true },
497
+ { name: 'workflow', short: 'w', description: 'Workflow ID to save as template', type: 'string' },
498
+ { name: 'file', short: 'f', description: 'Workflow file to save as template', type: 'string' }
499
+ ],
500
+ action: async (ctx) => {
501
+ const name = ctx.flags.name;
502
+ if (!name) {
503
+ output.printError('Template name is required');
504
+ return { success: false, exitCode: 1 };
505
+ }
506
+ output.printSuccess(`Template "${name}" created`);
507
+ output.writeln(output.dim(' Use with: claude-flow workflow run -t ' + name));
508
+ return { success: true, data: { name, created: true } };
509
+ }
510
+ }
511
+ ],
512
+ action: async () => {
513
+ output.writeln();
514
+ output.writeln(output.bold('Template Management'));
515
+ output.writeln();
516
+ output.writeln('Usage: claude-flow workflow template <subcommand>');
517
+ output.writeln();
518
+ output.writeln('Subcommands:');
519
+ output.printList([
520
+ `${output.highlight('list')} - List available templates`,
521
+ `${output.highlight('show')} - Show template details`,
522
+ `${output.highlight('create')} - Create new template`
523
+ ]);
524
+ return { success: true };
525
+ }
526
+ };
527
+ // Main workflow command
528
+ export const workflowCommand = {
529
+ name: 'workflow',
530
+ description: 'Workflow execution and management',
531
+ subcommands: [runCommand, validateCommand, listCommand, statusCommand, stopCommand, templateCommand],
532
+ options: [],
533
+ examples: [
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
+ ],
538
+ action: async () => {
539
+ output.writeln();
540
+ output.writeln(output.bold('Workflow Commands'));
541
+ output.writeln();
542
+ output.writeln('Usage: claude-flow workflow <subcommand> [options]');
543
+ output.writeln();
544
+ output.writeln('Subcommands:');
545
+ output.printList([
546
+ `${output.highlight('run')} - Execute a workflow`,
547
+ `${output.highlight('validate')} - Validate workflow definition`,
548
+ `${output.highlight('list')} - List workflows`,
549
+ `${output.highlight('status')} - Show workflow status`,
550
+ `${output.highlight('stop')} - Stop running workflow`,
551
+ `${output.highlight('template')} - Manage templates`
552
+ ]);
553
+ output.writeln();
554
+ output.writeln('Run "claude-flow workflow <subcommand> --help" for more info');
555
+ return { success: true };
556
+ }
557
+ };
558
+ // Helper functions
559
+ function formatStageStatus(status) {
560
+ const statusStr = String(status);
561
+ switch (statusStr) {
562
+ case 'completed':
563
+ case 'success':
564
+ return output.success(statusStr);
565
+ case 'running':
566
+ case 'in_progress':
567
+ return output.highlight(statusStr);
568
+ case 'pending':
569
+ case 'waiting':
570
+ return output.dim(statusStr);
571
+ case 'failed':
572
+ case 'error':
573
+ return output.error(statusStr);
574
+ case 'validated':
575
+ return output.success(statusStr);
576
+ default:
577
+ return statusStr;
578
+ }
579
+ }
580
+ function getTemplateStages(template) {
581
+ const stages = {
582
+ development: ['Planning', 'Implementation', 'Testing', 'Review', 'Integration'],
583
+ research: ['Discovery', 'Analysis', 'Synthesis', 'Documentation'],
584
+ testing: ['Unit Tests', 'Integration Tests', 'E2E Tests', 'Performance Tests'],
585
+ 'security-audit': ['Threat Model', 'Static Analysis', 'Dynamic Analysis', 'Report'],
586
+ 'code-review': ['Initial Review', 'Security Check', 'Quality Analysis', 'Feedback'],
587
+ refactoring: ['Analysis', 'Planning', 'Refactor', 'Validation'],
588
+ sparc: ['Specification', 'Pseudocode', 'Architecture', 'Refinement', 'Completion']
589
+ };
590
+ return stages[template] || ['Initialize', 'Execute', 'Complete'];
591
+ }
592
+ function getTemplateAgents(template) {
593
+ const agents = {
594
+ development: ['coder', 'tester', 'reviewer'],
595
+ research: ['researcher', 'analyst'],
596
+ testing: ['tester', 'coder'],
597
+ 'security-audit': ['security-architect', 'security-auditor'],
598
+ 'code-review': ['reviewer', 'security-auditor', 'analyst'],
599
+ refactoring: ['architect', 'coder', 'reviewer'],
600
+ sparc: ['architect', 'coder', 'tester', 'reviewer']
601
+ };
602
+ return agents[template] || ['coder'];
603
+ }
604
+ function getTemplateDuration(template) {
605
+ const durations = {
606
+ development: '15-30 min',
607
+ research: '10-20 min',
608
+ testing: '5-15 min',
609
+ 'security-audit': '20-40 min',
610
+ 'code-review': '10-25 min',
611
+ refactoring: '15-35 min',
612
+ sparc: '25-45 min'
613
+ };
614
+ return durations[template] || '10-20 min';
615
+ }
616
+ export default workflowCommand;
617
+ //# sourceMappingURL=workflow.js.map