coderlm
Primary tool for all code navigation and reading in supported languages (Rust, Python, TypeScript, JavaScript, Go). Use instead of Read, Grep, and Glob for finding symbols, reading function implementations, tracing callers, discovering tests, and understanding execution paths. Provides tree-sitter-backed indexing that returns exact source code — full function bodies, call sites with line numbers, test locations — without loading entire files into context. Use for: finding functions by name or pattern, reading specific implementations, answering 'what calls X', 'where does this error come from', 'how does X work', tracing from entrypoint to outcome, and any codebase exploration. Use Read only for config files, markdown, and unsupported languages.
NPX Install
npx skill4agent add jaredstewart/coderlm coderlmTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →CodeRLM — Structural Codebase Exploration
How to Explore
searchgrepcallersimplWhat This Replaces
- Symbol search instead of string matching — find the function, not every comment mentioning it
- Caller chains instead of grep-and-hope — know exactly what invokes a function
- Exact implementations instead of full-file reads — get the 20-line function body, not the 500-line file
- Test discovery by symbol reference — find what tests cover a function, not by guessing test filenames
Prerequisites
coderlm-servercoderlm-server serve # indexes projects on-demand
coderlm-server serve /path/to/project # pre-index a specific projectCLI Reference
python3 skills/coderlm/scripts/coderlm_cli.py <command> [args]Setup
cli init # Create session, index the project
cli structure --depth 2 # File tree with language breakdownFinding Code
cli search "symbol_name" --limit 20 # Find symbols by name (index lookup)
cli symbols --kind function --file path # List all functions in a file
cli grep "pattern" --max-matches 20 # Scope-aware pattern searchRetrieving Exact Code
cli impl function_name --file path # Full function body (tree-sitter extracted)
cli peek path --start N --end M # Exact line range
cli variables function_name --file path # Local variables inside a functionimplpeekTracing Connections
cli callers function_name --file path # Every call site: file, line, calling code
cli tests function_name --file path # Tests referencing this symbolAnnotating
cli define-file src/server/mod.rs "HTTP routing and handler dispatch"
cli define-symbol handle_request --file src/server/mod.rs "Routes requests by method+path"
cli mark tests/integration.rs testCleanup
cli cleanup # End sessionInputs
$ARGUMENTS- (required): what to find or understand
query=<question> - (optional): project directory, defaults to cwd
cwd=<path> - (optional): server port, defaults to 3000
port=<N>
Workflow
- Init — to create a session and index the project.
cli init - Orient — to see the project layout. Identify likely starting points.
cli structure - Find the entrypoint — or
cli searchto locate the starting symbol or pattern.cli grep - Retrieve — to read the exact implementation. Not the file. The function.
cli impl - Trace — to see what calls it.
cli callerson those callers. Follow the chain.cli impl - Widen — to find test coverage.
cli testsfor related patterns discovered during tracing.cli grep - Annotate — and
cli define-symbolas understanding solidifies.cli define-file - Synthesize — Compile findings into a coherent answer with specific file:line references.
When to Use the Server vs Native Tools
| Task | Use server | Why |
|---|---|---|
| Find a function by name | | Index lookup, not file globbing |
| Find code when name is unknown | | Searches all indexed files at once |
| Get a function's source | | Returns just that function, even from large files |
| Read specific lines | | Surgical extraction, not the whole file |
| Find what calls a function | | Cross-project search with exact call sites |
| Find tests for a function | | By symbol reference, not filename guessing |
| Get project overview | | Tree with file counts and language breakdown |
| Read an entire small file | Read tool | When you genuinely need the whole file |
Troubleshooting
- "Cannot connect to coderlm-server" — Server not running. Start with .
coderlm-server serve - "No active session" — Run first.
cli init - "Project was evicted" — Server hit capacity (default 5 projects). Re-run .
cli init - Search returns nothing relevant — Try broader grep patterns or list all symbols: .
cli symbols --limit 200