[package]
name = "prx"
version = "0.5.9"
edition = "2024"
rust-version = "1.85"
description = "Praxis — agent-native Unix tools. Single binary replacing grep, cat, find, sed, diff for AI coding agents."
license = "Apache-2.0"
repository = "https://github.com/civitas-io/prx"
keywords = ["cli", "ai", "agent", "search", "tools"]
categories = ["command-line-utilities", "development-tools"]
readme = "README.md"
exclude = [
"models/",
"benchmarks/",
"book/",
"docs/",
".prx/",
".github/",
]
[dependencies]
clap = { version = "4.6", features = ["derive"] }
tree-sitter = "0.26"
ast-grep-core = "0.42"
safetensors = "0.7"
ndarray = "0.17"
sprs = "0.11"
tokenizers = "0.23"
similar = "3.1"
bloomfilter = "3.0"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
xxhash-rust = { version = "0.8", features = ["xxh3"] }
ignore = "0.4"
thiserror = "2"
anyhow = "1"
regex = "1"
dirs-next = "2"
rayon = "1"
memmap2 = "0.9"
bytemuck = { version = "1", features = ["extern_crate_alloc"] }
postcard = { version = "1", features = ["alloc"] }
half = "2"
base64 = "0.22"
rmcp = { version = "1", features = ["server", "transport-io", "schemars"], optional = true }
tokio = { version = "1", features = ["full"], optional = true }
schemars = { version = "1", optional = true }
notify = { version = "8", optional = true }
tree-sitter-rust = "0.24"
tree-sitter-python = "0.25"
tree-sitter-javascript = "0.25"
tree-sitter-typescript = "0.23"
tree-sitter-go = "0.25"
tree-sitter-java = "0.23"
tree-sitter-c = "0.24"
tree-sitter-cpp = "0.23"
tree-sitter-ruby = "0.23"
tree-sitter-bash = "0.25"
tree-sitter-json = "0.24"
tree-sitter-html = "0.23"
tree-sitter-css = "0.25"
[features]
default = ["mcp"]
mcp = ["rmcp", "tokio", "schemars"]
watch = ["notify", "tokio"]
[profile.release]
lto = true
strip = true
codegen-units = 1
opt-level = "z"
[dev-dependencies]
assert_cmd = "2"
predicates = "3"
tempfile = "3"
criterion = "0.8"
[[bench]]
name = "search"
harness = false
[[bench]]
name = "chunking"
harness = false
[build-dependencies]
ureq = "3"
sha2 = "0.10"
half = "2"
serde_json = "1"