Fast, ranked code search
for Git repositories

A local BM25 index for your codebase โ€” ranked results, instant queries, zero network calls.

No network calls AND / OR queries Path & ext filters Daemon sync
Install Read the docs
~/myproject โ€” idx search
$ idx search "auth middleware"   internal/adapters/handlers/cli/auth_command.go 0.94 12 โ”‚ func NewAuthMiddleware(store TokenStore) *AuthMiddleware {   internal/core/services/search/auth_filter.go 0.81 8 โ”‚ // applyAuthFilter validates JWT before search proceeds   2 results ยท 4ms
Why idx

Built for how developers actually search

grep finds strings. idx finds relevant code.

๐ŸŽฏ

Relevance ranking

BM25 scoring with a filename-match bonus. Files whose names match your query always surface first.

โšก

Instant results

Pre-built inverted index โ€” no disk scanning at query time. Results arrive before grep opens its first file.

๐Ÿ”’

Offline & private

Everything runs locally. No telemetry, no cloud indexing, no data leaving your machine.

๐Ÿ”ฌ

Precision filters

Narrow by extension (--ext go) or path (--path internal/core). AND / OR with relaxation fallback.

๐Ÿ”„

Always in sync

File saved? Index updated. The background daemon tracks every change โ€” no manual syncs during development.

๐Ÿ“–

Read-aware ranking

Files you open frequently get a ranking boost in future searches โ€” the index learns your workflow.

Quick start

Up and running in minutes

Requires Go 1.26+ and a Git repository.

1

Build & install

Clone the repo and build the binary. Add it to your $PATH.

2

Index your project

Run once per project. Builds the BM25 index for every directory.

3

Enable background sync

Start once. The daemon keeps the index current with every file save.

4

Search

AND / OR logic, path and extension filters, results ranked by relevance.

zsh
# 1. build $ make build && cp bin/idx /usr/local/bin/   # 2. index your project $ idx init โœ“ indexed 847 files in 312ms   # 3. enable background sync $ idx daemon enable . โœ“ daemon started (pid 48291)   # 4. search $ idx search "rate limit" --ext go internal/core/services/search/limiter.go 0.97

Full command reference โ†’

AI editors

Replace grep in your AI sessions

One command installs the idx skill in your editor. grep and rg calls are intercepted โ€” your AI gets ranked, compact results instead of raw line dumps.

โ†‘speed Faster queries Pre-built index means no disk scanning at query time โ€” speed advantage over grep grows with codebase size.
โ†“noise Less context consumed Ranked results surface only the relevant files โ€” not every line that matches a pattern. Less output, more signal for your AI.
โ†“searches Fewer tool calls Relevance ranking gets the AI to the right file faster โ€” fewer back-and-forth iterations per task.
BM25scored Ranked by relevance The most relevant file is always first. Your AI reads less noise to reach the right answer.

Install once per editor

Claude Code
idx skills install claude
Cursor
idx skills install cursor
GitHub Copilot
idx skills install copilot