On the author's own MacBook Pro M2 over 100 files, a search took 95ms and about 300 tokens against 25s and about 12,000 tokens for reading the files outright — the same answer, a fraction of the budget.
A single-binary RAG server for developers using Claude Code. It indexes your markdown, then answers a natural-language query with the matching chunks instead of the whole document. It works as an MCP server and as a standalone CLI.
- `search` — semantic search with `top_k`, plus a `directory` filter and a `file_pattern` glob such as `api-*.md`, combinable in one call
- `index_markdown`, `list_documents`, `delete_document` and `reindex_document` for keeping the index honest
- Documents indexed automatically at startup from `document_patterns` — directories, recursive globs, or absolute paths outside the project
- No Python and no separate model install: one binary, models downloaded on first run, GPU or CPU chosen automatically with a CPU fallback
- Multilingual embeddings — the default model is `multilingual-e5-small` at 384 dimensions, covering Japanese and English among others
- The same operations as CLI commands, JSON by default and `--output text` when a human is reading
- `--config` to point at a different configuration file, so one binary can serve several projects
A release binary for macOS (Apple Silicon or Intel), Linux (x64 or ARM64) or Windows, wired in as a stdio server. On macOS keep `libonnxruntime.dylib` beside the `devrag` binary for CoreML acceleration. Configuration lives in `config.json` — `document_patterns`, `db_path`, `chunk_size`, `search_top_k`, and the compute and model blocks. Nothing leaves the machine.
Build from source — clone the repository and build it, then point your client at the binary
