Sovereign interactive fuzzy finder and candidate ranker for the openOODA era.
A drop-infzfalternative written in pure openOODA, featuring negative-trust capability security, ANSI scoring,ootetheme integration, preview panes, and a first-class Model Context Protocol (MCP) surface.
Part of openOODA-tools.
oofzf has zero runtime dependencies. It compiles to a standalone native binary linked directly with libc.
Installs the standalone native binary to /usr/local/bin (or ~/.local/bin):
curl -fsSL https://openooda-tools.github.io/oofzf/install.sh | bash# Automated via installer
curl -fsSL https://openooda-tools.github.io/oofzf/install.sh | bash -s -- --apt
# Or manual package install
sudo dpkg -i oofzf_0.2.0-1_amd64.deb# Automated via installer
curl -fsSL https://openooda-tools.github.io/oofzf/install.sh | bash -s -- --dnf
# Or manual RPM install
sudo dnf install ./oofzf-0.2.0-1.fc44.x86_64.rpm# Automated via installer
curl -fsSL https://openooda-tools.github.io/oofzf/install.sh | bash -s -- --arch
# Or manual build via packaging/PKGBUILD
cd packaging && makepkg -siTo cleanly remove oofzf and any installed package manager entries:
# Automated via standalone uninstaller
curl -fsSL https://openooda-tools.github.io/oofzf/uninstall.sh | bash
# Or via installer flag
curl -fsSL https://openooda-tools.github.io/oofzf/install.sh | bash -s -- --uninstall
# Or preview removal without making changes (dry-run)
curl -fsSL https://openooda-tools.github.io/oofzf/uninstall.sh | bash -s -- --dry-runPass candidates over stdin or point to a file:
# Search files from oofind
oofind . | oofzf
# Pre-fill a search query
ls -1 | oofzf -q "main"
# Non-interactive filter mode (sorted output to stdout)
printf "apple\nbanana\ncherry\napricot\n" | oofzf -f "ap"
# Fast single-selection or exit-on-zero mode
oofzf -f "apple" -1
oofzf -f "missing" -0
# Disable color escapes
oofzf --no-color -f "ap"oofzf detects and applies active themes from ~/.openooda/theme.oot or $OODA_THEME:
# Override active theme on invocation
oofzf -t 1982
oofzf --theme=cyberpunk
oofzf --theme=draculaoofzf speaks JSON-RPC 2.0 MCP over stdio for LLM coding agents:
oofzf --mcpfuzzy_match: Score a candidate string against a query with match positions.- Parameters:
query(string, required),candidate(string, required). - Returns:
{"matched": bool, "score": int, "positions": int[]}.
- Parameters:
rank_candidates: Rank newline-delimited or JSON array items by match score.- Parameters:
query(string, required),items(string|string[], required),limit(int, optional),threshold(int, optional).
- Parameters:
filter_candidates: Filter candidate lines matching query with optional invert.- Parameters:
query(string, required),items(string, required),invert(bool, optional).
- Parameters:
highlight_match: Style matched characters in candidate using ANSI escapes.- Parameters:
query(string, required),candidate(string, required),theme(string, optional).
- Parameters:
oofzf enforces strict Object Capability Discipline (OCap):
- FsReadCap: Strictly bounded read-only access to files and stdin streams.
- ProcessCap: Bounded exit code handling.
- Zero Ambient Authority: Zero network sockets, zero child process spawning, zero unprompted disk writes.