CodeIndeX
A self-hosted semantic code-search platform, invoked as cix, that indexes a codebase into a vector store for meaning-based search, combining hybrid BM25 and dense embeddings through an embedded llama.cpp server.
CodeIndeX (cix) is a self-hosted platform for searching a codebase by meaning rather than exact text, aimed at cases where grep and fuzzy file search break down: not knowing what something is called, results flooded with noise, or agents wasting tokens scanning irrelevant files. It indexes code using CodeRankEmbed, a model built for code retrieval, and returns ranked snippets with file paths and line numbers instead of raw file lists.
The server component runs as a Go HTTP API with an embedded llama.cpp sidecar for generating embeddings, SQLite for symbols, metadata and vectors, and an FTS5 BM25 index for hybrid ranking; vectors are read from disk per query rather than held in memory, so an idle server uses only tens of megabytes regardless of index size. A web dashboard covers projects, search, users, API keys and maintenance; a macOS menu bar app runs and self-updates a local server; a CLI supports search, symbol lookup and file listing for terminal and agent use; a file watcher keeps the index current; and workspaces group multiple repositories into one searchable corpus with GitHub webhook-triggered reindexing. Embeddings can also come from Voyage AI or any OpenAI-compatible endpoint instead of the local default.
It ships as a single distroless container and includes a Claude Code plugin.