tpt-finder
RustModern file search & launcher (Everything/PowerToys Run alternative) — Rust engine (USN Journal / inotify) + Tauri UI, with an optional local semantic search layer via Ollama. Windows, Linux, and Archon.
Languages
tpt-finder
Instant file search with optional semantic understanding.
A modern Everything / PowerToys Run-style file search and launcher for Windows, Linux, and Archon.
- Rust engine — USN Journal on Windows,
inotifyon Linux, in-memory index for instant prefix/substring/fuzzy matching. - Tauri UI — keyboard-first global-hotkey popup overlay + persistent main window.
- Optional local semantic layer — Ollama-powered natural-language queries like "the PDF invoice from John last March", with all inference on
localhostand no cloud calls. - Content extraction — plain text, code, PDF, and Office documents indexed for full-text and semantic search.
Part of the TPT Solutions ecosystem. Archon support integrates with tpt-archon-relational for SQL-style filesystem queries (SELECT path FROM files WHERE content SIMILAR TO 'invoice') with zero-copy memory access.
Scope
File search + launch only — no general app-launcher/plugin system (calculator, web search, etc.). See todo.md for the full roadmap.
Prerequisites
- Rust (stable)
- Node.js 20+
- Platform tooling for Tauri 2:
- Windows: WebView2 (usually preinstalled), MSVC toolchain
- Linux:
webkit2gtk-4.1,libgtk-3-dev,libayatana-appindicator3-dev,librsvg2-dev(Debian/Ubuntu package names)
- Optional for semantic search: Ollama running locally on
localhost:11434
Build
# Install JS dependencies
npm install
# Development (hot-reload frontend + Rust backend)
npm run tauri dev
# Production build
npm run tauri build
Frontend only
npm run dev # Vite dev server
npm run build # Type-check + production bundle
Rust engine only
cd src-tauri
cargo build
cargo test
Lint & format
# Rust
cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings
# TypeScript / frontend
npm run lint
npm run format:check
npm run typecheck
Project layout
src/ # Plain TypeScript + HTML frontend (Vite), no framework
src-tauri/ # Rust backend (indexing engine, IPC commands, Tauri host)
src/
main.rs # Tauri entrypoint
lib.rs # Command registration / app setup
index/ # Core indexing engine (Phase 1+)
todo.md # Phased roadmap / checklist
spec.txt # Original concept brief
Query syntax
Everything-style filters, wired to the Rust engine over IPC:
| Filter | Example |
|---|---|
ext: | ext:pdf report |
size: | size:>10MB |
dated: | dated:2026-03 |
path: | path:Documents\invoices |
fuzzy:/~ | ~invc |
is:dir | downloads is:dir |
See the full query syntax reference. Natural-language queries are parsed via local Ollama into structured filters + semantic terms when the semantic layer is enabled.
Documentation
| Guide | Contents |
|---|---|
| Install & build | prerequisites, build outputs, data locations, first run |
| Query syntax | filters, operators, ranking, natural language |
| Ollama setup | enabling local semantic search |
| Keybindings | global hotkey, popup and main window keys |
| Security review | threat model notes and hardening applied for v1 |
Privacy
- Index and extracted content stay on-device.
- Semantic search uses only local Ollama (
localhost:11434); non-loopback URLs are rejected by the client and by settings validation. - No telemetry, no cloud inference; the error log is opt-in and local-only.
Platform status
| Platform | Status |
|---|---|
| Windows | Primary target — USN Journal engine, installer builds |
| Linux | Supported — walk + inotify backend, AppImage/.deb/.rpm (X11/Wayland QA pending) |
| Archon | Research-gated, blocked pending tpt-archon-relational public API |
Contributing
SPDX dual-license header conventions and development workflow are documented in CONTRIBUTING.md.
License
Licensed under either of:
at your option. See NOTICE for attribution requirements under the Apache license.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual-licensed as above, without any additional terms or conditions.