fzf-make is a command line tool that executes commands using fuzzy finder with preview window. Currently supporting make, pnpm, yarn, just, task.
- Select and execute a make target or (pnpm | yarn) scripts or just recipe or task using fuzzy-finder with a preview window by running
fzf-make! - Execute the last executed command(By running
fzf-make --repeat.) - Command history
- Support make, pnpm, yarn, just, task. Scheduled to be developed: npm.
- Support passing additional arguments to the command using popup window. The UI looks like: #447
- [make] Support
includedirective - [pnpm] Support workspace(collect scripts all of
package.jsonin the directory where fzf-make is launched.) - [yarn] Support workspace(collect all scripts which is defined in
workspacesfield in rootpackage.json.) - [just] Support execution inside of directory of justfile.
- [task] Support
includeswith both file and directory paths, following Taskfile schema. (fzf-make is just using output oftask --list-all --json)- Note that the minimum supported task version is
v3.44.0.
- Note that the minimum supported task version is
- (Scheduled to be developed) Support config file
# install
brew install fzf-make# update
brew upgrade fzf-makefzf-make can be installed from the AUR using an AUR helper. For example:
paru -S fzf-makefzf-make can be run from the repository (latest version)
nix run github:kyu08/fzf-makeOr from the nixpkgs (channel >= 23.05)
nix run nixpkgs#fzf-makeNote You may need to enable experimental feature. In that case, execute the following command to enable them
echo "experimental-features = nix-command flakes" | tee ~/.config/nix/nix.conf
cargo +1.90.0 install --locked fzf-make
# Or build from the latest source
cargo +1.90.0 install --git https://github.com/kyu08/fzf-make/- Execute
fzf-makein the directory you want to run make target, or (pnpm | yarn) scripts or just recipe. - Select command you want to execute. If you type some characters, the list will be filtered.

- Execute
fzf-makein the directory you want to run make target, or (pnpm | yarn) scripts or just recipe.(For just, we support execution inside of directory of justfile.) - Press
Tabto move to the history pane. - Select command you want to execute.

Whether makefile(file name should be one of GNUmakefile, makefile, Makefile) is in the current directory.
Whether package.json and pnpm-lock.yaml are in the current directory.
Whether package.json and yarn.lock are in the current directory.
Whether justfile or .justfile are in the current directory or ancestor directories. If the lower cased file name matches justfile or .justfile, it is treat as a justfile. (e.g. justFile or .JustFile are also valid.)
| Command | Description |
|---|---|
fzf-make |
Launch fzf-make |
fzf-make --repeat / fzf-make -r / fzf-make repeat |
Execute last executed target |
fzf-make --history / fzf-make -h / fzf-make history |
Launch fzf-make with the history pane focused |
fzf-make --help / fzf-make help |
Show help |
fzf-make --version / fzf-make -v / fzf-make version |
Show version |
To simplify the usage of fzf-make, you can define aliases in your shell configuration. Below is an example configuration that works for most shells (bash, zsh, fish, etc.):
alias fm='fzf-make'
alias fr='fzf-make repeat'
alias fh='fzf-make history'- Clone this repository
- Change the codes
- Run
make run
To execute test, run make test(needs nextest).
Or you can use nix to create a development shell with the project dependencies.
Within the repo root, execute the following command:
nix develop- Contributions are welcome!
- If you have a Feature request, please create an issue first.
- If you have added fzf-make to some package manager, please let me know. (or please send a PR to add how to install via the package manager in the
README.md) - If you have any questions, feel free to create an issue and ask.
- fzf-make - A command runner with fuzzy finder and preview window for make, pnpm - reddit
- Show HN: fzf-make – a command runner with a fuzzy finder for make, pnpm and yarn - Hacker News
- (Japanese)[make,pnpm,yarnに対応]タスクランナーのコマンドをfuzzy finder形式で選択できるCLIツール fzf-makeの紹介
- (Japanese)Makefileに定義されたtargetをfzfで選択して実行するCLIツールをRustでつくった