[package]
edition = "2024"
name = "prux"
version = "1.3.0"
build = "build.rs"
exclude = [
"screenshot/",
"tests/",
"examples/",
"migrations/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A minimal terminal coding agent: TUI, built-in coding tools, and an extension system"
homepage = "https://github.com/heng30/prux"
readme = "README.md"
keywords = [
"cli",
"tui",
"llm",
"agent",
"terminal",
]
categories = [
"command-line-interface",
"development-tools",
"artificial-intelligence",
]
license = "MIT"
repository = "https://github.com/heng30/prux"
[features]
test-support = []
[lib]
name = "prux"
path = "src/lib.rs"
[[bin]]
name = "prux"
path = "src/main.rs"
[dependencies.arboard]
version = "3.6"
features = [
"image-data",
"wayland-data-control",
]
default-features = false
[dependencies.ascii-dag]
version = "0.11"
features = [
"std",
"ports",
"generic",
"layout-vertical",
"layout-horizontal",
]
default-features = false
[dependencies.async-trait]
version = "0.1"
default-features = false
[dependencies.base64]
version = "0.23"
features = ["std"]
default-features = false
[dependencies.bytes]
version = "1.12"
default-features = false
[dependencies.calamine]
version = "0.37"
features = ["dates"]
default-features = false
[dependencies.chrono]
version = "0.4"
features = [
"std",
"clock",
]
default-features = false
[dependencies.clap]
version = "4.5"
features = [
"std",
"help",
"usage",
"derive",
"suggestions",
"error-context",
]
default-features = false
[dependencies.crossterm]
version = "0.29"
features = ["event-stream"]
default-features = false
[dependencies.dirs]
version = "7.0"
default-features = false
[dependencies.futures-util]
version = "0.3"
default-features = false
[dependencies.getrandom]
version = "0.4"
features = ["std"]
default-features = false
[dependencies.html2text]
version = "0.17"
default-features = false
[dependencies.http]
version = "1.0"
default-features = false
[dependencies.http-body-util]
version = "0.1"
default-features = false
[dependencies.hyper]
version = "1.11"
features = [
"http1",
"server",
]
default-features = false
[dependencies.hyper-util]
version = "0.1"
features = ["tokio"]
default-features = false
[dependencies.ignore]
version = "0.4"
default-features = false
[dependencies.image]
version = "0.25"
features = [
"png",
"bmp",
"gif",
"webp",
"jpeg",
]
default-features = false
[dependencies.jsonschema]
version = "0.59"
default-features = false
[dependencies.linkme]
version = "0.3"
default-features = false
[dependencies.lru]
version = "0.19"
default-features = false
[dependencies.pdf-extract]
version = "0.12"
default-features = false
[dependencies.pulldown-cmark]
version = "0.13"
default-features = false
[dependencies.quick-xml]
version = "0.42"
default-features = false
[dependencies.ratatui]
version = "0.30"
features = ["crossterm"]
default-features = false
[dependencies.ratatui-image]
version = "11.1"
features = ["crossterm"]
default-features = false
[dependencies.regex]
version = "1.11"
features = [
"unicode-perl",
"unicode-case",
]
default-features = false
[dependencies.reqwest]
version = "0.13"
features = [
"json",
"socks",
"stream",
"rustls",
]
default-features = false
[dependencies.rmcp]
version = "3.1"
features = [
"client",
"auth",
"transport-child-process",
"reqwest-tls-no-provider",
"transport-streamable-http-client-reqwest",
]
default-features = false
[dependencies.rquickjs]
version = "0.14"
features = [
"std",
"macro",
"futures",
"classes",
"parallel",
"rust-alloc",
"properties",
"array-buffer",
]
default-features = false
[dependencies.russh]
version = "0.64"
features = [
"rsa",
"flate2",
"aws-lc-rs",
]
default-features = false
[dependencies.russh-sftp]
version = "3.0"
default-features = false
[dependencies.rustls]
version = "0.23"
features = ["aws_lc_rs"]
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
default-features = false
[dependencies.serde_json]
version = "1.0"
features = ["preserve_order"]
default-features = false
[dependencies.sha2]
version = "0.11"
default-features = false
[dependencies.similar]
version = "3.1"
features = ["text"]
default-features = false
[dependencies.sse-stream]
version = "0.2"
default-features = false
[dependencies.stacksafe]
version = "1.0"
default-features = false
[dependencies.strum]
version = "0.28"
features = ["std"]
default-features = false
[dependencies.strum_macros]
version = "0.28"
default-features = false
[dependencies.syntect]
version = "5.3"
features = [
"yaml-load",
"regex-fancy",
"default-syntaxes",
]
default-features = false
[dependencies.sysinfo]
version = "0.39"
features = ["system"]
default-features = false
[dependencies.tempfile]
version = "3.27"
default-features = false
[dependencies.thiserror]
version = "2.0"
default-features = false
[dependencies.tiktoken-rs]
version = "0.12"
default-features = false
[dependencies.tokio]
version = "1.53"
features = [
"net",
"sync",
"time",
"macros",
"io-std",
"io-util",
"process",
"rt-multi-thread",
]
default-features = false
[dependencies.tokio-tungstenite]
version = "0.30"
features = [
"connect",
"rustls",
]
default-features = false
[dependencies.tokio-util]
version = "0.7"
default-features = false
[dependencies.unicode-normalization]
version = "0.1"
default-features = false
[dependencies.unicode-segmentation]
version = "1.13"
default-features = false
[dependencies.unicode-width]
version = "0.2"
default-features = false
[dependencies.url]
version = "2.5"
default-features = false
[dependencies.webbrowser]
version = "1.0"
default-features = false
[dependencies.zip]
version = "9.0"
features = ["deflate"]
default-features = false
[dev-dependencies.anyhow]
version = "1.0"
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.log]
version = "0.4"
[dev-dependencies.rmcp]
version = "3.1"
features = [
"server",
"server-side-http",
"transport-streamable-http-server",
"tower",
]
default-features = false
[dev-dependencies.tokio-stream]
version = "0.1"
[dev-dependencies.tower]
version = "0.5"
[target.'cfg(target_os = "linux")'.dependencies.enigo]
version = "0.6"
features = ["wayland"]
default-features = false
[target.'cfg(target_os = "linux")'.dependencies.xcap]
version = "0.9"
default-features = false
[target.'cfg(target_os = "linux")'.dependencies.zbus]
version = "6.0"
features = [
"proxy",
"tokio",
]
default-features = false
[target.'cfg(target_os = "macos")'.dependencies.core-graphics]
version = "0.25"
features = ["highsierra"]
[target.'cfg(target_os = "macos")'.dependencies.enigo]
version = "0.6"
default-features = false
[target.'cfg(target_os = "macos")'.dependencies.xcap]
version = "0.9"
default-features = false
[target.'cfg(target_os = "windows")'.dependencies.enigo]
version = "0.6"
default-features = false
[target.'cfg(target_os = "windows")'.dependencies.windows]
version = "0.62"
features = [
"Win32_Foundation",
"Win32_System_Com",
"Win32_UI_Accessibility",
"Win32_UI_WindowsAndMessaging",
"Win32_UI_Input_KeyboardAndMouse",
]
default-features = false
[target.'cfg(target_os = "windows")'.dependencies.xcap]
version = "0.9"
default-features = false
[target.'cfg(target_os = "windows")'.build-dependencies.embed-resource]
version = "3.0"
default-features = false
[target."cfg(unix)".dependencies.nix]
version = "0.31"
features = [
"fs",
"user",
"poll",
"signal",
"process",
]
default-features = false
[profile.dev]
opt-level = 0
lto = false
debug = 0
incremental = true
[profile.release]
opt-level = "s"
lto = true
codegen-units = 1
debug = 0
panic = "abort"
incremental = true
strip = true