greppy v0.2.1
Local code navigation for coding agents — a deterministic symbol graph,
native on-device semantic search, compact function briefings, and byte-exact
real-grep passthrough, in one native Rust binary. The models are embedded in
the binary; nothing about your code leaves the machine.
Measured result: no trade-off, across four models
Across four coding models spanning three providers — MiniMax-M3, GLM-5.2,
Qwen3.6-27B, and Kimi-K3 — pairing a coding agent with greppy strictly
dominates the lexical (grep + file-read) baseline on the cost–correctness
frontier: more tasks answered correctly at every tool-call budget
(+6 to +50 percentage points), and the lexical agent's best answer quality
reached at 37–80 % lower billed API cost. A 2×2 factorial isolates the
source — the structured tool surface, not prompt engineering, carries the
advantage.
📄 Paper: The Minimum Sufficient Code Context Problem — Complexity,
Discovery Overhead, and Approximation in Coding Agents (graph formulation of
MSCC, NP-completeness, lexical lower bounds, the no-trade-off theorem, and the
full four-model evidence) — docs/paper/mscc-greppy-paper.pdf.
Highlights
- 60+ bundled languages. Every language indexes symbols and answers
definition and text search; dozens — Rust, Python, Go, JavaScript,
TypeScript, Ruby, C++, C#, Kotlin, Swift, Elixir, and more — also resolve
caller / callee / usage / impact graph relations out of the box. Six
(Rust, Python, Java, JavaScript, TypeScript, Go) are graph-completeness
certified by real-repository acceptance tests. - On-device semantic search with an embedded EmbeddingGemma index, plus
one-line purpose hints written by a Qwen3.5-0.8B that greppy fine-tuned
in-house. Native Rust inference with vendored Metal/CUDA kernels — no
llama.cpp runtime, Python, HTTP, or model server. - Byte-exact
greppassthrough. Ordinary grep invocations run the real
systemgrepand forward stdout, stderr, and exit code unchanged. - Local and private. Code, the symbol graph, source spans, and embeddings
stay on device in a user-private cache. - Apache-2.0 source; the embedded models are hosted as public Hugging Face
repos (metricspace/embeddinggemma-300m-q4k,
metricspace/greppy-qwen35-mtp-q4km).
Install
Download the archive for your platform below — the models are baked in, nothing
else to fetch — or build from source:
./tools/fetch_model_assets.sh && cargo build --release --bin greppyProvenance
Signed and notarized; checksums and build provenance attested. See SECURITY.md.