SIFS (SIFS Is Fast Search) - local code search for coding agents

Dev.to / 5/6/2026

💬 OpinionDeveloper Stack & InfrastructureTools & Practical Usage

Key Points

  • The article introduces SIFS (SIFS Is Fast Search), a local code-search tool designed to reduce wasted context for coding agents by quickly returning relevant code chunks.
  • SIFS performs fast ranked retrieval over code locally using a hybrid approach that fuses BM25 (fully offline, model-free) with semantic retrieval (runs locally after the model is cached), without GPUs, API keys, or external services.
  • The tool is available as a Rust CLI, Rust crate, and a local MCP server, and includes example commands for search, targeted “find-related” lookups, and MCP installation.
  • Benchmarks on 63 pinned open-source repos show strong retrieval performance (e.g., NDCG@10 of 0.8641) with very low indexing/query latency, outperforming several named alternatives on the reported benchmark.
  • The author recommends using ripgrep for exact-string searches and using SIFS for early-stage, uncertain natural-language or exploratory queries when the user/agent does not know what to search for.

I built a tool called SIFS because coding agents waste too much context before they understand a repo, in my experience.

They grep around the codebase, read whole files or large chunks, guess a lot, and only then start to find the code that they need. SIFS gives them a better first move: fast local search over ranked code chunks.

It runs as a Rust CLI, Rust crate, and local MCP server. The default mode is hybrid search: BM25 plus semantic retrieval, fused and reranked. BM25 is fully offline and model-free. Semantic and hybrid search run locally once the model is cached. No GPU, no API keys, no external service.

Examples:

sifs search "where is authentication handled" --source /path/to/project

sifs search "parse JWT claims" --source /path/to/project --mode bm25 --offline

sifs find-related src/auth/session.rs 42 --source /path/to/project

sifs mcp install --client all

Use rg when you know the exact string. Use SIFS when you do not yet know what to search for: "where is auth handled", "how does upload backpressure work", "where are JWT claims parsed", "what code owns this behaviour".

Current benchmark:

63 pinned open-source repos
19 languages
1,251 annotated search tasks
NDCG@10: 0.8641
cold index: 6.5 ms
warm query: 0.376 ms

That puts SIFS ahead of CodeRankEmbed Hybrid, Semble, ColGREP, grepai, probe, and ripgrep on this benchmark. It is strongest on symbol queries, but the hybrid mode is designed for the natural-language questions humans and agents ask while exploring unfamiliar code.

Very open to feedback and issues/PRs! Let me know if you try it.

MIT license.

Repo:
https://github.com/tristanmanchester/sifs