Make westenfelder/NL2SH the default `ai` model (most accurate in the 25-query benchmark, only model handling hard multi-stage tasks) and add a -q/--quiet/--raw flag that prints just the generated command to stdout (errors to stderr) so `ai` composes in scripts and pipelines. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
super-man
An interactive, fuzzy command + man-page flag browser for the terminal. Search 260+ commands, drill into any one to fuzzy-search its flags with live descriptions, and jump back to the command list instantly.
Demo
Video (MP4): demo/super-man-demo.mp4 ·
asciinema cast: demo/super-man-demo.cast
The clip shows opening an entry (grep), browsing its flags, then pressing
Esc to return straight to the home screen — no intermediary step — and
repeating with tar.
Usage
super-man # interactive home screen (fzf)
super-man <command> [filter] # jump straight to a command's flags
super-man -l, --list # list all known commands
super-man -h, --help # full help
# Natural-language modes (database-backed, needs jq)
super-man ask "find large files" # ask a question
super-man task "monitor cpu usage" # describe what you want to do
super-man category files # browse by category (files/text/network/system)
super-man explain "tar -czf" # explain what a command does
super-man ai "count lines in js files" # AI bash one-liner via local LLM (advanced)
AI mode (local LLM via ollama)
ai generates a bash one-liner from plain English using a local ollama
model. The default is westenfelder/NL2SH, a model purpose-built for
natural-language-to-shell — in our 25-query benchmark it was the most accurate, the
only one that handled hard multi-stage tasks. The model is configurable, so you can
still A/B other local LLMs:
super-man ai "find python files modified last week" # default model (NL2SH)
super-man ai -q "list the 5 largest files" # quiet: print ONLY the command
super-man ai --model qwen2.5-coder:1.5b "count lines in js" # override model
super-man ai --compare "list the 5 largest files" # run several models side by side
The -q / --quiet / --raw flag prints only the generated command to stdout (errors
go to stderr), so it composes in scripts and pipelines:
cmd=$(super-man ai -q "compress the logs folder into a tarball")
echo "$cmd" # tar -czf logs.tar.gz logs/
| Env var | Purpose | Default |
|---|---|---|
SUPERMAN_AI_MODEL |
Default model for ai |
westenfelder/NL2SH |
SUPERMAN_AI_COMPARE_MODELS |
Space-separated list for --compare |
westenfelder/NL2SH qwen2.5-coder:1.5b |
The purpose-built westenfelder/NL2SH model receives the raw query; general coder
models (e.g. qwen2.5-coder) are prompt-wrapped to emit a single bare command. Pull
either with ollama pull <model>. See the
benchmark write-up for the full model comparison.
Esc in the flag browser returns to the command list; Esc on the home screen
exits.
Requirements: jq for the natural-language modes, fzf for interactive mode.
See docs/ for design notes and the full feature history.
