pjfzf

March 14, 2026 · View on GitHub

A project directory navigator for zsh, powered by fzf. Quickly jump to your projects with frecency-based sorting.

한국어

pjfzf demo

Why pjfzf?

Unlike general-purpose directory jumpers (z, zoxide, autojump), pjfzf is designed specifically for project directories:

pjfzfzoxide / z / autojump
ScopeOnly registered project directories — no noiseEvery directory you've ever visited
Browsingfzf with file previewBlind jump by query match
Project creationpjmk creates and navigatesNot supported
Tab completionpj + Tab opens fzfStandard shell completion

Installation

Homebrew

brew tap K021/pjfzf
brew install pjfzf

Then add to ~/.zshrc:

source $(brew --prefix)/share/pjfzf/pj.zsh

Manual

curl -o ~/.pj.zsh https://raw.githubusercontent.com/K021/pjfzf/main/pj.zsh
echo 'source ~/.pj.zsh' >> ~/.zshrc
source ~/.zshrc

Requirements

  • zsh
  • fzf (brew install fzf)

Usage

pj                  # Select project interactively with fzf
pj <query>          # Filter with initial search query
pj add <path>       # Register a base directory
pj remove <path>    # Unregister a base directory
pj list             # Show registered base directories
pj help             # Show help

Create a project

pjmk                # Pick base directory → enter name → create & cd
pjmk my-project     # Provide name upfront

Tab completion

Type pj and press Tab to launch fzf.

Configuration

FilePath
Config~/.config/pj/config
History~/.config/pj/history

The config file lists base directories, one per line. Default: ~/projects.

License

MIT