# Install zf with Homebrew, Nix

Command-line fuzzy finder that prioritizes matches on filenames. Version 0.10.4 via Homebrew; verified 2026-04-15.

## Install

```sh
sudo av install brew:zf
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install zf
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#zf
```

  Evidence: nixpkgs package indexes: pkgs/by-name/zf/zf/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:zf
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/zf>
- **Version:** 0.10.4
- **Source summary:** Command-line fuzzy finder that prioritizes matches on filenames
- **Homepage:** <https://github.com/natecraddock/zf>
- **Repository:** <https://github.com/natecraddock/zf>
- **Upstream docs:** <https://github.com/natecraddock/zf/blob/main/doc/lib.md>
- **License:** MIT
- **Source archive:** <https://github.com/natecraddock/zf/archive/refs/tags/0.10.4.tar.gz>
- **Last updated:** 2026-04-15T01:07:17-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- zf (cli)
- zf (alias)

## Build dependencies

- zig@0.15

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.10.4
- Package-manager updated: 2026-04-15
- Local data: ok
- Upstream repository: https://github.com/natecraddock/zf
- Upstream latest detected: 0.10.4 (current)
## Project history and usage

zf is a command-line fuzzy finder and Zig/C fuzzy-ranking library designed around a common developer workflow: filtering file paths where the basename usually matters more than parent directories.

### Project history

Nathan Craddock describes zf as coming from frustration with existing fuzzy finders ranking the intended file below path matches. In 2021 he began experimenting with filename-prioritized matching, later separating the ranking idea from a Neovim file picker so it could be used as a standalone command and library.

### How it is used

zf reads newline-separated candidates from stdin and writes selected candidates to stdout, so it fits the same shell slot as tools like fzf. Its key behavior is ranking filename matches ahead of full-path matches, adding strict path matching when the query contains path separators, and supporting whitespace-separated query tokens for narrowing results.

### Why package nerds care

zf matters in package catalogs as a deliberately narrower fuzzy finder: it does not try to out-feature fzf, but packages one ranking opinion that is useful enough to be reused in editors, shell pipelines, and libraries.

### Timeline

- 2021: The author starts experimenting with filename-prioritized fuzzy matching after repeated file-search ranking misses.
- 2023-03-17: The author publishes a design write-up explaining zf, strict path matching, and the standalone tool/library direction.

### Related projects

- fzf and fzy are the comparison points used in the author write-up.
- telescope-zf-native.nvim reuses the zf ranking idea inside Neovim Telescope.
- nvim-find was an earlier Neovim file finder by the same author that helped motivate extracting the algorithm.

### Sources

- <https://github.com/natecraddock/nvim-find>
- <https://github.com/natecraddock/telescope-zf-native.nvim>
- <https://github.com/natecraddock/zf>
- <https://nathancraddock.com/blog/a-different-approach-to-fuzzy-finding/>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** zf
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - zf: normalized package name match | nixpkgs package indexes: pkgs/by-name/zf/zf/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [fuzzy-find](https://www.automicvault.com/pkg/brew/fuzzy-find/) - Shares av.db curated category or tags: cli, developer-tools, file-search, fuzzy-finder, search.
- [fzf](https://www.automicvault.com/pkg/brew/fzf/) - Shares av.db curated category or tags: cli, developer-tools, fuzzy-finder, search.
- [fzy](https://www.automicvault.com/pkg/brew/fzy/) - Shares av.db curated category or tags: cli, developer-tools, fuzzy-finder, search.
- [sk](https://www.automicvault.com/pkg/brew/sk/) - Shares av.db curated category or tags: cli, developer-tools, fuzzy-finder, search.
- [cgrep](https://www.automicvault.com/pkg/brew/cgrep/) - Shares av.db curated category or tags: cli, developer-tools, search.
- [cgvg](https://www.automicvault.com/pkg/brew/cgvg/) - Shares av.db curated category or tags: cli, developer-tools, search.
- [comby](https://www.automicvault.com/pkg/brew/comby/) - Shares av.db curated category or tags: cli, developer-tools, search.
- [ddgr](https://www.automicvault.com/pkg/brew/ddgr/) - Shares av.db curated category or tags: cli, developer-tools, search.

## Combined YAML source

View the package source record on GitHub. [combined/zf.yml](https://github.com/automic-vault/db/blob/main/combined/zf.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
