Local-first / inline project finder

WTFIS
HELP.

Find your fucking Folder. WTFIS searches locally, handles fuzzy matches, and drops your shell into the folder you meant.

wtfis / help
$ wtfis --help
Find your fucking Folder.
A local-first, inline folder finder for shells that should know where you work.

USAGE
  wtfis QUERY            Search immediately
  cdd QUERY              Short alias for wtfis

HELP CONTROLS
  Up / Down, Page Up / Page Down, Home / End to scroll
  q, Esc, or Enter to close

01Install

Install the binary for your operating system, then load its wrapper once. The wrapper is what lets WTFIS change your current shell after you pick a folder.

macOS

Homebrew installs both the binaries and shell wrappers.

brew tap prophesourvolodymyr/wtfis brew install wtfis
cat "$(brew --prefix wtfis)/share/wtfis/wtfis.zsh" >> ~/.zshrc source ~/.zshrc

For Bash, source wtfis.bash from the same Homebrew directory in ~/.bashrc.

Linux

Download wtfis-linux-x86_64.tar.gz from the latest GitHub release, then install the binaries and Bash wrapper.

tar -xzf wtfis-linux-x86_64.tar.gz mkdir -p ~/.local/bin ~/.local/share/wtfis install -m 755 wtfis-linux-x86_64/wtfis wtfis-linux-x86_64/cdd ~/.local/bin/ cp -R wtfis-linux-x86_64/shell ~/.local/share/wtfis
echo 'source "$HOME/.local/share/wtfis/wtfis.bash"' >> ~/.bashrc source ~/.bashrc

For Zsh, source ~/.local/share/wtfis/wtfis.zsh from ~/.zshrc.

Windows

Download wtfis-windows-x86_64.zip from the latest GitHub release, then extract it and load the PowerShell wrapper.

Expand-Archive .\wtfis-windows-x86_64.zip -DestinationPath $env:LOCALAPPDATA\WTFIS -Force $install = "$env:LOCALAPPDATA\WTFIS\wtfis-windows-x86_64" $env:Path += ";$install" . "$install\shell\wtfis.ps1"

Add . "$install\shell\wtfis.ps1" to your PowerShell $PROFILE to load the wrapper in future sessions.

02Usage

Run WTFIS on its own for recent projects. Pass a project name, path, typo, or command preset when you already know what you want.

wtfis # open inline search wtfis my-project # search immediately cdd my-project # short alias wtfis my-project /opencode # search, enter, and run a command

Running wtfis with no query does not scan anything. It opens with up to five recent folders, then starts searching when you type.

03Direct commands

These skip the selector when WTFIS already has enough context to act.

CommandAction
wtfis --setConfigure roots, depth, colors, and commands.
wtfis --upRecover a failed cd with a global home search.
wtfis --prevReturn to the previous directory. Requires shell integration.
wtfis --rootGo to a project root detected from .git or manifest files.
wtfis --lastReturn to the most recent project selected by WTFIS.
wtfis --wherePrint the detected project root without changing directory.
wtfis --homeGo directly to your home directory.
wtfis --recentOpen recent projects in the selector.
wtfis --helpShow the inline command guide.

05Slash commands

Type / in the selector to browse command presets. Run one immediately, or attach it to a project for later.

InputAction
/Browse configured command presets.
/opencodeEnter the project and run opencode.
/addAttach a preset or custom command to a project.
/exitLeave command mode.
/anythingRun any command after entering the project.

06Controls

ControlBehavior
Up / DownMove through projects or commands.
EnterOpen the selected project or run a command.
EscCancel, clear, or leave the current overlay.
Mouse clickSelect or open an item.
Mouse wheelIgnored inside the inline UI.
Page Up / Page DownScroll the help guide.
Home / EndJump to the beginning or end of the help guide.
q / Esc / EnterClose the help guide.

07Configuration

Run wtfis --set whenever you need to change roots, hidden folders, depth, colours, coffee reminders, or command presets.

roots = ["/Users/you/GSpace"] exact_depth = 3

exact_depth caps how far WTFIS looks. A value of 3 checks the first three layers below the root.

08Shell integration

The wrapper keeps the selected path long enough to move your current shell after WTFIS exits. Homebrew installs it under share/wtfis and prints the setup command.

Zsh

cat "$(brew --prefix wtfis)/share/wtfis/wtfis.zsh" >> ~/.zshrc
source ~/.zshrc

Bash

cat "$(brew --prefix wtfis)/share/wtfis/wtfis.bash" >> ~/.bashrc
source ~/.bashrc

If cd path fails, WTFIS suggests wtfis --up.