@marktoflow/cli 2.0.0-alpha.14 → 2.0.0-alpha.16
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/README.md +47 -520
- package/dist/commands/dry-run.d.ts +1 -0
- package/dist/commands/dry-run.d.ts.map +1 -1
- package/dist/commands/dry-run.js +161 -25
- package/dist/commands/dry-run.js.map +1 -1
- package/dist/commands/history.d.ts +18 -0
- package/dist/commands/history.d.ts.map +1 -0
- package/dist/commands/history.js +258 -0
- package/dist/commands/history.js.map +1 -0
- package/dist/commands/test-connection.d.ts +26 -0
- package/dist/commands/test-connection.d.ts.map +1 -0
- package/dist/commands/test-connection.js +599 -0
- package/dist/commands/test-connection.js.map +1 -0
- package/dist/index.js +154 -4
- package/dist/index.js.map +1 -1
- package/package.json +8 -7
package/README.md
CHANGED
|
@@ -1,436 +1,109 @@
|
|
|
1
1
|
# @marktoflow/cli
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Command-line interface for running markdown-based workflow automations.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/@marktoflow/cli)
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## What is marktoflow?
|
|
12
|
-
|
|
13
|
-
marktoflow is a **CLI-first automation framework** that lets you define workflows in Markdown + YAML and execute them across 30+ services. Write workflows as code, run them from the terminal, and optionally use the visual designer for editing.
|
|
14
|
-
|
|
15
|
-
**Key Differentiators:**
|
|
16
|
-
|
|
17
|
-
- 🖥️ **CLI-First** - Design and run workflows from your terminal
|
|
18
|
-
- 📝 **Workflows as Markdown** - Human-readable, version-controlled automation
|
|
19
|
-
- 🔌 **Native SDK Integration** - Direct method calls with full type safety
|
|
20
|
-
- 🤖 **AI Agent Support** - GitHub Copilot, Claude, Ollama - use existing subscriptions
|
|
21
|
-
- 🌐 **Universal REST Client** - Connect to any API without custom integrations
|
|
22
|
-
- 🎨 **Visual Designer (Optional)** - Web-based drag-and-drop editor
|
|
23
|
-
- 🏢 **Enterprise Ready** - RBAC, approvals, audit logging, cost tracking
|
|
24
|
-
|
|
25
|
-
## Features
|
|
26
|
-
|
|
27
|
-
- **Workflow Execution** - Run workflows from markdown files
|
|
28
|
-
- **Interactive Setup** - Initialize projects with guided prompts
|
|
29
|
-
- **OAuth Integration** - Easy OAuth setup for Gmail, Outlook
|
|
30
|
-
- **Scheduling** - Background workflow scheduling with cron
|
|
31
|
-
- **Webhooks** - HTTP webhook server for event-driven workflows
|
|
32
|
-
- **Queue Workers** - Process workflows from queues (Redis/RabbitMQ)
|
|
33
|
-
- **Dry Run Mode** - Test workflows without executing actions
|
|
34
|
-
- **Debug Mode** - Detailed execution logging
|
|
35
|
-
- **Doctor** - System health checks and diagnostics
|
|
36
|
-
- **Template Management** - Create workflows from templates
|
|
37
|
-
|
|
38
|
-
## Installation
|
|
39
|
-
|
|
40
|
-
### Install globally from npm
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
npm install -g @marktoflow/cli@alpha
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### Use with npx (no installation)
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
npx @marktoflow/cli@alpha <command>
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### Install from GitHub
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
npm install -g github:marktoflow/marktoflow#main
|
|
56
|
-
```
|
|
7
|
+
Part of [marktoflow](../../README.md) — open-source markdown workflow automation.
|
|
57
8
|
|
|
58
9
|
## Quick Start
|
|
59
10
|
|
|
60
|
-
### 1. Initialize a project
|
|
61
|
-
|
|
62
11
|
```bash
|
|
63
|
-
marktoflow
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
This creates:
|
|
67
|
-
|
|
68
|
-
- `.marktoflow/` directory
|
|
69
|
-
- `workflows/` directory with example workflow
|
|
70
|
-
- `.marktoflow/config.yaml` configuration file
|
|
71
|
-
|
|
72
|
-
### 2. Create a workflow
|
|
12
|
+
npm install -g @marktoflow/cli
|
|
73
13
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
```markdown
|
|
77
|
-
---
|
|
78
|
-
workflow:
|
|
79
|
-
id: hello-world
|
|
80
|
-
name: Hello World
|
|
81
|
-
|
|
82
|
-
tools:
|
|
83
|
-
slack:
|
|
84
|
-
sdk: '@slack/web-api'
|
|
85
|
-
auth:
|
|
86
|
-
token: '${SLACK_BOT_TOKEN}'
|
|
87
|
-
|
|
88
|
-
inputs:
|
|
89
|
-
message:
|
|
90
|
-
type: string
|
|
91
|
-
default: 'Hello World!'
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
# Hello World Workflow
|
|
95
|
-
|
|
96
|
-
## Step 1: Send Message
|
|
97
|
-
|
|
98
|
-
\`\`\`yaml
|
|
99
|
-
action: slack.chat.postMessage
|
|
100
|
-
inputs:
|
|
101
|
-
channel: '#general'
|
|
102
|
-
text: '{{ inputs.message }}'
|
|
103
|
-
\`\`\`
|
|
14
|
+
marktoflow init
|
|
15
|
+
marktoflow run workflow.md
|
|
104
16
|
```
|
|
105
17
|
|
|
106
|
-
|
|
18
|
+
Or without installing:
|
|
107
19
|
|
|
108
20
|
```bash
|
|
109
|
-
|
|
110
|
-
export SLACK_BOT_TOKEN=xoxb-your-token
|
|
111
|
-
|
|
112
|
-
# Run workflow
|
|
113
|
-
marktoflow run workflow.md
|
|
114
|
-
|
|
115
|
-
# With inputs
|
|
116
|
-
marktoflow run workflow.md --input message="Hello marktoflow!"
|
|
21
|
+
npx @marktoflow/cli run workflow.md
|
|
117
22
|
```
|
|
118
23
|
|
|
119
|
-
##
|
|
24
|
+
## Features
|
|
120
25
|
|
|
121
|
-
|
|
26
|
+
- **Workflow Execution** — Run markdown workflows from the terminal
|
|
27
|
+
- **Dry Run Mode** — Test workflows without executing actions
|
|
28
|
+
- **OAuth Integration** — Easy OAuth setup for Gmail, Outlook, Google services
|
|
29
|
+
- **Scheduling** — Background cron-based workflow scheduling
|
|
30
|
+
- **Webhooks** — Built-in HTTP server for event-driven workflows
|
|
31
|
+
- **Templates** — Create workflows from built-in templates
|
|
32
|
+
- **Diagnostics** — `marktoflow doctor` for system health checks
|
|
33
|
+
- **Visual Designer** — Launch the GUI with `marktoflow gui`
|
|
122
34
|
|
|
123
|
-
|
|
35
|
+
## Key Commands
|
|
124
36
|
|
|
125
|
-
|
|
37
|
+
### Run a workflow
|
|
126
38
|
|
|
127
39
|
```bash
|
|
128
|
-
# Basic usage
|
|
129
40
|
marktoflow run workflow.md
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
marktoflow run workflow.md --input key=value --input another=value
|
|
133
|
-
|
|
134
|
-
# With config file
|
|
135
|
-
marktoflow run workflow.md --config .marktoflow/config.yaml
|
|
136
|
-
|
|
137
|
-
# Verbose output
|
|
41
|
+
marktoflow run workflow.md --input key=value
|
|
42
|
+
marktoflow run workflow.md --agent copilot --model gpt-4o
|
|
138
43
|
marktoflow run workflow.md --verbose
|
|
44
|
+
marktoflow run workflow.md --dry-run
|
|
139
45
|
```
|
|
140
46
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
Initialize a new marktoflow project.
|
|
47
|
+
### Validate before running
|
|
144
48
|
|
|
145
49
|
```bash
|
|
146
|
-
marktoflow
|
|
147
|
-
|
|
148
|
-
# Skip prompts
|
|
149
|
-
marktoflow init --yes
|
|
50
|
+
marktoflow workflow validate workflow.md
|
|
150
51
|
```
|
|
151
52
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
Show version information.
|
|
53
|
+
### Connect services
|
|
155
54
|
|
|
156
55
|
```bash
|
|
157
|
-
marktoflow
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
#### `marktoflow doctor`
|
|
161
|
-
|
|
162
|
-
Run system diagnostics.
|
|
163
|
-
|
|
164
|
-
```bash
|
|
165
|
-
marktoflow doctor
|
|
56
|
+
marktoflow connect gmail
|
|
57
|
+
marktoflow connect outlook
|
|
166
58
|
```
|
|
167
59
|
|
|
168
|
-
###
|
|
169
|
-
|
|
170
|
-
#### `marktoflow schedule <workflow>`
|
|
171
|
-
|
|
172
|
-
Schedule a workflow to run on a cron schedule.
|
|
60
|
+
### Schedule workflows
|
|
173
61
|
|
|
174
62
|
```bash
|
|
175
|
-
# Schedule workflow
|
|
176
63
|
marktoflow schedule workflow.md --cron "0 9 * * 1-5"
|
|
177
|
-
|
|
178
|
-
# List scheduled workflows
|
|
179
|
-
marktoflow schedule list
|
|
180
|
-
|
|
181
|
-
# Remove schedule
|
|
182
|
-
marktoflow schedule remove <workflow-id>
|
|
183
|
-
|
|
184
|
-
# Start scheduler daemon
|
|
185
64
|
marktoflow schedule start
|
|
186
|
-
|
|
187
|
-
# Stop scheduler daemon
|
|
188
|
-
marktoflow schedule stop
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
### Webhooks
|
|
192
|
-
|
|
193
|
-
#### `marktoflow webhook <workflow>`
|
|
194
|
-
|
|
195
|
-
Create webhook endpoint for workflow.
|
|
196
|
-
|
|
197
|
-
```bash
|
|
198
|
-
# Start webhook server
|
|
199
|
-
marktoflow webhook workflow.md --path /github --port 3000
|
|
200
|
-
|
|
201
|
-
# With secret for signature verification
|
|
202
|
-
marktoflow webhook workflow.md --path /github --secret ${WEBHOOK_SECRET}
|
|
203
|
-
|
|
204
|
-
# List webhooks
|
|
205
|
-
marktoflow webhook list
|
|
206
|
-
|
|
207
|
-
# Stop webhook server
|
|
208
|
-
marktoflow webhook stop
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
### Queue Workers
|
|
212
|
-
|
|
213
|
-
#### `marktoflow worker`
|
|
214
|
-
|
|
215
|
-
Start a queue worker to process workflows.
|
|
216
|
-
|
|
217
|
-
```bash
|
|
218
|
-
# Start worker (Redis)
|
|
219
|
-
marktoflow worker --queue redis --redis-url redis://localhost:6379
|
|
220
|
-
|
|
221
|
-
# Start worker (RabbitMQ)
|
|
222
|
-
marktoflow worker --queue rabbitmq --rabbitmq-url amqp://localhost
|
|
223
|
-
|
|
224
|
-
# Multiple workers
|
|
225
|
-
marktoflow worker --concurrency 5
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
### Development
|
|
229
|
-
|
|
230
|
-
#### `marktoflow dry-run <workflow>`
|
|
231
|
-
|
|
232
|
-
Test workflow without executing actions.
|
|
233
|
-
|
|
234
|
-
```bash
|
|
235
|
-
marktoflow dry-run workflow.md
|
|
236
|
-
|
|
237
|
-
# With mocked responses
|
|
238
|
-
marktoflow dry-run workflow.md --mock slack.chat.postMessage=success
|
|
239
65
|
```
|
|
240
66
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
Run workflow with detailed debug logging.
|
|
67
|
+
### Start webhook server
|
|
244
68
|
|
|
245
69
|
```bash
|
|
246
|
-
marktoflow
|
|
70
|
+
marktoflow serve --port 3000
|
|
71
|
+
marktoflow serve --socket # Slack Socket Mode
|
|
247
72
|
```
|
|
248
73
|
|
|
249
|
-
###
|
|
250
|
-
|
|
251
|
-
#### `marktoflow connect <service>`
|
|
252
|
-
|
|
253
|
-
Set up OAuth for email services.
|
|
74
|
+
### Launch visual editor
|
|
254
75
|
|
|
255
76
|
```bash
|
|
256
|
-
# Gmail OAuth
|
|
257
|
-
marktoflow connect gmail
|
|
258
|
-
|
|
259
|
-
# Outlook OAuth
|
|
260
|
-
marktoflow connect outlook
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
This launches a browser for OAuth authentication and stores credentials securely.
|
|
264
|
-
|
|
265
|
-
### Visual Designer
|
|
266
|
-
|
|
267
|
-
#### `marktoflow gui`
|
|
268
|
-
|
|
269
|
-
Start the visual workflow designer.
|
|
270
|
-
|
|
271
|
-
```bash
|
|
272
|
-
# Start GUI server
|
|
273
77
|
marktoflow gui
|
|
274
|
-
|
|
275
|
-
# With options
|
|
276
|
-
marktoflow gui --port 3000 # Custom port
|
|
277
|
-
marktoflow gui --open # Open browser automatically
|
|
78
|
+
marktoflow gui --port 3000 --open
|
|
278
79
|
```
|
|
279
80
|
|
|
280
|
-
###
|
|
281
|
-
|
|
282
|
-
#### `marktoflow new <template>`
|
|
283
|
-
|
|
284
|
-
Create workflow from template.
|
|
81
|
+
### Create from template
|
|
285
82
|
|
|
286
83
|
```bash
|
|
287
|
-
# List available templates
|
|
288
84
|
marktoflow new --list
|
|
289
|
-
|
|
290
|
-
# Create from template
|
|
291
85
|
marktoflow new code-review --output workflows/code-review.md
|
|
292
|
-
|
|
293
|
-
# Interactive wizard
|
|
294
|
-
marktoflow new
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
**Available Templates:**
|
|
298
|
-
|
|
299
|
-
Built-in templates match the examples/ directory:
|
|
300
|
-
- `code-review` - Automated GitHub PR review
|
|
301
|
-
- `daily-standup` - Jira/Slack standup automation
|
|
302
|
-
- `incident-response` - Multi-service incident coordination
|
|
303
|
-
- `dependency-update` - Package update automation
|
|
304
|
-
- `sprint-planning` - AI-assisted sprint planning
|
|
305
|
-
- `web-automation` - Playwright browser automation
|
|
306
|
-
- `gmail-notification` - Email automation
|
|
307
|
-
- And more...
|
|
308
|
-
|
|
309
|
-
### Agent & Tool Management
|
|
310
|
-
|
|
311
|
-
#### `marktoflow agents list`
|
|
312
|
-
|
|
313
|
-
List available AI agents.
|
|
314
|
-
|
|
315
|
-
```bash
|
|
316
|
-
marktoflow agents list
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
#### `marktoflow tools list`
|
|
320
|
-
|
|
321
|
-
List available tools and integrations.
|
|
322
|
-
|
|
323
|
-
```bash
|
|
324
|
-
marktoflow tools list
|
|
325
|
-
|
|
326
|
-
# Show tool details
|
|
327
|
-
marktoflow tools show slack
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
#### `marktoflow bundles list`
|
|
331
|
-
|
|
332
|
-
List available tool bundles.
|
|
333
|
-
|
|
334
|
-
```bash
|
|
335
|
-
marktoflow bundles list
|
|
336
|
-
|
|
337
|
-
# Install bundle
|
|
338
|
-
marktoflow bundles install my-bundle.json
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
## Configuration
|
|
342
|
-
|
|
343
|
-
### Environment Variables
|
|
344
|
-
|
|
345
|
-
```bash
|
|
346
|
-
# Core
|
|
347
|
-
MARKTOFLOW_DB_PATH=.marktoflow/state.db
|
|
348
|
-
|
|
349
|
-
# Slack
|
|
350
|
-
SLACK_BOT_TOKEN=xoxb-your-token
|
|
351
|
-
|
|
352
|
-
# GitHub
|
|
353
|
-
GITHUB_TOKEN=ghp_your-token
|
|
354
|
-
|
|
355
|
-
# Jira
|
|
356
|
-
JIRA_HOST=your-domain.atlassian.net
|
|
357
|
-
JIRA_EMAIL=your@email.com
|
|
358
|
-
JIRA_API_TOKEN=your-token
|
|
359
|
-
|
|
360
|
-
# Gmail
|
|
361
|
-
GMAIL_CLIENT_ID=your-client-id
|
|
362
|
-
GMAIL_CLIENT_SECRET=your-secret
|
|
363
|
-
GMAIL_REFRESH_TOKEN=your-refresh-token
|
|
364
|
-
|
|
365
|
-
# Outlook
|
|
366
|
-
OUTLOOK_CLIENT_ID=your-client-id
|
|
367
|
-
OUTLOOK_CLIENT_SECRET=your-secret
|
|
368
|
-
OUTLOOK_TENANT_ID=your-tenant-id
|
|
369
|
-
```
|
|
370
|
-
|
|
371
|
-
### Configuration File
|
|
372
|
-
|
|
373
|
-
`.marktoflow/config.yaml`:
|
|
374
|
-
|
|
375
|
-
```yaml
|
|
376
|
-
state:
|
|
377
|
-
dbPath: .marktoflow/state.db
|
|
378
|
-
|
|
379
|
-
queue:
|
|
380
|
-
type: redis
|
|
381
|
-
redis:
|
|
382
|
-
host: localhost
|
|
383
|
-
port: 6379
|
|
384
|
-
|
|
385
|
-
security:
|
|
386
|
-
rbac:
|
|
387
|
-
enabled: true
|
|
388
|
-
auditLog:
|
|
389
|
-
enabled: true
|
|
390
|
-
|
|
391
|
-
costs:
|
|
392
|
-
budget:
|
|
393
|
-
daily: 100
|
|
394
|
-
monthly: 3000
|
|
395
|
-
|
|
396
|
-
logging:
|
|
397
|
-
level: info
|
|
398
|
-
file: .marktoflow/logs/marktoflow.log
|
|
399
86
|
```
|
|
400
87
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
The [examples/](https://github.com/marktoflow/marktoflow/tree/main/examples) directory contains 14+ production-ready workflow templates you can use as starting points:
|
|
404
|
-
|
|
405
|
-
- **[code-review](https://github.com/marktoflow/marktoflow/tree/main/examples/code-review)** - Automated GitHub PR review with security, performance, and quality checks
|
|
406
|
-
- **[copilot-code-review](https://github.com/marktoflow/marktoflow/tree/main/examples/copilot-code-review)** - Advanced review using GitHub Copilot SDK
|
|
407
|
-
- **[daily-standup](https://github.com/marktoflow/marktoflow/tree/main/examples/daily-standup)** - Jira + Slack activity aggregation with AI summaries
|
|
408
|
-
- **[dependency-update](https://github.com/marktoflow/marktoflow/tree/main/examples/dependency-update)** - Automated package updates with AI changelogs
|
|
409
|
-
- **[incident-response](https://github.com/marktoflow/marktoflow/tree/main/examples/incident-response)** - PagerDuty + Slack + Jira coordination
|
|
410
|
-
- **[sprint-planning](https://github.com/marktoflow/marktoflow/tree/main/examples/sprint-planning)** - Velocity analysis + AI story selection
|
|
411
|
-
- **[doc-maintenance](https://github.com/marktoflow/marktoflow/tree/main/examples/doc-maintenance)** - Smart documentation updates using Ollama
|
|
412
|
-
- **[web-automation](https://github.com/marktoflow/marktoflow/tree/main/examples/web-automation)** - Playwright-based browser automation
|
|
413
|
-
- **[gmail-notification](https://github.com/marktoflow/marktoflow/tree/main/examples/gmail-notification)** - Email automation with Gmail API
|
|
414
|
-
- **[linear-sync](https://github.com/marktoflow/marktoflow/tree/main/examples/linear-sync)** - Linear issue tracking sync
|
|
415
|
-
- **[codebase-qa](https://github.com/marktoflow/marktoflow/tree/main/examples/codebase-qa)** - AI-powered codebase Q&A
|
|
416
|
-
|
|
417
|
-
Run any example:
|
|
88
|
+
### Other commands
|
|
418
89
|
|
|
419
90
|
```bash
|
|
420
|
-
marktoflow
|
|
91
|
+
marktoflow init # Initialize project
|
|
92
|
+
marktoflow version # Show version
|
|
93
|
+
marktoflow doctor # System diagnostics
|
|
94
|
+
marktoflow agents list # List available AI agents
|
|
95
|
+
marktoflow tools list # List available integrations
|
|
96
|
+
marktoflow history # View execution history
|
|
421
97
|
```
|
|
422
98
|
|
|
423
|
-
##
|
|
424
|
-
|
|
425
|
-
### Daily Standup Report
|
|
99
|
+
## Example: Daily Standup
|
|
426
100
|
|
|
427
101
|
```bash
|
|
428
|
-
|
|
429
|
-
cat > workflows/daily-standup.md << 'EOF'
|
|
102
|
+
cat > workflows/standup.md << 'EOF'
|
|
430
103
|
---
|
|
431
104
|
workflow:
|
|
432
105
|
id: daily-standup
|
|
433
|
-
name: Daily Standup
|
|
106
|
+
name: Daily Standup
|
|
434
107
|
|
|
435
108
|
tools:
|
|
436
109
|
jira:
|
|
@@ -456,159 +129,13 @@ steps:
|
|
|
456
129
|
text: 'Working on: {{ issues.issues[0].fields.summary }}'
|
|
457
130
|
EOF
|
|
458
131
|
|
|
459
|
-
|
|
460
|
-
marktoflow schedule workflows/daily-standup.md --cron "0 9 * * 1-5"
|
|
461
|
-
|
|
462
|
-
# Start scheduler
|
|
132
|
+
marktoflow schedule workflows/standup.md --cron "0 9 * * 1-5"
|
|
463
133
|
marktoflow schedule start
|
|
464
134
|
```
|
|
465
135
|
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
```bash
|
|
469
|
-
# Create webhook workflow
|
|
470
|
-
cat > workflows/github-pr.md << 'EOF'
|
|
471
|
-
---
|
|
472
|
-
workflow:
|
|
473
|
-
id: github-pr-review
|
|
474
|
-
name: GitHub PR Review Notification
|
|
475
|
-
|
|
476
|
-
tools:
|
|
477
|
-
slack:
|
|
478
|
-
sdk: '@slack/web-api'
|
|
479
|
-
auth:
|
|
480
|
-
token: '${SLACK_BOT_TOKEN}'
|
|
481
|
-
|
|
482
|
-
inputs:
|
|
483
|
-
pr_url:
|
|
484
|
-
type: string
|
|
485
|
-
pr_title:
|
|
486
|
-
type: string
|
|
487
|
-
author:
|
|
488
|
-
type: string
|
|
489
|
-
|
|
490
|
-
steps:
|
|
491
|
-
- action: slack.chat.postMessage
|
|
492
|
-
inputs:
|
|
493
|
-
channel: '#code-review'
|
|
494
|
-
text: |
|
|
495
|
-
🔍 New PR ready for review
|
|
496
|
-
*{{ inputs.pr_title }}* by {{ inputs.author }}
|
|
497
|
-
{{ inputs.pr_url }}
|
|
498
|
-
EOF
|
|
499
|
-
|
|
500
|
-
# Start webhook server
|
|
501
|
-
marktoflow webhook workflows/github-pr.md --path /github --port 3000
|
|
502
|
-
```
|
|
503
|
-
|
|
504
|
-
### Multi-Agent Workflow
|
|
505
|
-
|
|
506
|
-
```bash
|
|
507
|
-
cat > workflows/research-and-summarize.md << 'EOF'
|
|
508
|
-
---
|
|
509
|
-
workflow:
|
|
510
|
-
id: research-summarize
|
|
511
|
-
name: Research and Summarize
|
|
512
|
-
|
|
513
|
-
tools:
|
|
514
|
-
ollama:
|
|
515
|
-
adapter: ollama
|
|
516
|
-
|
|
517
|
-
agents:
|
|
518
|
-
researcher:
|
|
519
|
-
model: llama2
|
|
520
|
-
role: research
|
|
521
|
-
writer:
|
|
522
|
-
model: llama2
|
|
523
|
-
role: summarize
|
|
524
|
-
|
|
525
|
-
steps:
|
|
526
|
-
- action: ollama.generate
|
|
527
|
-
agent: researcher
|
|
528
|
-
inputs:
|
|
529
|
-
prompt: 'Research recent developments in {{ inputs.topic }}'
|
|
530
|
-
output_variable: research
|
|
531
|
-
|
|
532
|
-
- action: ollama.generate
|
|
533
|
-
agent: writer
|
|
534
|
-
inputs:
|
|
535
|
-
prompt: 'Summarize this research: {{ research.response }}'
|
|
536
|
-
output_variable: summary
|
|
537
|
-
EOF
|
|
538
|
-
|
|
539
|
-
marktoflow run workflows/research-and-summarize.md --input topic="quantum computing"
|
|
540
|
-
```
|
|
541
|
-
|
|
542
|
-
## Troubleshooting
|
|
543
|
-
|
|
544
|
-
### Command not found
|
|
545
|
-
|
|
546
|
-
If `marktoflow` command is not found after global installation:
|
|
547
|
-
|
|
548
|
-
```bash
|
|
549
|
-
# Check npm global bin directory
|
|
550
|
-
npm config get prefix
|
|
551
|
-
|
|
552
|
-
# Add to PATH (macOS/Linux)
|
|
553
|
-
export PATH="$PATH:$(npm config get prefix)/bin"
|
|
554
|
-
|
|
555
|
-
# Or use npx
|
|
556
|
-
npx @marktoflow/cli@alpha version
|
|
557
|
-
```
|
|
558
|
-
|
|
559
|
-
### Permission errors
|
|
560
|
-
|
|
561
|
-
```bash
|
|
562
|
-
# Use npx instead of global install
|
|
563
|
-
npx @marktoflow/cli@alpha run workflow.md
|
|
564
|
-
|
|
565
|
-
# Or configure npm to use local directory
|
|
566
|
-
npm config set prefix ~/.npm-global
|
|
567
|
-
export PATH=~/.npm-global/bin:$PATH
|
|
568
|
-
npm install -g @marktoflow/cli@alpha
|
|
569
|
-
```
|
|
570
|
-
|
|
571
|
-
### OAuth issues
|
|
572
|
-
|
|
573
|
-
```bash
|
|
574
|
-
# Re-run OAuth setup
|
|
575
|
-
marktoflow connect gmail --force
|
|
576
|
-
|
|
577
|
-
# Check stored credentials
|
|
578
|
-
ls -la .marktoflow/credentials/
|
|
579
|
-
```
|
|
580
|
-
|
|
581
|
-
## Development
|
|
582
|
-
|
|
583
|
-
### Install from source
|
|
584
|
-
|
|
585
|
-
```bash
|
|
586
|
-
git clone https://github.com/marktoflow/marktoflow.git
|
|
587
|
-
cd marktoflow
|
|
588
|
-
pnpm install
|
|
589
|
-
pnpm build
|
|
590
|
-
npm link packages/cli
|
|
591
|
-
```
|
|
592
|
-
|
|
593
|
-
### Run tests
|
|
594
|
-
|
|
595
|
-
```bash
|
|
596
|
-
pnpm test
|
|
597
|
-
```
|
|
598
|
-
|
|
599
|
-
## Links
|
|
600
|
-
|
|
601
|
-
- [Main Repository](https://github.com/marktoflow/marktoflow)
|
|
602
|
-
- [Documentation](https://github.com/marktoflow/marktoflow#readme)
|
|
603
|
-
- [Installation Guide](https://github.com/marktoflow/marktoflow/blob/main/docs/INSTALLATION.md)
|
|
604
|
-
- [Publishing Guide](https://github.com/marktoflow/marktoflow/blob/main/docs/PUBLISHING.md)
|
|
605
|
-
- [Core Package](@marktoflow/core)
|
|
606
|
-
- [Integrations Package](@marktoflow/integrations)
|
|
607
|
-
|
|
608
|
-
## Support
|
|
136
|
+
## Contributing
|
|
609
137
|
|
|
610
|
-
|
|
611
|
-
- [Discussions](https://github.com/marktoflow/marktoflow/discussions)
|
|
138
|
+
See the [contributing guide](../../CONTRIBUTING.md).
|
|
612
139
|
|
|
613
140
|
## License
|
|
614
141
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dry-run.d.ts","sourceRoot":"","sources":["../../src/commands/dry-run.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,kBAAkB,CAAC;AAOnE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAyB7F;
|
|
1
|
+
{"version":3,"file":"dry-run.d.ts","sourceRoot":"","sources":["../../src/commands/dry-run.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,kBAAkB,CAAC;AAOnE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAyB7F;AA6MD,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;IAC/C,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,WAAW,GAAG,YAAY,CAAC;IACnC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA4HvB;AA4ID;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAwBvF"}
|