[package]
edition = "2024"
rust-version = "1.88"
name = "mant"
version = "0.11.0"
build = false
include = [
"/Cargo.toml",
"/LICENSE",
"/README.md",
"/src/**",
"/tests/support/display_pty.py",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Local-first TUI, structured CLI, and MCP server for manuals and Markdown"
homepage = "https://github.com/BryanHeBY/ManT"
readme = "README.md"
keywords = [
"man",
"markdown",
"cli",
"mcp",
"documentation",
]
categories = [
"command-line-utilities",
"text-processing",
]
license = "Apache-2.0"
repository = "https://github.com/BryanHeBY/ManT"
[package.metadata.binstall.overrides.x86_64-unknown-linux-gnu]
pkg-url = "{ repo }/releases/download/v{ version }/mant-{ version }-linux-x64.tar.gz"
bin-dir = "mant-{ version }-linux-x64/{ bin }"
pkg-fmt = "tgz"
[package.metadata.binstall.overrides.aarch64-unknown-linux-gnu]
pkg-url = "{ repo }/releases/download/v{ version }/mant-{ version }-linux-arm64.tar.gz"
bin-dir = "mant-{ version }-linux-arm64/{ bin }"
pkg-fmt = "tgz"
[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-url = "{ repo }/releases/download/v{ version }/mant-{ version }-windows-x64.zip"
bin-dir = "mant-{ version }-windows-x64/{ bin }{ binary-ext }"
pkg-fmt = "zip"
[package.metadata.docs.rs]
all-features = true
[features]
default = [
"roff",
"tui",
"pager",
"mcp",
"update",
]
mcp = [
"dep:rmcp",
"dep:rmcp-macros",
"dep:tokio",
]
pager = [
"dep:crossterm",
"dep:crossbeam-channel",
"dep:parking_lot",
"dep:regex",
"dep:textwrap",
"dep:thiserror",
"dep:signal-hook",
]
roff = ["mant-engine/roff"]
tui = [
"dep:mant-ui",
"dep:ratatui",
"dep:crossterm",
"dep:arboard",
"dep:base64",
"dep:signal-hook",
]
update = ["mant-sources/update"]
[lib]
name = "mant"
path = "src/lib.rs"
[[bin]]
name = "mant"
path = "src/main.rs"
[dependencies.anstream]
version = "1.0.0"
[dependencies.anstyle]
version = "1.0.14"
[dependencies.arboard]
version = "3.6.1"
features = ["wayland-data-control"]
optional = true
default-features = false
[dependencies.base64]
version = "0.23.1"
optional = true
[dependencies.clap]
version = "4.6.6"
features = [
"color",
"derive",
"error-context",
"help",
"std",
"suggestions",
"usage",
]
default-features = false
[dependencies.crossbeam-channel]
version = "^0.5"
optional = true
[dependencies.crossterm]
version = "0.29.0"
optional = true
[dependencies.mant-codec]
version = "^0.11.0"
default-features = false
[dependencies.mant-engine]
version = "^0.11.0"
default-features = false
[dependencies.mant-ir]
version = "^0.11.0"
[dependencies.mant-loader]
version = "^0.11.0"
default-features = false
[dependencies.mant-protocol]
version = "^0.11.0"
[dependencies.mant-query]
version = "^0.11.0"
default-features = false
[dependencies.mant-render]
version = "^0.11.0"
[dependencies.mant-sources]
version = "^0.9.3"
default-features = false
[dependencies.mant-ui]
version = "^0.11.0"
optional = true
[dependencies.parking_lot]
version = "^0.12.1"
optional = true
[dependencies.ratatui]
version = "0.30.2"
features = ["crossterm"]
optional = true
default-features = false
[dependencies.regex]
version = "^1"
optional = true
[dependencies.rmcp]
version = "=3.2.0"
features = [
"macros",
"server",
"transport-io",
]
optional = true
default-features = false
[dependencies.rmcp-macros]
version = "=3.2.0"
optional = true
[dependencies.schemars]
version = "=1.2.2"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.textwrap]
version = "~0.16"
features = ["unicode-width"]
optional = true
default-features = false
[dependencies.thiserror]
version = "^2"
optional = true
[dependencies.tokio]
version = "1"
features = [
"io-std",
"io-util",
"macros",
"rt",
"sync",
]
optional = true
default-features = false
[dev-dependencies.toml]
version = "1.1"
[target."cfg(unix)".dependencies.signal-hook]
version = "0.4.4"
optional = true
[target."cfg(unix)".dev-dependencies.libc]
version = "0.2.189"
[target."cfg(windows)".dependencies.crossterm_winapi]
version = "0.9.1"
[lints.clippy]
all = "warn"
pedantic = "warn"
[lints.rust]
unsafe_code = "deny"