No description
- TypeScript 77%
- Rust 12.7%
- CSS 6.2%
- Shell 3.6%
- HTML 0.5%
Remove operationally impactful guidance only and drop internal project history/implementation notes from AGENTS.md. |
||
|---|---|---|
| .vscode | ||
| docs/media | ||
| public | ||
| scripts | ||
| src | ||
| src-tauri | ||
| .gitignore | ||
| AGENTS.md | ||
| biome.json | ||
| components.json | ||
| index.html | ||
| lefthook.yml | ||
| package.json | ||
| playwright-desktop-fzf.png | ||
| pnpm-lock.yaml | ||
| README.md | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
| vitest.config.ts | ||
Better Man Viewer
A desktop-first man page reader for Linux, built with Tauri + React + TypeScript.
It keeps the speed of man while making long docs easier to navigate with sections, search modes, and cleaner reading ergonomics.
Demo (Real fzf Session)
Highlights
- Loads real system man pages through the Rust backend (
man+col -bx). - Section tree with collapsible hierarchy for pages like
fzf(1)(OPTIONS -> SEARCH, etc.). - Two search workflows:
Find: inline highlighting with Enter / Shift+Enter navigation.Filter: narrow to matching lines, click to jump, return to full context.
- Adjustable zoom (
Ctrl/Cmd +,Ctrl/Cmd -,Ctrl/Cmd 0). - Wrapped line rendering tuned for terminal-like indentation and option descriptions.
- Persistent settings (theme, zoom, last search mode, window size).
Quick Start
Prerequisites
- Node.js
^20.19.0or>=22.12.0 - pnpm
- Rust toolchain (for Tauri desktop runtime)
- Linux environment with
manandcol
Install
pnpm install
Run (Web Preview)
pnpm dev
Open http://localhost:1420.
Run (Desktop App)
pnpm tauri dev
Build + Install Binary (Local User)
pnpm install-app
This runs lint/typecheck/tests, builds a release binary, and installs it to
~/.local/bin/better-man-viewer.
Optional overrides:
INSTALL_DIR=/custom/bin pnpm install-appINSTALL_NAME=my-man-viewer pnpm install-appCARGO_TARGET_DIR=/tmp/tauri-target pnpm install-app
Developer Commands
pnpm lint # Biome checks for src/
pnpm typecheck # TypeScript validation
pnpm test # Vitest unit tests
pnpm verify # lint + typecheck + tests
pnpm build # Production web build
Hooks & Safety
This repo uses lefthook with gitleaks and lint checks.
lefthook install
Optional Shell Alias
If you want to launch this app from man, add:
man() {
command better-man-viewer "$@" || command man "$@"
}
Bypass anytime with:
command man ls

