rlm

Index large codebases into a SQLite-backed store for cross-repo symbol lookup.

Updated Jan 26, 2026
One-click install
npx skills add https://github.com/an1310/claude-rlm --skill rlm-an1310
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rlm
Source: https://github.com/an1310/claude-rlm/tree/main/.claude/skills/rlm
Command: npx skills add https://github.com/an1310/claude-rlm --skill rlm-an1310

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires fastembed, hnswlib, numpy, and includes scripts (resource) components.

What problem does it solve?

Persistent memory and codebase indexing for Claude Code solves the challenge of analyzing very large codebases by combining a persistent memory store with a fast, SQLite-backed code index. It enables cross-repo symbol lookups, memory injection at session start, and long-running analysis beyond a single prompt.

Core Features & Use Cases

  • Multi-repository support: index multiple repos into a single searchable database.
  • Persistent connection and WAL mode: minimize churn and improve crash recovery.
  • FTS5 full-text search: fast content search across code without loading all chunks.
  • Incremental indexing: re-index only files that changed.
  • Multi-language support: Python (AST), JavaScript/TypeScript (regex), Java (regex) for code chunking and symbol tracking.
  • Parent tracking: associate methods with their containing classes.
  • Transaction batching: fast bulk indexing for large codebases.
  • Use cases: architectural analysis, refactoring planning, symbol relationship discovery, and cross-file impact analysis.

Quick Start

Use the rlm skill to index a codebase and explore the index:

  • Index a single repo: python3 .claude/skills/rlm/scripts/rlm_repl.py init /path/to/codebase
  • Index multiple repos: python3 .claude/skills/rlm/scripts/rlm_repl.py init /path/to/frontend --name frontend
  • Check what was indexed: python3 .claude/skills/rlm/scripts/rlm_repl.py status --languages --chunks

Frequently Asked Questions about rlm

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I index a large codebase for cross-repo symbol lookup and memory-driven context?

You can index a large codebase for cross-repo symbol lookup by running the Python-based REPL script to initialize a SQLite-backed database. It supports multi-repository indexing, allowing you to add multiple repos into a single searchable database for persistent context.

Can I use AST-based code analysis for JavaScript, TypeScript, and Java files?

AST-based code analysis is used for Python files, while JavaScript, TypeScript, and Java rely on regex-based analysis for code chunking and symbol tracking. All supported languages enable FTS5 full-text search and parent tracking to associate methods with their containing classes.

How do I re-index only the files that changed during incremental codebase indexing?

Incremental codebase indexing re-indexes only files that changed by utilizing transaction batching for fast bulk processing. The system maintains a persistent connection in WAL mode to minimize churn and improve crash recovery during updates.

Does Claude Code persistent memory support vector embeddings for code search?

Claude Code persistent memory supports optional vector embeddings alongside FTS5 full-text search. It uses fastembed for embeddings and hnswlib for vector search, combined with SQLite-backed indexing to enable fast content search across code without loading all chunks.

What is the best way to plan refactoring across multiple Python and JavaScript repositories?

The best way to plan refactoring across multiple repositories is to index them into a single searchable database. This enables cross-file impact analysis, architectural analysis, and symbol relationship discovery using FTS5 search and AST or regex-based symbol tracking.