Files
searchi/crates/searchi-cli
karl f77112db97
Core CI / core (ubuntu-latest) (push) Successful in 1m0s
Core CI / core (macos-latest) (push) Canceled after 0s
Core CI / core (windows-latest) (push) Canceled after 0s
feat: add persistent CPU search engine and CLI with lifecycle tests
2026-10-12 15:51:39 +02:00
..

Searchi CLI

The CLI is a thin adapter over searchi-core; it performs no network requests or GPU setup. Index only folders you explicitly choose.

cargo run -p searchi-cli -- index --db ./searchi.db --root ./documents
cargo run -p searchi-cli -- search --db ./searchi.db "termination clause" --limit 10
cargo run -p searchi-cli -- search --db ./searchi.db "invoice" --json
cargo run -p searchi-cli -- stats --db ./searchi.db --json

The same arguments work on Linux and macOS. After building, invoke the searchi binary directly instead of cargo run -p searchi-cli --.

index creates the database if needed; its parent directory must already exist. search and stats require an existing database so a mistyped path does not silently create an empty index. Failures exit with a nonzero status and include the affected folder or database path. Result limits must be between 1 and 1000.

search --json emits an array of engine results, including the path, filename, snippet, ranking score, and match kind. An empty search emits []. stats --json emits an object with files and content_files. JSON is the scripting interface; the human-readable output may change as preview support develops.

The foundation CLI searches filenames and extracted text. Semantic inference, document formats beyond the core extractor, and desktop integration remain tracked in the project roadmap; this interface does not fabricate embeddings.