-
-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
Small steps. Stable foundations.
Rune aims to become the standard repository understanding layer for coding agents.
Just as Git standardized source control, Rune aims to standardize repository context.
The long-term vision is:
.git/
.rune/
where:
.git/
answers:
What changed?
and:
.rune/
answers:
What does the codebase mean?
Rune prioritizes:
- simplicity
- local-first design
- human-readable formats
- deterministic outputs
- cross-platform support
Complexity should be added slowly.
Goal:
Build the smallest useful version.
Status:
🚧 In Progress
Commands:
rune init
rune index
rune update
rune context
rune doctorIntroduce:
.rune/
including:
spec.md
architecture.md
conventions.md
graph.json
files/
features/
Generate:
graph.json
to support selective loading.
Support:
rune updatewithout full reindexing.
- Linux
- macOS
- Windows
Architectures:
- amd64
- arm64
No dependency on:
- Python
- Node.js
- Docker
Installation:
curl -fsSL ... | shGoal:
Move language complexity outside the core.
Status:
Planned
Initial support:
- Python
- TypeScript
- Go
Examples:
rune-python
rune-typescript
rune-go
Python:
- Django
- FastAPI
TypeScript:
- React
- Next.js
Go:
- Gin
- Echo
Support:
- functions
- classes
- interfaces
- methods
Goal:
Understand behavior, not just files.
Status:
Planned
Generate:
.rune/features/
Example:
login
subscription
billing
Generate:
.rune/ownership/
Examples:
- frontend
- backend
- infrastructure
Track recently touched files.
Example:
{
"files": [
"auth.py",
"user.py"
]
}Goal:
Improve context quality.
Status:
Planned
Given:
Add Google OAuth
Rune should prioritize:
auth.py
user.py
settings.py
instead of traversing the entire graph.
Questions like:
What breaks if I change billing.py?
should become answerable.
Detect:
- cyclic dependencies
- layering violations
- anti-patterns
Goal:
Enable collaboration between coding agents.
Status:
Exploration
Examples:
frontend/*
backend/*
database/*
Possible agents:
- frontend
- backend
- infrastructure
- testing
Allow multiple agents to consume the same .rune/.
Goal:
Integrate broadly.
Status:
Future
Compatible with:
- Claude Code
- Cursor
- Codex
- Gemini CLI
- Aider
- Roo Code
No special APIs should be required.
The interface is:
.rune/
Goal:
Handle very large repositories.
Status:
Future
Targets:
Repository size:
100,000+ files
Cold indexing:
<30 seconds
Incremental update:
<1 second
Memory usage:
<200 MB
Goal:
Define the Rune Context Protocol.
Status:
Long-Term
Guarantee compatibility for:
spec.md
graph.json
files/
features/
ownership/
Support dozens of languages.
Document:
- repository format
- plugin protocol
- graph format
- summary structure
Target:
.git/
.rune/
becoming a familiar pattern in repositories.
Rune will never become:
- an IDE
- a code editor
- a cloud service
- a vector database
- an agent framework
- an LLM provider
Rune provides context.
Agents provide intelligence.
These ideas are interesting but intentionally deferred:
- visual dependency graphs
- GitHub integrations
- VSCode extensions
- MCP adapters
- web interfaces
The core should mature first.
Rune succeeds if developers stop thinking about it.
Just as developers rarely think about Git internals today, repository understanding should become ordinary infrastructure.
Git made history portable.
Rune aims to make understanding portable.
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.