Extracts functions, classes, and methods as clean semantic blocks. Understands structure, not just text.
Re-indexing only processes changed files. "157 unchanged, 2 updated" is the norm. No API waste.
Describe what you’re looking for in plain English. Cosine similarity finds the closest matches across your entire codebase.
Embedded vector store — no server, no Docker, no API key. Just works. Qdrant available for team deployments.
Keeps the index fresh as you edit. Save a file → re-indexed in 600ms. Delete → blocks purged automatically.
Opt-in branch polling. Switch branches → auto re-index with hash caching. No stale blocks from the wrong branch.
| Tree-sitter AST (semantic blocks) | Line-based (fallback) |
|---|---|
TypeScript (.ts, .tsx) | Ruby, Go, Rust, Java, Kotlin |
JavaScript (.js, .jsx, .mjs, .cjs) | C, C++, Swift, Zig |
Python (.py) | CSS, SCSS, HTML, Vue, Svelte |
PHP (.php) | Markdown, JSON, YAML, TOML, Bash |
| Option | Default | Description |
|---|---|---|
embedder | "ollama" | "openai" or "ollama" |
model | "nomic-embed-text" | Embedding model name |
vectorStore | "lancedb" | "qdrant" or "lancedb" |
batchSize | 20 | Embedding batch size |
maxResults | 20 | Max search results returned |
branchAware | false | Auto re-index on git branch switch |