| Crates.io | ragrep |
| lib.rs | ragrep |
| version | 0.2.0 |
| created_at | 2025-02-18 21:30:54.212734+00 |
| updated_at | 2025-11-24 00:31:53.830885+00 |
| description | A fast, natural language code search tool |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1560482 |
| size | 201,894 |
[!WARNING] WIP big time. This codebase is full of broken glass, sharp edges, and dragons.
A semantic code search tool that uses embeddings to find similar code snippets across your codebase. Use it to search for things like:
cargo install ragrep
git clone https://github.com/yourusername/ragrep.git
cd ragrep
cargo build --release
The binary will be available at target/release/ragrep
[!IMPORTANT] First run downloads models (~1.5GB) to
~/.cache/ragrep/models/
ragrep index
# Start server in background
ragrep serve &
# Server loads models once (4.6s)
# Queries now run in 0.5s instead of 7s
# File edits auto-reindex in ~200ms
ragrep "handle http request error"
# Terminal 1: Start server
$ ragrep serve
[INFO] Loading embedder model...
[INFO] Loading reranker model...
[INFO] File watcher started
[INFO] Server listening on .ragrep/ragrep.sock
# Terminal 2: Search (uses server automatically)
$ ragrep "error handling" # 0.5s ⚡
# Edit files - auto-reindexed!
$ vim src/main.rs # Save triggers reindex (~200ms)
# Works without server (loads models each time)
$ ragrep "search query" # 7s 🐌
When server is running:
.rs, .py, .js, .ts files.gitignore and .ragrepignoreConfiguration in .ragrep/config.toml:
[server.git_watch]
enabled = true
debounce_ms = 1000
.rs).py).js).ts)More languages can be added via tree-sitter parsers.
Indexing:
.gitignore and .ragrepignore)sqlite-vec extensionSearching:
Auto-Reindexing:
See DEVELOPING.md for architecture, setup, and contribution guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.