iochair/sql-manything — explained in plain English
Analysis updated 2026-05-18
Index a huge codebase, like an Unreal Engine install, into one searchable database file.
Let an AI coding agent search for exact text snippets without loading whole files into context.
Extract code symbols like functions and classes for deeper navigation.
Track which SQL queries were already run so future sessions avoid repeating searches.
| iochair/sql-manything | develp10/rustinterviewquiestions | fukikomarga/exodus-fake-balance | |
|---|---|---|---|
| Stars | 48 | 48 | 48 |
| Language | Python | Python | Python |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 2/5 | 2/5 | 2/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Each phase is a separate script, indexing very large codebases can take a while and produce a multi-gigabyte database.
SQL-ManyThing is a Python tool that takes any folder of code files and converts it into a local SQLite database with a built-in full-text search index. You point it at a project directory, it reads every file, and produces a single database file you can query with plain SQL. No server is required, no internet connection is needed, and the entire result lives in one file on your computer. The core search capability uses a technology called FTS5 trigram indexing, which allows you to find files containing any phrase or snippet in milliseconds, even across tens of thousands of files. The project's own benchmark involved an entire Unreal Engine installation: over 89,000 files indexed into a roughly 3 gigabyte database, searchable in seconds. The same approach works on JavaScript libraries, Python packages, Java projects, monorepos, or any collection of files. The tool is structured in three phases. The first phase builds the index by scanning your project and writing every file's content into the database. The second phase is optional enrichment: you can run additional scripts to extract code symbols (functions, classes, structs) or build a graph of how files relate to each other. The third phase sets up query tracing, which means every SQL query you or an AI agent runs gets recorded, so future sessions can look back at what was already searched and avoid repeating work. The design is deliberately minimal in one specific way: you query by locating the exact position of what you need, then extract only a small slice of the file using SQL's substr() function. This avoids loading whole files into memory or into an AI context window. The README explains the philosophy as "narrow first, extract second" rather than the more common approach of pulling large chunks of text and sorting through them afterward. Each phase is a standalone Python script rather than a single unified command. The README explains this was intentional: keeping command strings stable helps AI agents use the tool reliably, because even small changes to command structure can introduce noise in how a language model reasons about the commands it is generating.
A Python tool that turns any folder of code into a searchable local SQLite database, built for fast AI-assisted lookups.
Mainly Python. The stack also includes Python, SQLite, FTS5.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.