By JaredStewart
Index codebases with Tree-sitter to enable precise navigation across Rust, Python, TypeScript, JavaScript, Go, and Java files: search symbols, trace cross-file callers, read function implementations, discover tests, and grep with scope awareness using integrated skills and CLI commands.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
CodeRLM applies the Recursive Language Model (RLM) pattern to codebases. A Rust server indexes a project's files and symbols via tree-sitter, then exposes a JSON API that LLM agents query for targeted context — structure, symbols, source code, callers, tests, and grep. Instead of loading an entire codebase into context or relying on heuristic file scanning, the agent asks the server for exactly what it needs.
An integrated Claude Code skill (plugin/skills/coderlm/) wraps the API with a Python CLI and a structured workflow, so Claude Code can explore unfamiliar codebases without reading everything into context.
The RLM pattern treats a codebase as external data that a root language model can recursively examine and decompose:
.gitignore), parses every supported file with tree-sitter, and builds a symbol table with cross-references.This replaces the typical glob/grep/read cycle with precise, index-backed lookups.
This project builds on two prior works:
"Recursive Language Models" by Alex L. Zhang, Tim Kraska, and Omar Khattab (MIT CSAIL, 2025). The paper introduces the RLM framework for processing inputs far beyond model context windows by treating extended prompts as external data that the model recursively examines.
Zhang, A. L., Kraska, T., & Khattab, O. (2025). Recursive Language Models. arXiv preprint arXiv:2512.24601.
brainqub3/claude_code_RLM — A minimal RLM implementation for Claude Code by brainqub3 that applies the pattern to document processing via a persistent Python REPL. CodeRLM adapts this approach from documents to codebases, replacing the Python REPL with a purpose-built Rust server and tree-sitter indexing.
server/ Rust server (the only built artifact)
plugin/ Self-contained Claude Code plugin
plugin/skills/coderlm/ Skill definition + Python CLI wrapper
plugin/hooks/ Claude Code hooks (SessionStart, UserPromptSubmit, PreCompact, Stop)
plugin/commands/ Slash command definitions
plugin/scripts/ Hook scripts (session lifecycle)
plugin/.claude-plugin/ Plugin manifest (plugin.json)
.claude-plugin/ Marketplace manifest (points to plugin/)
rustup recommended)git clone https://github.com/JaredStewart/coderlm.git
cd coderlm/server
cargo build --release
# Start the server (in a separate terminal or as a daemon)
cargo run --release -- serve
# Or run as a daemon
./coderlm-daemon.sh start
./coderlm-daemon.sh status
./coderlm-daemon.sh stop
Verify:
curl http://127.0.0.1:3000/api/v1/health
# → {"status":"ok","projects":0,"active_sessions":0,"max_projects":5}
# Add the marketplace source first, then install the plugin
claude /plugin marketplace add JaredStewart/coderlm
claude plugin install coderlm
After installation, the /coderlm skill is available in every session. The SessionStart hook auto-initializes and the UserPromptSubmit hook guides Claude to use indexed lookups.
Install the generator:
uv tool install coderlm --from git+https://github.com/JaredStewart/coderlm.git
Generate for your platform:
coderlm --platform cursor
coderlm --list # see all supported platforms
Or run without installing:
uvx --from git+https://github.com/JaredStewart/coderlm.git coderlm --platform cursor
Or from a cloned repo:
python3 plugin/generate.py --platform cursor
Use --list to see all platforms, --dry-run to preview, --clean to remove generated files, and --platform all for everything.
Once the server is running, invoke the skill (Claude Code) or use the CLI directly:
# Claude Code
/coderlm query="how does authentication work?"
# Direct CLI usage
python3 plugin/skills/coderlm/scripts/coderlm_cli.py init
python3 plugin/skills/coderlm/scripts/coderlm_cli.py search "handler"
python3 plugin/skills/coderlm/scripts/coderlm_cli.py impl run_server --file src/main.rs
npx claudepluginhub jaredstewart/coderlm --plugin coderlmFull AI context layer over MCP — tree-sitter code-map, document RAG (PDF/Office/HTML/email + OCR + reranker), shared agent memory, on-demand web crawl, git history + blame + per-symbol diff. 300+ languages, 8 coding-agent harnesses, content-addressed Fjall + LanceDB.
Semantic code search for Claude Code. Automatically indexes your project and provides intelligent search capabilities.
Structural codebase indexing for efficient navigation. Reduces token consumption by 60-80% through targeted line-range reads instead of full file scans.
Fast and token-friendly code reading for AI coding agents. Symbol-aware MCP tools that replace cat/grep with ~85% fewer tokens, sub-millisecond search, and a raw fallback that preserves cat/grep parity byte-for-byte.
Graph-first code intelligence for AI agents. SurrealDB knowledge graph + 52 MCP tools replace Read/Grep/Glob with deterministic graph traversal. 80–95% fewer tokens on code context. Rust-native, fully local.
Code graph navigation and semantic search for LLM coding agents