rubecli
v0.1.0
Published
Rigs that build themselves. AI-driven automation pipelines from shell scripts.
Downloads
117
Maintainers
Readme
Rube
Rigs that build themselves.
The automation platform that AI agents can actually use. No drag-and-drop. No YAML. Describe what you want, and Claude builds a working pipeline.
Why Rube exists
You want automation, not a chore.
No SaaS. No YAML. No drag-and-drop. No infrastructure to deploy.
You describe what you want. An agent builds it. You get a folder of shell scripts you can read, run, git commit, and forget about.
Automation you own. Code you didn't have to write.
What you get
stale-tickets/
├── steps/
│ ├── fetch.sh # Get data from Jira
│ ├── transform.sh # Process with DuckDB
│ └── notify.sh # Post to Slack
├── out/ # Outputs live here
└── .beads/ # DAG state (dependencies)Shell scripts. Files. Git-committable. Debug with bash steps/fetch.sh.
Watch it build itself
You: I need to find Jira tickets that haven't been updated
in 7 days and post them to Slack every morning.
Claude: I'll build a rig for that.
$ mkdir stale-tickets && cd stale-tickets
$ rube init
$ rube step add fetch -d "Get stale tickets" -s '...'
$ rube step add format -d "Format message" -s '...'
$ rube step add notify -d "Post to Slack" -s '...'
$ rube dep add format --needs fetch
$ rube dep add notify --needs format
Done. Run it with: rube run
You: Run it.
Claude: $ rube run
✔ fetch (2.1s)
✔ format (0.1s)
✔ notify (0.3s)
✓ Completed 3 steps (2.5s)No UI. No tinkering. The agent did it.
150 integrations built-in
Rube uses Steampipe under the hood. Query any API with SQL:
SELECT key, summary, assignee
FROM jira_issue
WHERE updated < now() - interval '7 days'Available: jira · slack · github · gitlab · postgres · aws · gcp · azure · pagerduty · datadog · okta · zendesk · 140+ more
Transforms are DuckDB. Secrets are psst. All SQL. All stuff the agent already knows.
Parallel by default
Steps without dependencies run in parallel:
$ rube run
✔ fetch-jira (2.1s) # ─┐
✔ fetch-github (1.8s) # ─┼─ parallel
✔ fetch-pagerduty (0.9s) # ─┘
✔ merge (0.3s) # waits for all three
✔ notify (0.1s)No configuration. If it can run, it runs.
Get started
# Install
npm install -g rube
# Set up dependencies
rube install
# Then either:
# Option A: Ask Claude to build it
# "Build me a rig that checks for open PRs older than 7 days and posts to Slack"
# Option B: Build it yourself
mkdir my-rig && cd my-rig
rube init
rube step add fetch -d "Get data" -s '#!/bin/bash
curl -s https://api.example.com/data > out/data.json'
rube runCommands
| Command | What it does |
|---------|--------------|
| rube install | Install all dependencies |
| rube doctor | Check dependencies are installed |
| rube init | Initialize a rig |
| rube list | List all registered rigs |
| rube step add <name> -d "desc" -s 'script' | Add a step |
| rube dep add <step> --needs <dep> | Wire dependencies |
| rube status | See what's ready, waiting, done |
| rube run | Execute the DAG |
| rube run --dry | Preview execution plan |
| rube secrets set <name> | Store a secret |
| rube secrets list | List stored secrets |
| rube export | Generate Dockerfile + compose |
Runs anywhere
Local: rube run
GitHub Actions: Free cron, no infra. rube export gives you a Docker image with everything baked in.
# .github/workflows/stale-tickets.yml
name: Stale tickets
on:
schedule:
- cron: '0 9 * * *' # Every day at 9am
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: docker build -t stale-tickets .
- run: docker run --env-file .env stale-tickets
env:
JIRA_TOKEN: ${{ secrets.JIRA_TOKEN }}
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}Commit. Push. Your automation runs forever for free.
Docker: rube export generates Dockerfile + compose.
Philosophy
- Shell scripts are fine. Stop overthinking.
- Files over memory. Steps communicate via
out/. - Git is truth. Commit your rigs.
- Agents can drive it. That's the point.
Requirements
- Node.js 20+
All other dependencies are installed automatically via rube install.
Credits
- Steampipe - APIs as SQL
- DuckDB - transforms
- psst - secrets management
- beads - DAG execution
- April Dunford - positioning inspiration
License
MIT
