I replaced the `man` command with a Python TUI — and it's actually useful
Source: Dev.to
What it looks like

What it does differently
| Feature | man | smartman |
|---|---|---|
| Syntax highlighting | ❌ | ✅ |
| Interactive sidebar (jump to sections) | ❌ | ✅ |
| Quick‑win examples at the top | ❌ | ✅ |
| AI‑powered plain‑English explanations | ❌ | ✅ |
| Themes (Dracula, Catppuccin, Nord…) | ❌ | ✅ |
Features I’m actually proud of
⚡ Quick‑Win Gallery
The most painful thing about man pages is that useful examples are always buried at the bottom. SmartMan surfaces the most common usage patterns as interactive cards right at the top of every page. No scrolling, no grep‑ing through the man page to find what you need.
🤖 AI Explanations (via Groq)
Staring at a complex flag description and still confused? Run:
smartman --explain awk
It hits the Groq API (sub‑second response, free tier available) and gives you a plain‑English summary of what the command actually does — no more decoding formal specification language at 2 am.
📂 Interactive Sidebar
Jump between sections instantly using keyboard shortcuts:
| Key | Action |
|---|---|
n | Jump to NAME |
s | Jump to SYNOPSIS |
d | Jump to DESCRIPTION |
o | Jump to OPTIONS |
e | Jump to EXAMPLES |
q | Quit |
🎨 Theming
Built on YAML‑based themes, so you can match your exact terminal aesthetic:
- Default — Modern dark blue
- Dracula — Classic dev
- Catppuccin — Pastel mocha
- Nord — Cool‑toned frost
- Monokai — High‑contrast vibrant
Example:
smartman --theme dracula grep
Install it in one line
curl -sSL https://raw.githubusercontent.com/ambaskaryash/smartman-cli/main/install.sh | bash
Or via pipx if you prefer:
pipx install smartman
Then, to make it your permanent default man command, add this to your .bashrc or .zshrc:
alias man='smartman'
Now every time you type man , you get the full SmartMan experience automatically.
The stack
- Textual — The TUI framework that makes all the interactive UI possible.
- Rich — Powers the syntax highlighting and styled rendering.
- Groq API — For the AI explanations; chosen for its near‑zero latency.
- Typer — Clean CLI interface with zero boilerplate.
What’s next
- Fuzzy search across all installed man pages
- Bookmarking frequently‑used man pages
-
--tldrmode (shorter, community‑sourced summaries) - Export to PDF
Try it out
The full source code is on GitHub:
👉 github.com/ambaskaryash/smartman-cli
If this saves you even a few seconds of squinting at man pages, a ⭐ on the repo would mean a lot — it helps other Linux users discover it too. Contributions are very welcome, especially new themes. Adding one is as simple as dropping a YAML file into smartman/themes/.
What’s the most annoying thing about the default man command for you? Drop it in the comments — I’m actively looking for what to build next.