Introduction
What Scour is, why it keeps an index, its four faces, and how this documentation is laid out.
Scour is an instant file search for Linux, made by ReviseTouch. It holds every file and folder on the machine in an index of its own, listens for changes, and answers in a few milliseconds when you have typed three characters. It is written in Rust, and nothing in it is a shell around another tool.
Why an index
find walks the filesystem every time you ask. If your home holds a million files, it walks a million of them even when the answer is in the first folder. Scour walks once, keeps the result in an index, and updates that index as the filesystem changes. The difference is not a constant factor: find slows down as the question grows, and an index does not.
Measured on one machine, against 4.84 million entries, with scripts/bench:
| Query | Time |
|---|---|
report |
7.9 ms |
size:>10mb |
7.5 ms |
kind:code dm:7d |
16.7 ms |
kind:image (1.6 million matches) |
37.3 ms |
Those are whole round trips: socket, parse, search, sort, count and forty rows.
Four faces, one index
Scour is one service — scourd — and four interfaces connect to the same socket:
| Face | When |
|---|---|
scour |
One line in a terminal. For scripts and pipelines. |
scour-gui |
The desktop’s own window. Rust + Slint, native. |
scour-web |
A local page in your browser. The richest interface. |
scour-tui |
Full-screen in a terminal. Works at the far end of ssh. |
There is a fifth: scour-mcp, so a language model can explore a filesystem — eleven read-only tools, every answer bounded. scour mcp-config --for codex (or claude-code, cursor, gemini, vscode) says what to paste where.
What it deliberately does not do
- It does not search inside files. Scour works over names, paths and what the filesystem itself knows. Content search is a different problem with a different cost.
- It sends nothing anywhere. No account, no telemetry, no outbound request. The index and the settings stay on your machine;
scour whereprints both locations. - Linux only, in practice. The Windows build was started once on one machine for an afternoon, and that is all — untested. macOS compiles and has never been run. Compiling is not running.
This documentation
- Installation — from download to first search.
- Query language — a sentence you lengthen when you need to.
- Four faces — which interface for what.
- Watching — how the index keeps up, and the fanotify question.
- Ignore rules — what never enters the index, and how to change that.