{"slug": "show-hn-rig-a-small-operating-system-for-your-agent", "title": "Show HN: Rig, a small operating system for your agent", "summary": "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.", "body_md": "1\n\n## Install it\n\nOne file lands in your path. Signed releases, and it **updates itself in place.**\n\n```\ncurl -fsSL https://tryrig.ai/install.sh | sh\n✓ rig 1.5.8 installed to ~/.local/bin/rig\n\n# later\nrig -update\n█▀▄ █ █▀▀\n█▀▄ █ █ █\n▀ ▀ ▀ ▀▀▀\n```\n\n`❯curl -fsSL https://tryrig.ai/install.sh | sh`\nlinux · macOS · amd64 · arm64 · no Go, no sudo\n\ninstalls to ~/.local/bin\n\nrig -update keeps the runtime current\n\nwhat it is\n\nrig 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.**\n\nIt 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.\n\nClose the laptop. **Pick the session back up from your phone.**\n\ngetting set up\n\n2\n\nAnything 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.\n\n~/.rig/settings.json · which model, where the endpoint is\n\n```\n{\n  \"model\": \"local\",\n  \"baseUrl\": \"http://127.0.0.1:8090/v1\",\n  \"sandbox\": \"off\",\n  \"plugins\": { \"enabled\": [] }\n}\n```\n\n~/.rig/models.json · one row per model: its window, its budget, its dials\n\n```\n[\n  {\n    \"id\": \"local\",\n    \"window\": 393216,\n    \"maxTokens\": 65536,\n    \"reserve\": 104858,\n    \"keepRecent\": 98304,\n    \"role\": \"interactive\",\n    \"effort\": \"max\",\n    \"efforts\": [\"low\", \"high\", \"max\"],\n    \"vision\": true\n  },\n  {\n    \"id\": \"sonnet\",\n    \"window\": 200000,\n    \"maxTokens\": 8192,\n    \"provider\": \"openrouter\",\n    \"baseUrl\": \"https://openrouter.ai/api/v1\",\n    \"apiKey\": \"sk-or-…\",\n    \"reasoning\": \"reasoning\"\n  }\n]\n# switch any time: /models sonnet\n```\n\n~/.rig/workers.json · the fleet: which model background workers run on, and how many at once\n\n```\n{\n  \"model\": \"local\",\n  \"slots\": 2\n}\n```\n\n3\n\nTwo 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.\n\n~/.rig/theme.json\n\n```\n{\n  \"base\": \"oled\",\n  \"slots\": {\n    \"ember\": \"#6b7fa3\",\n    \"text\": \"#b8bfcc\",\n    \"dim\": \"#3a4150\"\n  }\n}\n```\n\n~/.rig/AGENTS.md\n\n```\n# how I like to work\n- run the tests before you say something is done\n- prefer small commits with one idea each\n- never add a dependency without saying why\n```\n\n4\n\nThe 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.\n\n```\ncd your-project && rig\n❯ look around, run the tests in the background, remember what you learn\n\n● todo · create   0/3 · next t1\n● read · AGENTS.md\n● find · PACKAGE.md\n● grep · interface ./core\n  three reads admitted together · results applied in call order\n  batch ✓ 0.08s\n```\n\n5\n\nHand the slow part to a worker, or put a job on real cron. **Workers are sandboxed and keep a transcript you can resume.**\n\n```\n❯ have a worker run the full test sweep while we keep going\n● delegate · w1 · running in a jail · 3m 12s\n\n❯ /scheduler create health check the fund and note anything odd 0 */2 * * *\nscheduler: j8 health · every 2 hours · next fire 14:00\n```\n\n6\n\nA 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.\n\n~/.rig/plugins/weather.py\n\n```\nDESCRIPTION = \"current weather for a city\"\nSCHEMA = {\"type\": \"object\", \"properties\": {\"city\": {\"type\": \"string\"}}}\n\ndef run(args):\n    return fetch_weather(args[\"city\"])\n\n❯ /plugins\nweather   current weather for a city   plugins/weather.py\n```\n\n7\n\nTasks 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.\n\n```\n❯ /todo\n○ t1 map the architecture\n○ t2 run the test sweep            requires t1\n○ t3 record the durable facts      requires t2\n\n❯ /swarm 2\nswarm: added 2 agents · w1 claimed t1 · w2 waiting on t1\n```\n\n8\n\nEverything is on disk in the repo: tasks, memory, schedules, sessions. **Resume from the phone over SSH,** or glance at the dashboard.\n\n```\nrig -resume 1a0d99397efd\nsession 1a0d99397efd · 214k up · 3 todo · 1 job · resumed\n```\n\n", "url": "https://wpnews.pro/news/show-hn-rig-a-small-operating-system-for-your-agent", "canonical_source": "https://tryrig.ai/", "published_at": "2026-09-26 18:44:35+00:00", "updated_at": "2026-09-26 19:01:28.903224+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "large-language-models", "ai-products"], "entities": ["Rig", "tryrig.ai", "llama.cpp", "llama-swap", "Ollama", "OpenRouter", "OpenAI API"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-rig-a-small-operating-system-for-your-agent", "markdown": "https://wpnews.pro/news/show-hn-rig-a-small-operating-system-for-your-agent.md", "text": "https://wpnews.pro/news/show-hn-rig-a-small-operating-system-for-your-agent.txt", "jsonld": "https://wpnews.pro/news/show-hn-rig-a-small-operating-system-for-your-agent.jsonld"}}