pipes + i/o / local / open source / early days
Small pipelines.
Big receipts.
Pipo runs the little glue jobs you keep rewriting: a webhook into SQLite, a folder into ffmpeg, a Telegram bot that answers back. Each one is a tiny YAML file on your machine. Write it yourself, or ask Claude to. Pipo journals every packet and shows you where it landed.
01 · the playground
Pick a pipeline. Poke it.
Send packets, pull the plug mid-flight, break the destination. The file on the left is a real
.pipo that passes pipo check; the runner on the right is a toy that copies what
the real one does.
- Journaled before “ok”. A packet is written to the pipeline's SQLite journal before the sender is acknowledged.
- One commit per step. After a crash, a packet resumes from its last committed step. The step that was running runs again.
- Delivered means checked. The write succeeded, and if you ask, Pipo looks for the row, the line or the follow-up.
- At-least-once, said out loud. Not exactly-once. Writes are idempotent on a key; a side effect can still repeat.
02 · agent-first
Or just ask.
Pipo ships a Claude Code plugin and an MCP server. Claude writes the file, checks it, dry-runs it on fixtures, then waits. Nothing an agent writes runs until you approve it.
Approval is tied to a hash of the files. If they change, it's pending again.
03 · what plugs in
A short list. On purpose.
One or more inputs, a few steps, one output. What's here works today; the dashed ones are on the roadmap.
in
- http
- schedule
- watch
- telegram
- push
- system
- pipeline
- mqtt
- queues
steps
- map
- fn TypeScript
- filter
- route
- loop
- fan-out
- tap
- exec any program
- agent Claude, Codex, pi, opencode
- join
- window
out
- sqlite
- file
- http
- telegram
- stdout
- pipeline
- postgres
- s3
the same file, four ways in
- Your editorVS Code schema and highlighting
- The CLI
check,test,run,--jsoneverywhere - The dashboardbehind your login: live graph, packet inspector, DLQ, a builder that saves the file
- MCPscoped tokens for agents that operate or author
What Pipo is and isn't
pipo is
- one readable file per pipeline, in Git
- for personal and small-team glue
- running on your laptop, or a box you own behind your login
- happy to be written and run by an agent
pipo isn't
- a hosted or multi-user service: one owner, no roles
- a Kafka, Airflow or BPM replacement
- exactly-once (it's at-least-once)
- finished: no packaged release yet
04 · make it run
Two commands. Your machine.
Linux or macOS. The installer checks for Bun ≥ 1.3, Rust and Git, offers to install what's missing, builds the runner and checks the install.
curl -fsSL https://raw.githubusercontent.com/ramigb/pipo/main/install.sh | bash
pipo ui # pick your owner login, then the dashboard
/plugin install pipo --marketplace ramigb/pipo
Then pipo engine start and /mcp. You log in and approve the connection
in your browser.