eidos
Windows-first filesystem catalog, content indexer, storage analyzer, and search service (Rust, SQLite, Tantivy, React)
A Windows-first filesystem catalog and search service
eidos is a Rust service that catalogs files, indexes their content, and answers searches across Windows storage from one query language.
What the project sets out to do
eidos takes on a problem that normally needs several separate Windows utilities. Tools like Everything are excellent at searching file names and metadata on a single host, dtSearch handles the content inside files, and WinDirStat with its relatives measures how space is used. eidos pulls those jobs behind one catalog and one query language so you do not have to switch tools or reconcile different result formats. The design treats the catalog as the source of truth. Each file is stored as an object with a stable identity that does not change when the file moves, gets renamed, or is reached through a hard link. Paths, search indexes, aggregate counts, hashes, and text snippets are treated as projections that can be rebuilt from that catalog at any time. This separation keeps the index honest: a rename never looks like a new file appeared, and a rescan never silently drops data that was merely offline. The project documents this model openly in its overview and architecture notes, and it states up front that the first release target, version 0.5, is a trustworthy single Windows host indexer that is only partly implemented. The status note in the readme is candid that there is no packaged release yet and that schemas, APIs, and the query syntax can still change, which sets honest expectations for early adopters.
How the indexer keeps up with changes
Keeping a large filesystem current is the hard part of any indexer, and eidos leans on Windows specific features to do it. The catalog is built with batched native NTFS enumeration, and live changes are captured through the USN journal so the index reflects edits with sub second visibility rather than waiting for a periodic rescan. A Tantivy catalog index answers metadata queries in milliseconds, which is what gives the tool its Everything class responsiveness for names and paths. Content indexing is handled by a bounded sniffing and decoding pipeline that does line aware chunking and computes BLAKE3 hashes, and streaming literal text content indexing was still in progress at the time the README was written. Everything eidos does to a source is read only, so it cannot mutate the files it catalogs. The same typed query AST is shared by the web UI, the command line binary, and the HTTP API, which means a search written in one place behaves the same everywhere. The CLI even exits with status 2 when a requested source was incomplete, so a script never mistakes a partial answer for a complete one. The same query AST across the UI, CLI, and API means a search written in one place behaves identically in the others, which removes a common source of confusion when debugging why a result differs between tools.
Storage analytics and directory-aware search
Beyond finding files, eidos measures them. The storage analytics layer keeps apparent and allocated subtree sizes, file counts, and sparse per directory extension counts, all maintained incrementally so the numbers stay fresh without a full walk. The web UI shows this through a treemap and a tree browser, which makes it practical to see where disk space actually goes. Search itself is directory aware: directories are first class results, and you can write predicates over their descendants such as has:idb, has:cs, files:greater than 1000, or subtree:greater than 1G, with a documented ranking rule explaining how matches are ordered. Exact and lexical search are both supported, case insensitive by default, with case sensitive exact and substring modes verified against the original text, plus glob and regex over names and paths. Literal text content search returns line aware snippets so you can see the matching context. For roots that have no change feed, eidos offers generic SMB crawling with explicit, weaker freshness semantics, and the roadmap lists later work such as ZIP member inventory and multi host agents. The documentation set includes an overview, an architecture description with the identity model and the path to a fleet, a roadmap with acceptance gates, a query syntax reference, and a development guide with benchmarks, so a reader can follow both the design and the build process.
Editorial conclusion
eidos is written in Rust, distributed under the GNU Affero General Public License version 3, and was last updated on 2026-08-24, with 164 stars recorded at that point while still in early development toward its v0.5 release.
Community notes