📈 GH Trending Explorer 🎲 Surprise me

← all repos

fdncred / fffinder

git clone https://github.com/fdncred/fffinder.git

A finder GUI application that uses fff/fff-search to locate files quickly on MacOS, Linux, and Windows and integrates with Nushell.

—
stars, 24h
+37
stars, 7 days · #1,143
+37
stars, 30 days · #7,703
37
★ total · +37% this week
1
forks · 0 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageRust
License—
Created2026-10-13 (7d ago)
Last push6d ago
Watchers1
OwnerUser

GitHub topics

Links

README excerpt
# fffinder
A Finder-style file browser with instant fuzzy search across your whole
computer, written in Rust. Search uses fff-search,
the UI is built with GPUI Kit, and
Nushell is built in. Your shell can query the index the app keeps live, and the
app runs Nushell on the files you select.
This README is an overview. The manual documents every view,
menu, shortcut, setting, and command.
## What it does
- Indexes your home folder (and `/Applications` on macOS) in the background and
 keeps the index live. On the development Mac that's about 670,000 files in
 4 to 6 seconds, and a search over all of them returns in 30 to 110 ms.
- Searches by name with typo tolerance, or by file contents. You can narrow a
 search to the current folder, a kind, an extension, a glob, or a git status.
- Browses folders as icons, a list, columns, or a gallery, with a sidebar, back
 and forward history, and a clickable path bar.
- Previews files in the gallery, the column view, and Quick Look (Space). CSV,
 JSON, TOML, YAML, SQLite and other structured files open through Nushell's
 `open` and show as tables.
- Handles everyday file work: open, open in your editor, show in Finder, copy
 paths, rename one item or many, new folder, move to Trash, and drag files out
 to other apps.
- Has light and dark themes that follow the system, and a text size setting
 for the whole window.
## Nushell integration
### The `fff` module
`nu/fff.nu` lets your shell search the running app's index, so nothing is
scanned in the shell. Load it from your config:
 [code] 
 [code] 
The manual lists every `fff` command.
### Inside the app
- **The Nushell panel** (Ctrl+`) runs a pipeline with the selected files as
 `$in`. Each row has `name`, `path`, `type`, `kind`, `size`, and `modified`,
 so `where size > 1mb | sort-by modified` works as you'd expect.
- **Filters** (Cmd+Alt+F) narrow a folder or search results with a `where`
 condition such as `size > 10mb and modified > 2024-01-01`. Save a search and
 its filter in the sidebar as a Smart Folder.
- **Batch rename** (F2 with several items selected) renames with a closure,
 such as `{|f| $f.name | str downcase }`, and previews every new name first.
- **Your own actions.** Commands you export from `actions.nu` in the settings
 folder appear in the context menu and get the selection on `$in`. The first
 run writes a few starters, such as Count Lines and Find Duplicates.
- **Your Nushell environment.** With "Use Nushell's file colors and editor" on
 in Settings, file names use your `LS_COLORS` and "Open in Editor" uses your
 `buffer_editor`.
- **Open Nushell Here** (Cmd+Alt+T) opens `nu` in the folder, in the terminal
 you pick in Settings.
- **`fffinder --pick`** turns the window into a file chooser for scripts and
 prints the chosen paths as JSON.
### The local socket (experimental)
The `fff` module talks to the app over a local socket, and your own tools can
too. The endpoints are plain HTTP with JSON. They're experimental and may
change between ver