A native, system-wide semantic file indexer written in C.
Recursively scan a specified directory, calculate file hashes, and store file descriptions in SQLite.
- Recursive directory crawling
- SHA-256 file hashing
- SQLite metadata and description storage
- Change detection using hash + mtime + size
- Basic file type inference from extension
sqlite3
openssl
brew install sqlite3 openssl
gcc tracker.c -o indexer \
-I$(brew --prefix openssl)/include \
-L$(brew --prefix openssl)/lib \
-lsqlite3 -lssl -lcrypto \
-Wall -Wextra -Wno-deprecated-declarations
sudo apt install build-essential libsqlite3-dev libssl-dev
gcc tracker.c -o indexer \
-lsqlite3 -lssl -lcrypto \
-Wall -Wextra
./indexer <database_path> <directory_to_scan> [max_depth]
./indexer myindex.db ~/Desktop/test_scan 1
- AI-based description generation (CLIP, LLMs)
- File format-aware parsing (PDF, DOCX, code, etc)
- CLI search frontend (possibly in Rust or C)
- Live file system change tracking (libgit2 or inotify/FSEvents)
- Ignore rules (.searchignore)
- Fuzzy text search via ripgrep