I have been building Rune over the past few weeks — a Rust-native AI runtime that acts as a personal agent gateway. It handles multi-provider routing, durable sessions, semantic memory, tool approval workflows, and federated multi-instance orchestration.
It is moving fast — over 1,200 commits since mid-March and I use it daily. But it needs more hands. Here is what it is, where it is going, and how you can help.
What Rune does
Rune sits between your messaging channels (CLI, WebChat, API) and your model providers (OpenAI, Anthropic, Azure AI Foundry, Azure OpenAI). It adds the runtime layer that every serious agent deployment needs:
- Durable sessions — survive restarts, crashes, redeployments. Backed by PostgreSQL, SQLite, or Azure Cosmos DB.
- Tool call approval workflows — agents propose actions, operators approve or reject. Every decision is logged.
- Semantic memory and retrieval — context that persists across conversations.
- Provider routing — switch models per task, failover between providers, manage cost.
- Cron jobs and reminders — scheduled agent work without external orchestration.
- Federated instances — run Rune on your laptop and your server, share state, delegate workloads.
Why Rust?
The agent gateway is a long-running process that holds sessions, queues approvals, brokers every model call, and runs on your infrastructure 24/7. That is a systems programming problem.
Rust gives Rune predictable performance (no GC pauses), memory safety without a runtime, single-binary deployment, and a type system that catches bugs before they reach production. The tradeoff is that Rust has a steeper learning curve — which is exactly why this project needs contributors who enjoy working in that space.
Get it running in 60 seconds
# One-line install
curl -fsSL https://raw.githubusercontent.com/ghostrider0470/rune/main/scripts/install.sh | sh
# Or from source
cargo build --release --bin rune-gateway --bin rune
cargo run --release --bin rune -- setup --api-key "$OPENAI_API_KEY"
You get a working gateway with WebChat at localhost:8787/webchat, a dashboard, SQLite state, and auto-detected local Ollama. Docker Compose is also supported for zero-config deployment.
Native spells (built-in tools)
Rune ships with compiled-in tools called "spells":
- rust-patterns — query production Rust patterns by topic, tags, or imports
- security-audit — baseline host security checks
- code-review — structured multi-dimensional review for files, diffs, and PRs
- evolver — self-evolution workflow scaffold
These are not plugins. They compile into the binary and run at native speed.
Where contributors can make an impact
This is where I need help. Rune is an active, parity-seeking runtime — the core loop works, but there is a lot of surface area to cover. Here are the areas where contributions would move the needle:
Good first issues
-
Documentation improvements — the
docs/folder is comprehensive but can always be clearer -
Error messages and diagnostics — make
rune doctor runcatch more edge cases - CLI UX — better help text, output formatting, progress indicators
Medium complexity
- New spells — build a new built-in tool (web scraping, file management, git automation)
- Provider integrations — add support for Groq, Mistral, or local llama.cpp
- Dashboard features — the TypeScript frontend (10% of the codebase) needs love
- Storage backends — help harden the Cosmos DB and Azure SQL paths
Advanced
- Federation protocol — improve multi-instance delegation and health checking
- Semantic memory — better retrieval strategies, embedding pipeline optimizations
- Streaming — improve real-time token streaming across the gateway
- Security hardening — audit the approval workflow, session isolation, auth paths
Non-code contributions
- Try it and file issues — install Rune, break it, tell me what confused you
- Write about it — blog posts, tutorials, comparison articles
- Design feedback — if you have opinions about agent runtime UX, I want to hear them
The architecture at a glance
Channels (CLI / WebChat / API)
|
Rune Gateway (Rust)
├── Session Manager (durable state)
├── Tool Executor (approval queue)
├── Provider Router (multi-model)
├── Memory & Retrieval
├── Scheduler (cron / reminders)
└── Federation (multi-instance)
|
Providers (OpenAI / Anthropic / Azure AI / Ollama)
|
Storage (SQLite / PostgreSQL / Cosmos DB)
How to start contributing
- Star and clone: github.com/ghostrider0470/rune
-
Read
docs/contributor/— development workflow, build instructions, PR conventions -
Check
docs/parity/— see what is shipped vs what is next - Pick something from the issues or propose your own
- Join the conversation — open a discussion on GitHub, I respond to everything
The codebase is 88% Rust, 10% TypeScript, with comprehensive documentation organized by audience (operator, contributor, reference, strategy). Architecture Decision Records live in docs/adr/.
Why contribute to Rune?
- Real Rust systems programming — not toy examples, actual long-running service code
- AI infrastructure — the agent runtime space is early and moving fast
- Small project, big impact — your PR will not disappear into a 10,000-file monorepo
- Learn by building — async Rust, PostgreSQL, provider APIs, WebSocket streaming, federation protocols
If you have ever wanted to work on the infrastructure layer of AI agents — the part that actually runs them reliably — Rune is a good place to start.
git clone https://github.com/ghostrider0470/rune.git
cd rune
cargo build --release
Let's build this together.
GitHub: ghostrider0470/rune
License: Open Source (MIT)