Build & run

March 13, 2026 · View on GitHub

macOS 13+ Swift 5.9 AppKit libghostty MIT License

Findr

A keyboard-driven file manager for macOS.
Native AppKit. No Electron. No custom chrome.

Stars Last Commit Repo Size


Why

Finder is fine. But if you live in the terminal and want a file manager that keeps up — one that you can drive entirely from the keyboard, search instantly, and drop into a shell without switching apps — Findr is that.

Features

  • Keyboard-first — Vim keys (h/j/k/l), arrow keys, all the Cmd+ shortcuts you expect
  • Tabs — Native macOS window tabs (Cmd+T / Cmd+W)
  • Search — Fuzzy local filter + Spotlight deep search, live as you type (Cmd+F)
  • Embedded terminal — Powered by libghostty. Opens in the current directory (Cmd+.)
  • Sidebar — Favorites, locations, mounted volumes
  • Quick Look — Press Space on any file
  • File watching — Directory contents update live
  • Stock AppKit — Default system appearance, respects your accent color and dark mode

Keyboard Shortcuts

ActionShortcut
Navigate up/downj / k or /
Enter directoryl or
Go uph or or Backspace
Open file/appDouble-click or l on file
Quick LookSpace
RenameEnter
Go to top / bottomg / G
SearchCmd+F
Go to folderCmd+Shift+G
New tabCmd+T
Close tabCmd+W
Toggle terminalCmd+.
Toggle sidebarCtrl+Cmd+S
Toggle hidden filesCmd+Shift+.
New folderCmd+Shift+N
Move to TrashCmd+Delete
Back / ForwardCmd+[ / Cmd+]
Parent folderCmd+↑

Requirements

  • macOS 13 Ventura or later
  • Swift 5.9+
  • Zig 0.15.2 (to build libghostty)
  • Ghostty source (for the terminal — optional)

Build

# Clone
git clone https://github.com/FujiwaraChoki/findr.git
cd findr

# Build libghostty (required for embedded terminal)
git clone --depth 1 https://github.com/ghostty-org/ghostty.git /tmp/ghostty-build
cd /tmp/ghostty-build
zig build -Demit-xcframework -Dxcframework-target=native -Doptimize=ReleaseFast
cp -R macos/GhosttyKit.xcframework /path/to/findr/
cd /path/to/findr

# Build & run
swift build
.build/debug/Findr

Note: If you skip the libghostty build step, the project won't compile. The terminal is a core dependency.

Project Structure

Sources/Findr/
├── main.swift                          # Entry point
├── AppDelegate.swift                   # Menu bar, window lifecycle
├── Controllers/
│   ├── MainWindowController.swift      # Window, toolbar, split views
│   ├── FileBrowserViewController.swift # Table view, keyboard nav, Quick Look
│   └── SidebarViewController.swift     # Favorites & locations
├── Models/
│   └── FileItem.swift                  # File system model
├── Search/
│   └── SearchEngine.swift              # Fuzzy filter + Spotlight (NSMetadataQuery)
├── Terminal/
│   ├── GhosttyRuntime.swift            # libghostty app singleton & callbacks
│   ├── TerminalSurfaceView.swift       # NSView hosting Metal terminal surface
│   └── TerminalViewController.swift    # Terminal panel controller
└── Views/
    ├── PathBarControl.swift            # Breadcrumb path bar
    └── StatusBarView.swift             # Item count, selection, disk space

License

MIT


Built with AppKit and libghostty.