-
-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
From zero to repository understanding in less than a minute.
Install Rune:
curl -fsSL https://raw.githubusercontent.com/rune-context/rune/main/install.sh | shVerify installation:
rune --versionExample:
Rune 0.1.0
Inside your project:
rune initRune creates:
.rune/
├── spec.md
├── architecture.md
├── conventions.md
├── graph.json
├── files/
├── features/
├── ownership/
├── sessions/
└── cache/
Nothing outside .rune/ is modified.
Running rune init multiple times is safe.
Generate repository understanding:
rune indexRune analyzes:
- files
- imports
- dependencies
- functions
- classes
and produces:
.rune/files/
.rune/features/
.rune/graph.json
Example:
rune context "Add Google OAuth"Expected output:
{
"related_files": [
"auth.py",
"user.py",
"settings.py"
]
}Agents can then load only the files they need.
After modifying code:
rune updateOnly changed files are refreshed.
No full reindex is required.
Run:
rune doctorChecks include:
- stale summaries
- broken graphs
- missing files
- inconsistent metadata
Example:
✓ graph.json is valid
✓ file summaries are up to date
✓ no missing dependencies
Initialize once:
rune initIndex repository:
rune indexMake changes:
Edit code
Refresh context:
rune updateAsk for relevant context:
rune context "Implement password reset"Suppose the repository contains:
app/
├── auth.py
├── user.py
├── email.py
└── jwt.py
User request:
Add password reset email.
Without Rune:
50 files
100,000 tokens
With Rune:
spec.md
auth summary
user summary
email summary
graph.json
Source code is loaded only when needed.
Repository identity and philosophy.
Technology stack.
Example:
Backend: FastAPI
Frontend: Next.js
Database: PostgreSQL
Coding rules.
Example:
Use repository pattern.
Never use raw SQL.
Dependency relationships.
Example:
{
"auth.py": [
"user.py",
"jwt.py"
]
}Per-file summaries.
Example:
Purpose:
Authentication service
Exports:
- login()
- logout()
Dependencies:
- user.py
- jwt.py
High-level feature maps.
Example:
login.tsx
↓
auth.py
↓
user.py
↓
jwt.py
Rune core is language-agnostic.
Future plugins include:
- Python
- TypeScript
- Go
- Rust
- Java
Examples:
rune-python
rune-typescript
rune-go
Learn about:
Humans don't read every file.
Neither should AI.
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.