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 Background agent
Get started GitHub
~/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 (-e go) or path (-p internal/core). AND / OR with relaxation fallback.

πŸ”„

Always in sync

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

πŸ“–

Read-aware ranking

Files you open with idx read get a ranking boost in future searches β€” the index learns your workflow.

Quick start

Up and running in 4 commands

Requires a Git repository. No build tools needed.

1

Install via Homebrew

One command. Works on macOS and Linux. No Go required.

2

Build the index

Scans and indexes the full project once so searches are ready to go.

3

Start the background agent

Keeps the index in sync as you edit files.

4

Search

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

zsh
# 1. install $ brew tap eltu/idx && brew install idx   # 2. build the index $ idx init βœ… Indexed 1 243 files in 0.8s   # 3. start the agent (keeps index in sync) $ idx agent start βœ… Agent running (PID: 48291, uptime: 0s)   # 4. search $ idx search "rate limit" -e go internal/core/services/search/limiter.go 0.97

Full command reference β†’

Search examples

Powerful queries, simple syntax

From basic lookups to filtered, multi-term searches.

zsh β€” idx search examples
# basic search $ idx search "authentication middleware"   # filter by file extension $ idx search -e go "func main" $ idx search -e go -e ts "interface"   # filter by path $ idx search -p internal "logger"   # OR mode β€” match any term $ idx search --any "init sync destroy"   # relaxation β€” match at least 2 of 3 terms $ idx search --relax 2 "init sync destroy"   # compact output for AI agents $ idx search --compact "BM25"
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