navi is a cheatsheet you can run. A cheatsheet is a plain text file: %
lines set tags, # lines describe a command, the command follows, and
each $ line says how to list the values for one <argument>. navi
searches the descriptions through fzf, asks for each argument with those
values as suggestions, and runs the finished command.
The suggestions are live: a $ log: line can run ls logs/, and a $ status: line can read the chosen log and offer only the status codes in
it, so one answer narrows the next. Cheatsheets can be pulled from git
repositories and shared, and --best-match with the arguments set in
the environment turns any cheat into a non-interactive command for a
script. A shell widget puts it on a key, so a half-typed command can be
finished from a cheat.
The demo opens in a folder with two cheatsheets and two web server logs.
Run navi, type count and pick a log; then navi --query "one status"
to see the second argument's list depend on the first; then cat cheats/logs.cheat to read what made that happen. The VM is private to
your browser tab; nothing you type leaves it.
Commands to try
navi | browse the cheatsheets, pick a command, answer its arguments |
navi --query "one status" | start with the search filled in; each answer narrows the next |
cat cheats/logs.cheat | the cheatsheet behind them: plain text |
log=logs/api.log navi --query "by status" --best-match | non-interactive: a variable from the environment, the top match, no questions |
Install navi on your own machine
| Alpine | apk add navi |
| macOS (Homebrew) | brew install navi |
| Arch | pacman -S navi |
| cargo | cargo install --locked navi |
This VM was last built on Oct 16, 2026. How Demoshell demos work →
Similar tools you can try here
- curl — The command-line tool for transferring data with URLs, sending requests to a local httpbin server in a private Linux VM.
- curlie — Httpie's syntax and coloured output on top of curl, every curl option still there, run against a local server in a private Linux VM.
- pet — The command-line snippet manager that saves a long command once and finds it by what it does, live in a private Linux VM.
- Miller — Awk, sed, cut and sort for CSV, TSV and JSON by field name, run over a sample orders file in a private Linux VM.
- Black — The uncompromising Python code formatter, in a playground backed by blackd running in a private Linux VM.