GitHub

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

RequirementVersionWhy
Python≥3.11Required interpreter (RCE Code uses StrEnum and modern typing).
ripgrep (rg)on PATHNeeded 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

RCE Code's grep modality calls the 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.

git clone https://github.com/Godel-Intelligence/code-rce
cd code-rce
pip install -e . # or: uv pip install -e .

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.

ExtraAddsWhen you need it
embeddings-apihttpxTo use the OpenAI-compatible HTTP embedder (OpenAICompatEmbedder) against a remote embeddings endpoint.
embeddings-localsentence-transformersTo run a local sentence-transformers model (SentenceTransformerEmbedder) for on-machine embedding.
embeddings-sqlite-vecsqlite-vecTo use the sqlite-vec vector backend instead of the portable numpy default.
devpytest, ruff, mypy, pre-commit, hypothesis, httpx, sqlite-vec, pdocWorking on RCE Code itself: tests, linting, type-checking, and API docs.
Installing extras
pip install -e ".[embeddings-api]" # remote HTTP embedder
pip install -e ".[embeddings-local]" # local sentence-transformers
pip install -e ".[embeddings-sqlite-vec]" # sqlite-vec vector backend
pip install -e ".[dev]" # development toolchain

Combine extras

Extras can be combined in a single bracket list, e.g. 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:

rce-code --help
python -c "import rce.code; print(rce.code.__version__)"

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.

Next steps