# 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 ![super-man demo](demo/super-man-demo.gif) Video (MP4): [`demo/super-man-demo.mp4`](demo/super-man-demo.mp4) · asciinema cast: [`demo/super-man-demo.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 ```bash super-man # interactive home screen (fzf) super-man [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](https://ollama.com) model. The model is configurable, so you can A/B different local LLMs: ```bash super-man ai "find python files modified last week" # default model super-man ai --model qwen2.5:3b "count lines in all js files" # override model super-man ai --compare "list the 5 largest files" # run several models side by side ``` | Env var | Purpose | Default | |---------|---------|---------| | `SUPERMAN_AI_MODEL` | Default model for `ai` | `qwen2.5-coder:1.5b` | | `SUPERMAN_AI_COMPARE_MODELS` | Space-separated list for `--compare` | `qwen2.5-coder:1.5b westenfelder/NL2SH` | General coder models (e.g. `qwen2.5-coder`) are prompt-wrapped to emit a single bare command; the purpose-built `westenfelder/NL2SH` model receives the raw query. Pull either with `ollama pull `. `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/`](docs/) for design notes and the full feature history.