@marktoflow/cli 2.0.0-alpha.10

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.
@@ -0,0 +1,266 @@
1
+ /**
2
+ * marktoflow update - AI-powered workflow updater
3
+ *
4
+ * Allows users to describe how they want to update a workflow,
5
+ * and uses a coding agent to automatically update the workflow markdown file.
6
+ */
7
+ import { input, select, confirm } from '@inquirer/prompts';
8
+ import chalk from 'chalk';
9
+ import ora from 'ora';
10
+ import { readFileSync, writeFileSync, existsSync } from 'node:fs';
11
+ import { resolve } from 'node:path';
12
+ import { spawn } from 'node:child_process';
13
+ /**
14
+ * Check if a command is available in PATH
15
+ */
16
+ async function isCommandAvailable(command) {
17
+ return new Promise((resolve) => {
18
+ const process = spawn('which', [command], { stdio: 'ignore' });
19
+ process.on('close', (code) => resolve(code === 0));
20
+ process.on('error', () => resolve(false));
21
+ });
22
+ }
23
+ /**
24
+ * Detect available coding agents on the system
25
+ */
26
+ async function detectAvailableAgents() {
27
+ const agents = [
28
+ {
29
+ id: 'opencode',
30
+ name: 'OpenCode',
31
+ command: 'opencode',
32
+ available: false,
33
+ },
34
+ {
35
+ id: 'claude-code',
36
+ name: 'Claude Code',
37
+ command: 'claude-code',
38
+ available: false,
39
+ },
40
+ {
41
+ id: 'cursor',
42
+ name: 'Cursor',
43
+ command: 'cursor',
44
+ available: false,
45
+ },
46
+ {
47
+ id: 'aider',
48
+ name: 'Aider',
49
+ command: 'aider',
50
+ available: false,
51
+ },
52
+ ];
53
+ // Check availability of each agent
54
+ await Promise.all(agents.map(async (agent) => {
55
+ agent.available = await isCommandAvailable(agent.command);
56
+ }));
57
+ return agents;
58
+ }
59
+ /**
60
+ * Execute the workflow update with a coding agent
61
+ */
62
+ async function executeUpdate(workflowPath, updatePrompt, agent) {
63
+ return new Promise((resolve) => {
64
+ const spinner = ora(`Running ${agent.name} to update workflow...`).start();
65
+ // Build the command based on the agent
66
+ let args;
67
+ switch (agent.id) {
68
+ case 'opencode':
69
+ // OpenCode: Pass the prompt and file
70
+ args = [
71
+ 'Update the following workflow file based on this request:',
72
+ updatePrompt,
73
+ '--files',
74
+ workflowPath,
75
+ ];
76
+ break;
77
+ case 'claude-code':
78
+ // Claude Code: Pass prompt with file context
79
+ args = ['--file', workflowPath, '--prompt', `Update this workflow: ${updatePrompt}`];
80
+ break;
81
+ case 'cursor':
82
+ // Cursor: Open file with instruction
83
+ args = [workflowPath, '--instruction', updatePrompt];
84
+ break;
85
+ case 'aider':
86
+ // Aider: Add file and send message
87
+ args = ['--file', workflowPath, '--message', `Update workflow: ${updatePrompt}`];
88
+ break;
89
+ default:
90
+ spinner.fail(`Unknown agent: ${agent.id}`);
91
+ resolve(false);
92
+ return;
93
+ }
94
+ // Execute the agent
95
+ const process = spawn(agent.command, args, {
96
+ stdio: 'inherit',
97
+ shell: true,
98
+ });
99
+ process.on('close', (code) => {
100
+ if (code === 0) {
101
+ spinner.succeed(`${agent.name} completed successfully`);
102
+ resolve(true);
103
+ }
104
+ else {
105
+ spinner.fail(`${agent.name} failed with code ${code}`);
106
+ resolve(false);
107
+ }
108
+ });
109
+ process.on('error', (error) => {
110
+ spinner.fail(`Failed to run ${agent.name}: ${error.message}`);
111
+ resolve(false);
112
+ });
113
+ });
114
+ }
115
+ /**
116
+ * Main workflow update wizard
117
+ */
118
+ export async function runUpdateWizard(options) {
119
+ console.log(chalk.bold.cyan('\n🔄 marktoflow Workflow Updater\n'));
120
+ try {
121
+ // Step 1: Validate workflow path
122
+ const workflowPath = resolve(options.workflow);
123
+ if (!existsSync(workflowPath)) {
124
+ console.error(chalk.red(`\n❌ Workflow not found: ${workflowPath}\n`));
125
+ process.exit(1);
126
+ }
127
+ console.log(chalk.gray(` Workflow: ${workflowPath}\n`));
128
+ // Step 2: Read current workflow content
129
+ const currentContent = readFileSync(workflowPath, 'utf-8');
130
+ const lines = currentContent.split('\n');
131
+ const previewLines = Math.min(10, lines.length);
132
+ console.log(chalk.cyan('Current workflow preview:'));
133
+ console.log(chalk.gray('─'.repeat(60)));
134
+ for (let i = 0; i < previewLines; i++) {
135
+ console.log(chalk.gray(`${String(i + 1).padStart(3)}│ ${lines[i]}`));
136
+ }
137
+ if (lines.length > previewLines) {
138
+ console.log(chalk.gray(` │ ... (${lines.length - previewLines} more lines)`));
139
+ }
140
+ console.log(chalk.gray('─'.repeat(60) + '\n'));
141
+ // Step 3: Get update description from user
142
+ let updatePrompt;
143
+ if (options.prompt) {
144
+ updatePrompt = options.prompt;
145
+ console.log(chalk.cyan('Update request:'));
146
+ console.log(chalk.white(` ${updatePrompt}\n`));
147
+ }
148
+ else {
149
+ updatePrompt = await input({
150
+ message: 'Describe how you want to update this workflow:',
151
+ validate: (value) => {
152
+ if (!value || value.trim().length < 10) {
153
+ return 'Please provide a more detailed description (at least 10 characters)';
154
+ }
155
+ return true;
156
+ },
157
+ });
158
+ }
159
+ // Step 4: Detect available coding agents
160
+ const spinner = ora('Detecting available coding agents...').start();
161
+ const availableAgents = await detectAvailableAgents();
162
+ const usableAgents = availableAgents.filter((a) => a.available);
163
+ if (usableAgents.length === 0) {
164
+ spinner.fail('No coding agents found');
165
+ console.log(chalk.yellow('\n⚠️ No supported coding agents detected on your system.\n'));
166
+ console.log(chalk.white('Supported agents:'));
167
+ console.log(chalk.gray(' • OpenCode (https://opencode.ai)'));
168
+ console.log(chalk.gray(' • Claude Code'));
169
+ console.log(chalk.gray(' • Cursor (https://cursor.sh)'));
170
+ console.log(chalk.gray(' • Aider (https://aider.chat)\n'));
171
+ console.log(chalk.white('Please install one of these agents and try again.\n'));
172
+ process.exit(1);
173
+ }
174
+ spinner.succeed(`Found ${usableAgents.length} available agent${usableAgents.length > 1 ? 's' : ''}`);
175
+ // Step 5: Select coding agent
176
+ let selectedAgent;
177
+ if (options.agent) {
178
+ const agent = usableAgents.find((a) => a.id === options.agent);
179
+ if (!agent) {
180
+ console.error(chalk.red(`\n❌ Agent "${options.agent}" not found or not available\n`));
181
+ console.log(chalk.white('Available agents:'));
182
+ usableAgents.forEach((a) => console.log(chalk.gray(` • ${a.id} (${a.name})`)));
183
+ console.log();
184
+ process.exit(1);
185
+ }
186
+ selectedAgent = agent;
187
+ console.log(chalk.cyan(`\n✨ Using agent: ${selectedAgent.name}\n`));
188
+ }
189
+ else {
190
+ const agentChoice = await select({
191
+ message: 'Select a coding agent to perform the update:',
192
+ choices: usableAgents.map((agent) => ({
193
+ name: `${agent.name} (${agent.command})`,
194
+ value: agent.id,
195
+ })),
196
+ });
197
+ selectedAgent = usableAgents.find((a) => a.id === agentChoice);
198
+ }
199
+ // Step 6: Confirm before execution
200
+ const confirmed = await confirm({
201
+ message: `Proceed with updating ${workflowPath} using ${selectedAgent.name}?`,
202
+ default: true,
203
+ });
204
+ if (!confirmed) {
205
+ console.log(chalk.yellow('\n❌ Update cancelled\n'));
206
+ return;
207
+ }
208
+ // Step 7: Backup the original file
209
+ const backupPath = `${workflowPath}.backup`;
210
+ writeFileSync(backupPath, currentContent, 'utf-8');
211
+ console.log(chalk.gray(`\n Backup created: ${backupPath}`));
212
+ // Step 8: Execute the update
213
+ console.log();
214
+ const success = await executeUpdate(workflowPath, updatePrompt, selectedAgent);
215
+ if (success) {
216
+ console.log(chalk.green.bold('\n✅ Workflow updated successfully!\n'));
217
+ console.log(chalk.gray(` Updated: ${workflowPath}`));
218
+ console.log(chalk.gray(` Backup: ${backupPath}\n`));
219
+ // Show next steps
220
+ console.log(chalk.cyan('📋 Next steps:\n'));
221
+ console.log(chalk.white(` 1. Review changes: ${chalk.cyan(`diff ${backupPath} ${workflowPath}`)}`));
222
+ console.log(chalk.white(` 2. Test workflow: ${chalk.cyan(`marktoflow run ${workflowPath}`)}`));
223
+ console.log(chalk.white(` 3. Remove backup: ${chalk.cyan(`rm ${backupPath}`)}\n`));
224
+ }
225
+ else {
226
+ console.log(chalk.red.bold('\n❌ Workflow update failed\n'));
227
+ console.log(chalk.white(` Original preserved at: ${backupPath}\n`));
228
+ }
229
+ }
230
+ catch (error) {
231
+ if (error instanceof Error && error.message.includes('User force closed')) {
232
+ console.log(chalk.yellow('\n❌ Update cancelled\n'));
233
+ return;
234
+ }
235
+ throw error;
236
+ }
237
+ }
238
+ /**
239
+ * List available coding agents
240
+ */
241
+ export async function listAgents() {
242
+ console.log(chalk.bold.cyan('\n🤖 Coding Agents\n'));
243
+ const spinner = ora('Detecting agents...').start();
244
+ const agents = await detectAvailableAgents();
245
+ spinner.stop();
246
+ const available = agents.filter((a) => a.available);
247
+ const unavailable = agents.filter((a) => !a.available);
248
+ if (available.length > 0) {
249
+ console.log(chalk.green.bold('Available:\n'));
250
+ available.forEach((agent) => {
251
+ console.log(` ${chalk.green('✓')} ${chalk.cyan(agent.id.padEnd(15))} ${chalk.gray(agent.name)}`);
252
+ console.log(` ${chalk.dim('Command:')} ${agent.command}`);
253
+ });
254
+ console.log();
255
+ }
256
+ if (unavailable.length > 0) {
257
+ console.log(chalk.gray.bold('Not Available:\n'));
258
+ unavailable.forEach((agent) => {
259
+ console.log(` ${chalk.gray('○')} ${chalk.gray(agent.id.padEnd(15))} ${chalk.gray(agent.name)}`);
260
+ console.log(` ${chalk.dim('Command:')} ${agent.command}`);
261
+ });
262
+ console.log();
263
+ }
264
+ console.log(chalk.gray('Use: marktoflow update <workflow> [--agent <id>]\n'));
265
+ }
266
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * marktoflow CLI
4
+ *
5
+ * Universal automation framework with native MCP support.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;GAIG"}