cd /news/ai-agents/show-hn-rig-a-small-operating-system… · home › topics › ai-agents › article
[ARTICLE · art-140228] src=tryrig.ai ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

Show HN: Rig, a small operating system for your agent

Developer tool Rig 1.5.8 launched as a single-binary agent runtime that installs to ~/.local/bin via a curl script and self-updates with 'rig -update', turning any OpenAI-compatible endpoint into a coding agent that reads a repo, edits code, runs tests and retains session memory. Rig is configured through three files in ~/.rig — settings.json, models.json and workers.json — supports local and hosted models including llama.cpp, llama-swap, Ollama and OpenRouter, runs tool calls concurrently, and lets Python plugins be dropped in or written by the model itself pending user approval.

read4 min views1 publishedSep 26, 2026
Show HN: Rig, a small operating system for your agent
Image: source

1

Install it #

One file lands in your path. Signed releases, and it updates itself in place.

curl -fsSL https://tryrig.ai/install.sh | sh
✓ rig 1.5.8 installed to ~/.local/bin/rig

rig -update
█▀▄ █ █▀▀
█▀▄ █ █ █
▀ ▀ ▀ ▀▀▀

❯curl -fsSL https://tryrig.ai/install.sh | sh linux · macOS · amd64 · arm64 · no Go, no sudo

installs to ~/.local/bin

rig -update keeps the runtime current

what it is

rig turns the model on your desk into something that works. Point it at your repo and it reads the code, edits it, runs the tests, and remembers what it learned. One binary, one endpoint, one terminal.

It is small enough to read before you trust it. The loop is a few hundred lines, and everything around it plugs in: tools, guardrails, schedules, workers. Tool calls run concurrently, sessions stay fast for hours because the prompt never wobbles, and the cache does the rest.

Close the laptop. Pick the session back up from your phone.

getting set up

2

Anything that speaks the OpenAI API, on your desk or hosted: llama.cpp, llama-swap, Ollama, OpenRouter, or any compatible endpoint with a key. Three small files in ~/.rig, and these are real ones.

~/.rig/settings.json · which model, where the endpoint is

{
  "model": "local",
  "baseUrl": "http://127.0.0.1:8090/v1",
  "sandbox": "off",
  "plugins": { "enabled": [] }
}

~/.rig/models.json · one row per model: its window, its budget, its dials

[
  {
    "id": "local",
    "window": 393216,
    "maxTokens": 65536,
    "reserve": 104858,
    "keepRecent": 98304,
    "role": "interactive",
    "effort": "max",
    "efforts": ["low", "high", "max"],
    "vision": true
  },
  {
    "id": "sonnet",
    "window": 200000,
    "maxTokens": 8192,
    "provider": "openrouter",
    "baseUrl": "https://openrouter.ai/api/v1",
    "apiKey": "sk-or-…",
    "reasoning": "reasoning"
  }
]

~/.rig/workers.json · the fleet: which model background workers run on, and how many at once

{
  "model": "local",
  "slots": 2
}

3

Two optional files. A theme is a base plus the colours you want to change. AGENTS.md in the rig home is your standing instructions, read before every session, ahead of the project's own.

~/.rig/theme.json

{
  "base": "oled",
  "slots": {
    "ember": "#6b7fa3",
    "text": "#b8bfcc",
    "dim": "#3a4150"
  }
}

~/.rig/AGENTS.md

- run the tests before you say something is done
- prefer small commits with one idea each
- never add a dependency without saying why

4

The terminal opens. Ask for something real. Tool calls run in parallel and results land in order, so three reads cost one round trip and the transcript still reads top to bottom.

cd your-project && rig
❯ look around, run the tests in the background, remember what you learn

● todo · create   0/3 · next t1
● read · AGENTS.md
● find · PACKAGE.md
● grep · interface ./core
  three reads admitted together · results applied in call order
  batch ✓ 0.08s

5

Hand the slow part to a worker, or put a job on real cron. Workers are sandboxed and keep a transcript you can resume.

❯ have a worker run the full test sweep while we keep going
● delegate · w1 · running in a jail · 3m 12s

❯ /scheduler create health check the fund and note anything odd 0 */2 * * *
scheduler: j8 health · every 2 hours · next fire 14:00

6

A plugin is a Python file: a description, a schema, and a run function. Drop it in and it shows up beside the built-in tools on the next turn. The model can write one too; it lands in a pending folder until you approve it.

~/.rig/plugins/weather.py

DESCRIPTION = "current weather for a city"
SCHEMA = {"type": "object", "properties": {"city": {"type": "string"}}}

def run(args):
    return fetch_weather(args["city"])

❯ /plugins
weather   current weather for a city   plugins/weather.py

7

Tasks live on a board in the repo, with requires and blocks links between them. The model claims, works, and completes; you accept or reject. Add workers and they drain the same board.

❯ /todo
○ t1 map the architecture
○ t2 run the test sweep            requires t1
○ t3 record the durable facts      requires t2

❯ /swarm 2
swarm: added 2 agents · w1 claimed t1 · w2 waiting on t1

8

Everything is on disk in the repo: tasks, memory, schedules, sessions. Resume from the phone over SSH, or glance at the dashboard.

rig -resume 1a0d99397efd
session 1a0d99397efd · 214k up · 3 todo · 1 job · resumed
── more in #ai-agents 4 stories · sorted by recency
── more on @rig 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-rig-a-small-…] indexed:0 read:4min 2026-09-26 · —