-
-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ
Frequently asked questions about Rune Context.
Rune is a lightweight repository context system for code LLMs.
Git stores history.
Rune stores understanding.
Rune helps coding agents navigate large repositories without repeatedly consuming massive amounts of source code.
Modern coding agents repeatedly re-read the same files.
This leads to:
- excessive token usage
- slower responses
- duplicated context
- poor architectural understanding
Humans don't understand codebases by reading every file.
They rely on:
- architecture
- conventions
- dependencies
- feature maps
Rune provides the same layer for AI agents.
No.
Rune does not:
- call LLMs
- generate code
- edit files
- provide agents
Rune provides context.
Agents provide intelligence.
No.
Git and Rune solve different problems.
Git answers:
What changed?
Rune answers:
What does the codebase mean?
Repositories are expected to contain both:
.git/
.rune/
README files are usually:
- high-level
- incomplete
- outdated
README files explain:
How to install
How to run tests
Environment variables
They rarely explain:
Which files implement login?
What depends on billing?
What architectural rules exist?
Rune adds structure and machine-readable context.
Source code explains implementation.
It does not efficiently explain meaning.
Reading:
100,000 lines
to answer:
Add Google OAuth
is inefficient.
Humans rarely work this way.
Rune enables selective loading.
Embeddings are useful.
But they introduce:
- vector databases
- external services
- hidden state
- non-deterministic retrieval
Rune prefers:
- Markdown
- JSON
- deterministic outputs
- versioned artifacts
Embeddings and Rune are complementary.
Rune focuses on explicit understanding.
MCP (Model Context Protocol) solves a different problem.
MCP connects models to tools and external resources.
Rune focuses on repository understanding.
MCP answers:
How do I access things?
Rune answers:
What does the repository mean?
The two are complementary.
Databases introduce:
- hidden state
- migration issues
- operational complexity
Rune prefers plain files:
spec.md
graph.json
files/
features/
Everything should be:
- inspectable
- editable
- versionable
Because they are:
- simple
- portable
- human-readable
Any editor can open them.
No proprietary formats are required.
Rune prioritizes:
- single binaries
- fast compilation
- cross-platform support
- low complexity
Go provides:
- simple deployment
- excellent tooling
- contributor friendliness
Rust may offer better performance, but Rune values simplicity over maximum speed.
Rust is excellent.
But Rune is mostly:
- file I/O
- parsing
- graph construction
These workloads are not extremely CPU-intensive.
Developer velocity matters more than squeezing out every last percentage of performance.
Python would require users to install:
- Python itself
- dependencies
- virtual environments
Rune aims for:
curl -fsSL ... | shand nothing else.
Node.js would introduce:
- npm
- package-lock files
- runtime dependencies
Rune should ship as a single binary.
Editors already exist.
Examples:
- VSCode
- Zed
- Cursor
Rune should remain infrastructure.
Many agent frameworks already exist.
Examples:
- LangChain
- AutoGen
- CrewAI
Rune should remain independent.
Any agent should be able to consume .rune/.
Background services increase complexity.
Rune should work through simple commands:
rune init
rune index
rune update
rune contextNo server process should be required.
No.
Rune is:
- local-first
- offline by default
No account is required.
No telemetry is required.
Yes.
Repository understanding should be versioned.
Example:
.git/
.rune/
src/
tests/
This allows teams and agents to share the same understanding.
No.
Source code remains the source of truth.
Rune provides summaries and relationships.
Source code is loaded only when necessary.
No.
Rune does not require:
- OpenAI
- Anthropic
- Gemini
It has no dependency on any model provider.
Yes.
One .rune/ directory can be consumed by:
- Claude Code
- Cursor
- Codex
- Gemini CLI
- Aider
- Roo Code
Rune acts as shared understanding.
No.
The core is language-agnostic.
Language support comes from plugins.
Examples:
rune-python
rune-typescript
rune-go
rune-rust
Success is when repositories naturally contain:
.git/
.rune/
and developers stop thinking about repository understanding because it has become standard infrastructure.
Git stores history.
Rune stores understanding.
.git/ explains what changed.
.rune/ explains what the codebase means.
Rune Context — Git for repository understanding.
Git for repository understanding.
- RCP-001 — Repository Format
- RCP-002 — Plugin Protocol
- RCP-003 — Graph Format
- RCP-004 — File Summary Format
- RCP-005 — Feature Map Format
- RCP-006 — Ownership Metadata
- RCP-007 — Session Memory
- RCP-008 — Context Retrieval API
- RCP-009 — Incremental Indexing
- RCP-010 — Multi-Agent Coordination
Git stores history.
Rune stores understanding.