24 commands
the ones you'll use every day
Same names and same behaviour in zsh and PowerShell. Every one prints a usage line on bad input and degrades gracefully when a tool is missing.
cheatsheet / chs
Forgot what you installed? Prints the whole reference in your terminal —
every plugin, tool, command and keybind. --comp for the
exhaustive version.
fzdoctor
Checks every tool, config file, plugin and font, then prints ✓ or ✗ for each — with the exact command to fix anything missing.
theme [name]
Lists the four themes, or switches Ghostty, Starship and lazygit together in one go.
fzupdate
Updates furnizsh using whichever channel you installed from — the
bootstrap script, Homebrew, npm or a git checkout. Checks the current
release first and stops early if you are already on it. Also available
as furnizsh update in any shell.
core
Always installed.
| Command | What it does |
|---|---|
| mkcd <dir> | Create a directory, including parents, and cd into it. |
| up [n] | Go up n directory levels. up 3 beats cd ../../.. |
| serve [port] | Static HTTP server rooted here. Prints the LAN URL so you can open it on your phone. |
| ports | Everything currently listening, with port, PID and process name. |
| killport <port> | Kill whatever is holding a port — the other half of "port 3000 is already in use". |
| fkill | Fuzzy-pick one or more processes from an fzf list and kill them. |
| fe [query] | Fuzzy-pick a file with a syntax-highlighted preview, open it in $EDITOR. |
| bak <file> | Timestamped backup copy alongside the original. A five-second undo. |
| sizeof [dir] | The 20 biggest items in a directory, largest first. Why your disk is full. |
| gprune | Delete local branches already merged into the default branch. Lists them and asks first. |
| paths | $PATH one entry per line, with duplicates and dead directories flagged. |
| reload | Restart the shell in place after editing config. |
gprune is deliberately not called gclean — Oh My Zsh's
git plugin already defines that as git clean, and shadowing it
would silently replace a destructive command with an unrelated one.
extras
These call an external service, which is why they're separable — install with
--no-extras to leave them out. Nothing private is sent: the
queries are command names, city names and language names.
note writes locally only.
| Command | What it does |
|---|---|
| weather [city] | Forecast in the terminal. No argument geolocates by IP. |
| cheat <cmd> | Practical examples for any CLI tool — cheat tar, cheat git/rebase. |
| qr <text> | Renders a QR code in the terminal. Handy for getting a serve URL onto your phone. |
| gitignore <langs> | Fetch a .gitignore. -w writes the file instead of printing. |
| note [text] | Timestamped scratch notes in one local file. -l lists the last 20. |
| timer <mins> | Counts down in place, then fires a desktop notification. |
| sysinfo | OS, CPU, memory, uptime, disk, shell, terminal and the active theme. |
| dockerclean | Reclaim docker disk space. Named volumes are never touched — your data is safe. |
what the tools give you
Beyond the commands above, the installed tools replace things you already type.
| Tool | Replaces | You type |
|---|---|---|
| eza | ls | ls, ll, lt — icons, git status, tree view |
| bat | cat | cat file.ts — syntax highlighted, line numbers |
| fd | find | fd -e ts, fd -t d — saner defaults, much faster |
| zoxide | cd | z proj — jumps to the directory you actually use |
| fzf | ctrl+r | ctrl+r history, ctrl+t files, alt+c cd |
| delta | git pager | automatic on git diff — syntax-highlighted, navigable |
| lazygit | git CLI | lg — stage, commit, push, rebase, all in a TUI |
Plus Oh My Zsh with 17 plugins — ghost-text suggestions from history, live
valid/invalid command colouring, ESC ESC to prepend sudo,
x anything.tar.gz to extract. Full list in the
cheatsheet.