mant
mant is ManT's complete native document command: an interactive terminal
reader for people, a deterministic structured CLI for scripts and agents, and
a read-only stdio MCP server. Every surface consumes the same normalized
document model.
Install
Download a supported prebuilt GitHub Release through
cargo-binstall:
Or compile from crates.io:
Source builds require Rust 1.88+. Linux and macOS manual support also requires a C compiler and zlib development headers; Windows builds are pure Rust.
| Target | Prebuilt archive | Source capabilities |
|---|---|---|
| Linux x64, glibc | Yes | Markdown and native man/mdoc |
| Linux arm64, glibc | Yes | Markdown and native man/mdoc |
| Windows x64, MSVC | Yes | Markdown |
| macOS | Source build | Markdown and native man/mdoc |
Targets without a matching archive fall back from cargo binstall to a Cargo
source build. Public macOS archives remain disabled until they can be signed
and notarized.
Interactive reader
An ordinary complete query opens the reader when standard input and output are
terminals. Use --ui to require it explicitly:
The reader provides a resizable outline, collapsible sections, semantic option nodes, settled-scroll following, page-local links, full-document search, keyboard and mouse input, and optional tldr quick references before the full document. Redirected output stays deterministic instead of emitting terminal control sequences.
Structured queries for agents and scripts
Discover the document before selecting only the content that matters:
Output formats include Markdown, text, man-style plain text, and JSON. Search results carry reusable outline selectors and exact generated-Markdown coordinates. Machine consumers can discover the authoritative contracts from the installed executable:
mant --mcp exposes the same read-only document discovery, outline, excerpt,
explanation, and search capabilities over stdio JSON-RPC. MCP stdout contains
protocol messages only; use CLI JSON output to inspect lowering diagnostics.
Document sources
On Linux and macOS, ManT indexes raw, gzip, and zstd manual sources and parses
their roff through bundled libmandoc. It does not require a system man or
mandoc executable at runtime. Windows intentionally omits this Unix source
family.
Reusable Markdown documents can be registered by filename below:
- Linux:
${XDG_DATA_HOME:-$HOME/.local/share}/mant/documents - macOS:
~/Library/Application Support/ManT/documents - Windows user:
%APPDATA%\ManT\documents - Windows system:
%PROGRAMDATA%\ManT\documents
Nested directories and symlinks are discovered recursively. An unqualified
mant NAME resolves registered Markdown before a native manual with the same
name. Explicit Markdown paths and mant - standard input remain available for
one-off documents; --manual bypasses registered Markdown on Unix.
When compatible local tldr data exists, ManT prepends it as reserved outline
node 0. Reads prefer installed-client caches and then ManT's private cache;
mant --update-tldr updates through an installed client or the private
checkout.
Crate architecture
mant-astdefines the versioned document and query contracts.libmandoc-rsowns the Unix libmandoc parser boundary.mant-coreperforms source lookup, lowering, projections, search, and output.mant-uiprovides the source-neutral Ratatui frontend.mantowns command-line, terminal-selection, and MCP process boundaries.
The complete user manual, protocol reference, and release archives live in the ManT repository.
License
Apache-2.0. Unix builds also include the upstream mandoc licenses distributed
by libmandoc-rs.