{"id":43606567,"url":"https://github.com/marktoflow/marktoflow","last_synced_at":"2026-02-16T21:02:36.126Z","repository":{"id":334963042,"uuid":"1142976240","full_name":"marktoflow/marktoflow","owner":"marktoflow","description":"Automation frameworks shouldn't fight you. Marktoflow is CLI-native automation with the power of AI agents. Write workflows in markdown+YAML, execute with Claude Code,    GitHub Copilot, Codex, or OpenCode — no AI API keys required. 38 direct SDK integrations, visual designer UI, and full MCP compatibility. Simple to write, powerful to run.","archived":false,"fork":false,"pushed_at":"2026-02-15T23:44:50.000Z","size":3393,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-15T23:56:20.964Z","etag":null,"topics":["ai","ai-agents","ai-agents-automation","ai-automation","automation","claude-code","cli","cli-agents","codex","github-copilot","gui","markdown","mcp","opencode","typescript","visual-designer","workflow","workflow-automation","yaml"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marktoflow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":["scottgl9"],"buy_me_a_coffee":"scottgl","custom":["https://paypal.me/scottgl"]}},"created_at":"2026-01-27T03:39:41.000Z","updated_at":"2026-02-15T18:42:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/marktoflow/marktoflow","commit_stats":null,"previous_names":["marktoflow/marktoflow"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/marktoflow/marktoflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marktoflow%2Fmarktoflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marktoflow%2Fmarktoflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marktoflow%2Fmarktoflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marktoflow%2Fmarktoflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marktoflow","download_url":"https://codeload.github.com/marktoflow/marktoflow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marktoflow%2Fmarktoflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29515487,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T18:37:19.720Z","status":"ssl_error","status_checked_at":"2026-02-16T18:36:46.920Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-agents","ai-agents-automation","ai-automation","automation","claude-code","cli","cli-agents","codex","github-copilot","gui","markdown","mcp","opencode","typescript","visual-designer","workflow","workflow-automation","yaml"],"created_at":"2026-02-04T08:18:28.672Z","updated_at":"2026-02-16T21:02:36.120Z","avatar_url":"https://github.com/marktoflow.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/marktoflow-logo.png\" alt=\"marktoflow\" width=\"200\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003emarktoflow\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eOpen-source AI workflow automation — your workflows are just markdown files.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Use your Copilot/Claude/Codex subscriptions · 39 integrations · Tool calling · Local LLMs · Self-hosted\n\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@marktoflow/marktoflow\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@marktoflow/marktoflow\" alt=\"npm version\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/marktoflow/marktoflow/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-AGPL--3.0-blue\" alt=\"License\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/marktoflow/marktoflow/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/marktoflow/marktoflow\" alt=\"GitHub stars\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/marktoflow/marktoflow/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/marktoflow/marktoflow/ci.yml?branch=main\" alt=\"Build\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@marktoflow/marktoflow\"\u003e\u003cimg src=\"https://img.shields.io/npm/dm/@marktoflow/marktoflow\" alt=\"Downloads\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/gui-screenshot.png\" alt=\"marktoflow visual workflow designer\" width=\"900\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cem\u003eVisual workflow designer — drag-and-drop nodes, AI-assisted editing, one-click execution\u003c/em\u003e\n\u003c/p\u003e\n\n---\n\n## Quick Start\n\n```bash\nnpm install -g marktoflow\n\nmarktoflow init\n\nmarktoflow run workflow.md\n```\n\nThat's it. Your workflow is a markdown file with YAML frontmatter:\n\n```yaml\n---\nworkflow:\n  id: hello-world\n  name: Hello World\n\ntools:\n  slack:\n    sdk: '@slack/web-api'\n    auth:\n      token: '${SLACK_BOT_TOKEN}'\n\nsteps:\n  - action: slack.chat.postMessage\n    inputs:\n      channel: '#general'\n      text: 'Hello from marktoflow!'\n---\n```\n\nAlready have a GitHub Copilot, Claude, or Codex subscription? Use it directly — no API keys:\n\n```bash\nmarktoflow run workflow.md --agent copilot   # GitHub Copilot subscription\nmarktoflow run workflow.md --agent claude     # Claude CLI login\nmarktoflow run workflow.md --agent codex      # Codex CLI\nmarktoflow run workflow.md --agent ollama     # Free, runs locally\n```\n\n## Why marktoflow?\n\n| | What you get |\n|---|---|\n| **Markdown-native** | Workflows are `.md` files — readable, auditable, diffable, version-controlled |\n| **Use your existing AI** | Copilot, Claude, Codex subscriptions — no extra API keys needed |\n| **AI tool calling** | Agentic loops — models call tools, get results, and reason autonomously |\n| **Local LLMs too** | Optional llama.cpp, VLLM, Ollama support for air-gapped or offline use |\n| **Secure by design** | Self-hosted, no telemetry, your data never leaves your infrastructure |\n| **Structured output** | JSON mode and JSON Schema validation for reliable AI responses |\n| **MCP-first** | Native Model Context Protocol support with zero config |\n| **Direct SDK calls** | Official SDKs, full TypeScript types, no wrapper APIs |\n| **Parallel execution** | Run multiple AI agents concurrently — 3x faster code reviews, batch processing |\n| **Visual editor** | Optional drag-and-drop GUI with `marktoflow gui` |\n| **Cost tracking** | Know exactly what each workflow run costs |\n\n## Security \u0026 Privacy\n\nmarktoflow is designed for teams and individuals who care about where their data goes.\n\n| | marktoflow | Cloud agent platforms |\n|---|---|---|\n| **Data residency** | Your infrastructure — nothing leaves unless you send it | Data processed on vendor servers |\n| **Local LLM support** | First-class — llama.cpp, VLLM, Ollama | Typically cloud-only |\n| **Air-gapped operation** | ✅ Full offline support with local models | ❌ Requires internet |\n| **Audit trail** | Git history + SQLite execution logs — fully inspectable | Vendor-controlled logs |\n| **Workflow transparency** | Plain markdown — read every step before it runs | Opaque agent behavior |\n| **Telemetry** | None — zero phone-home, zero tracking | Varies |\n| **Credential storage** | Local encryption (AES-256-GCM) or your vault (HashiCorp, AWS, Azure) | Vendor-managed |\n| **Source available** | AGPL-3.0 — inspect, modify, self-host | Often proprietary |\n\n**Use case:** You want AI-powered automation but your company policy (or common sense) says sensitive data — code, credentials, customer info, internal docs — shouldn't flow through third-party agent platforms. marktoflow runs entirely on your machine or your servers with your choice of LLM.\n\n## How it compares\n\n### vs. Workflow Platforms\n\n| Feature | marktoflow | Zapier | n8n | GitHub Actions |\n|---------|:----------:|:------:|:---:|:--------------:|\n| Open source | Yes | No | Yes | No |\n| Workflow format | Markdown | Proprietary | JSON | YAML |\n| Version control | Git-native | No | Limited | Git-native |\n| AI agent support | Built-in | Add-on | Plugin | Limited |\n| AI tool calling | Built-in | No | Plugin | No |\n| Local LLMs | Yes | No | Via plugin | No |\n| Direct SDK access | Yes | No | No | Via actions |\n| Visual editor | Yes | Yes | Yes | No |\n| Self-hosted | Yes | No | Yes | Runners only |\n| Per-task pricing | Free | Yes | Free (self-host) | Minutes-based |\n\n### vs. AI Agent Platforms\n\n| Feature | marktoflow | OpenClaw | LangChain | CrewAI |\n|---------|:----------:|:--------:|:---------:|:------:|\n| Self-hosted | Yes | Gateway only | Yes | Yes |\n| Local LLM support | First-class | Limited | Yes | Yes |\n| Air-gapped / offline | Yes | No | Partial | Partial |\n| No telemetry | Yes | No | Opt-out | Opt-out |\n| Workflow format | Markdown (auditable) | Opaque | Python code | Python code |\n| Visual editor | Yes | No | No | No |\n| 39 native integrations | Yes | No | Community | Community |\n| Non-AI workflows | Yes | No | No | No |\n| Data stays local | Always | Routed through gateway | Depends on LLM | Depends on LLM |\n\n## Integrations\n\n39 native SDK integrations — all with TypeScript types, retry logic, and input validation.\n\n| Category | Services |\n|----------|----------|\n| **Communication** | Slack, Teams, Discord, Telegram, WhatsApp, Twilio |\n| **Email** | Gmail, Outlook, SendGrid, Mailchimp |\n| **Google Workspace** | Sheets, Calendar, Drive, Docs |\n| **Project Management** | Jira, Linear, Asana, Trello |\n| **Knowledge** | Notion, Confluence |\n| **Developer** | GitHub, Airtable |\n| **Payments** | Stripe, Shopify |\n| **Support** | Zendesk |\n| **Storage** | Dropbox, AWS S3 |\n| **Databases** | Supabase, PostgreSQL, MySQL |\n| **Universal** | HTTP client (any REST API), RSS/Atom feeds |\n| **AI Agents** | GitHub Copilot, Claude, Codex — use your existing subscriptions, no API keys — plus OpenAI, Ollama, llama.cpp, VLLM for local/custom setups — [control via Slack/Telegram](examples/agent-task-executor/) |\n\n## Packages\n\n| Package | Description |\n|---------|-------------|\n| [`marktoflow`](packages/marktoflow-wrapper) | All-in-one install: `npm install -g marktoflow` |\n| [`@marktoflow/marktoflow`](packages/marktoflow) | Scoped metapackage (CLI + GUI + integrations) |\n| [`@marktoflow/core`](packages/core) | Parser, engine, state management, plugin system |\n| [`@marktoflow/cli`](packages/cli) | Command-line interface and workflow runner |\n| [`@marktoflow/gui`](packages/gui) | Visual workflow designer (web UI) |\n| [`@marktoflow/integrations`](packages/integrations) | 39 service integrations and AI adapters |\n\n## Examples\n\nProduction-ready workflow templates in [`examples/`](examples/):\n\n- **[agent-task-executor](examples/agent-task-executor/)** — Control AI agents (Claude, Copilot, OpenCode, Ollama) via Slack/Telegram. Send task instructions, get structured results with pass/fail status.\n\n  Example: Send \"Create a React component called UserProfile with email validation\" → Agent executes with safe permissions → Returns structured results (3/3 tasks passed ✅)\n\n  ```bash\n  # Run the Slack version\n  marktoflow run examples/agent-task-executor/workflow-slack.md\n\n  # Or use Telegram\n  marktoflow run examples/agent-task-executor/workflow-telegram.md\n  ```\n- **[parallel-agents](examples/parallel-agents/)** — ⚡ NEW: Run multiple AI agents concurrently\n  - [multi-agent-code-review](examples/parallel-agents/multi-agent-code-review.md) — Security + Performance + Quality reviews in parallel (3x faster)\n  - [batch-pr-processing](examples/parallel-agents/batch-pr-processing.md) — Review 50 PRs in 5 minutes instead of 25\n  - [consensus-decision](examples/parallel-agents/consensus-decision.md) — Gather diverse AI perspectives for better decisions\n- **[codebase-qa](examples/codebase-qa/)** — AI-powered Q\u0026A via Slack/Telegram\n- **[copilot-code-review](examples/copilot-code-review/)** — PR review with GitHub Copilot\n- **[daily-standup](examples/daily-standup/)** — Jira + Slack standup automation\n- **[incident-response](examples/incident-response/)** — Multi-service incident coordination\n- **[approval-workflow](examples/approval-workflow/)** — Human-in-the-loop with web forms\n- **[sprint-planning](examples/sprint-planning/)** — AI-assisted sprint planning\n\n## Documentation\n\n**[📋 CHANGELOG](CHANGELOG.md)** — Version history, new features, security fixes, breaking changes\n\n- [Installation Guide](docs/INSTALLATION.md)\n- [Detailed Guide](docs/DETAILED-GUIDE.md)\n- [YAML API Reference](docs/YAML-API.md) — Complete API including ⚡ parallel execution\n- [REST API Guide](docs/REST-API-GUIDE.md)\n- [Template Expressions](docs/TEMPLATE-EXPRESSIONS.md)\n- [Control Flow](docs/CONTROL-FLOW-GUIDE.md)\n- [GUI User Guide](docs/GUI_USER_GUIDE.md)\n\n## Community\n\n- [GitHub Discussions](https://github.com/marktoflow/marktoflow/discussions) — Questions, ideas, show \u0026 tell\n- [Contributing](CONTRIBUTING.md) — PRs welcome\n- [Issues](https://github.com/marktoflow/marktoflow/issues) — Bug reports and feature requests\n\n## License\n\n[AGPL-3.0](LICENSE) — Free for personal and open source use. Commercial licensing available for organizations that cannot comply with AGPL terms. Contact [scottgl@gmail.com](mailto:scottgl@gmail.com) for details.\n","funding_links":["https://github.com/sponsors/scottgl9","https://buymeacoffee.com/scottgl","https://paypal.me/scottgl"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarktoflow%2Fmarktoflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarktoflow%2Fmarktoflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarktoflow%2Fmarktoflow/lists"}