Skip to content
file-search-on / anatomy

case study · how it's built

One tool. Eleven libraries.

file-search-on is deliberately not a monolith. When a capability grows a clean seam — git metadata, BM25 ranking, C2PA validation — it gets extracted into a small, dependency-light library with its own tests, docs, and releases, then consumed back like any third-party module. Seven of the eleven libraries below were born in this codebase. Click any of them to see exactly what it powers.

1 · walk & identify

+ internal walker

2 · extract, format by format

+ EXIF · audio · video · archives · email · binaries

3 · index, rank & match

4 · analyse & report

powers
links

the pattern

Extract, harden, consume back.

The payoff compounds. Each extraction gets a sharper API and its own fuzzing and CI; file-search-on's surface shrinks; and the pieces start living second lives — gitmeta now has Rust, Zig, and C# ports, projectdetect has Rust and Zig ports, and three of the libraries run as live in-browser WASM demos: the C2PA inspector, the codemetrics playground, and textlab.