Repository-assistance RAG for local Rust codebases. rarag provides a daemon, CLI, and MCP server for symbol-centered context retrieval, examples, and bounded blast-radius queries.
prototype
Stability note:
- Behavior, APIs, and persisted formats may change until the project is stable.
- Before first release, backward compatibility is out of scope unless a spec or plan explicitly requires it.
Start here:
docs/ops/quickstart.md
The quickstart covers:
- starting in one project
- working across two or more projects
- working with git worktrees
Fast path from repo checkout:
mkdir -p ~/.config/rarag
cp examples/rarag.example.toml ~/.config/rarag/rarag.toml
cargo install --path crates/rarag --path crates/raragd --path crates/rarag-mcp --locked
raragd serveIn a second terminal:
rarag index build --worktree "$PWD"
rarag query --worktree "$PWD" --mode understand-symbol --text "snapshot store"
rarag-mcp --list-toolsCodex MCP setup:
docs/integrations/codex.md
Operations:
INSTALL.mddocs/ops/systemd-user.mddocs/ops/lancedb-runtime.mddocs/ops/optimization-rollout.mdexamples/eval/README.mddocs/plans/template-eval-rubric.mddocs/plans/offline-optimization-workflow.md
crates/rarag-core: shared config, snapshot, chunking, indexing, retrieval, rerankingcrates/raragd: local Unix-socket daemon runtimecrates/rarag: CLI clientcrates/rarag-mcp: local MCP-compatible Unix-socket serverdocs/: specs, plans, ops docs, integration docs, templatesexamples/: non-secret config examplesscripts/: bootstrap and verification helpers
- Update/create spec in
docs/specs/for non-trivial behavior changes. - Create/update an implementation plan in
docs/plans/. - Run fast feedback after relevant edit batches:
scripts/check-fast-feedback.sh - Update
CHANGELOG.mdfor task-completion work. - Use Conventional Commits and install hooks:
scripts/install-hooks.sh - For prompt/skill or retrieval optimization changes, run fixture replay and document results using:
docs/plans/template-eval-rubric.mddocs/plans/optimization-metrics-rubric.mddocs/templates/examples/rarag-optimization-proposal.md
- Do not commit secrets.
- Use least-privilege credentials and local env files.
- Treat MCP inputs and provider responses as untrusted input.
Dependency note:
CDLA-Permissive-2.0in dependency scans currently comes fromwebpki-roots, which is pulled in byreqwestwithrustlsTLS support for HTTPS provider calls.- Task Registry ID:
2026-03-08-dependency-refreshtracks periodic dependency refresh and remaining temporary advisory ignore cleanup as upstream crates migrate.
GPL-3.0-or-later (LICENSE)