Installation
RCE Code installs from source as a standard Python package. The core install is fully offline and pulls only the dependencies it needs to walk, parse, index, and search a repository — optional extras add real embedders and an alternative vector backend.
Requirements
| Requirement | Version | Why |
|---|---|---|
| Python | ≥3.11 | Required interpreter (RCE Code uses StrEnum and modern typing). |
ripgrep (rg) | on PATH | Needed only for the grep modality — RCE Code shells out to rg. |
Everything else — tree-sitter and its grammars, the SQLite store, the numpy vector backend, and the offline HashingEmbedder — comes in with the core install. No model download and no network access are required to index and search.
ripgrep is only for grep
rg binary directly; if it isn't on your PATH, grep raises a RipgrepNotFound error. Every other modality — lexical, semantic, hybrid, structural, and the repo map — works without it. Install ripgrep from your package manager (brew install ripgrep, apt install ripgrep, …) if you want grep.Install from source
Clone the repository and install it in editable mode. Use either pip or uv.
That is enough to use the full retrieval surface offline. The default embedder is a deterministic hashing stub, and the default vector backend is numpy — so semantic and hybrid search work immediately, with no extra packages.
Optional extras
Extras are declared under [project.optional-dependencies] and installed with the usual bracket syntax, e.g. pip install -e ".[embeddings-api]". None of them are required for the core install.
| Extra | Adds | When you need it |
|---|---|---|
embeddings-api | httpx | To use the OpenAI-compatible HTTP embedder (OpenAICompatEmbedder) against a remote embeddings endpoint. |
embeddings-local | sentence-transformers | To run a local sentence-transformers model (SentenceTransformerEmbedder) for on-machine embedding. |
embeddings-sqlite-vec | sqlite-vec | To use the sqlite-vec vector backend instead of the portable numpy default. |
dev | pytest, ruff, mypy, pre-commit, hypothesis, httpx, sqlite-vec, pdoc | Working on RCE Code itself: tests, linting, type-checking, and API docs. |
Combine extras
pip install -e ".[embeddings-api,embeddings-sqlite-vec]" for a remote embedder writing into the sqlite-vec backend.Verify the install
Confirm the CLI entry point and the importable package are both available:
The first command prints the command group and its subcommands; the second prints the installed version string. If both succeed, you are ready to index a repository.