[package]
name = "pitchfork-cli"
description = "Daemons with DX"
license = "MIT"
version = "2.12.0"
edition = "2024"
rust-version = "1.87"
homepage = "https://pitchfork.en.dev"
repository = "https://github.com/jdx/pitchfork"
documentation = "https://pitchfork.en.dev"
build = "build.rs"
include = [
"src/**/*.rs",
"assets/**/*",
"src/web/assets/**/*",
"/pitchfork-extras.usage.kdl",
"/settings.toml",
"/build.rs",
"/build/**/*.rs",
]
[[bin]]
name = "pitchfork"
path = "src/main.rs"
[lib]
name = "pitchfork_cli"
path = "src/lib.rs"
[features]
default = ["proxy-tls"]
proxy-tls = ["rcgen", "tokio-rustls", "rustls-pemfile", "x509-parser"]
[dependencies]
auto-launcher = "1.0.3"
chrono = { version = "0.4", features = ["serde"] }
clap = { version = "4", features = ["derive", "env"] }
clap_usage = "2"
clx = "2"
comfy-table = "7.1.3"
console = "0.16"
cron = "0.16"
dirs = "6"
duct = "1.0"
exponential-backoff = "2"
indexmap = { version = "2", features = ["serde"] }
interprocess = { version = "2", features = ["tokio"] }
itertools = "0.14"
log = { version = "0.4", features = ["serde"] }
mdns-sd = "0.13"
miette = { version = "7", features = ["fancy"] }
notify = { version = "8" }
notify-debouncer-full = "0.7"
once_cell = "1"
regex = "1"
reqwest = { version = "0.13", default-features = false, features = [
"rustls-native-certs",
"rustls-no-provider",
] }
rev_lines = "0.3"
rust-embed = { version = "8", features = ["axum"] }
axum = { version = "0.8" }
tower-http = { version = "0.6", features = ["fs", "cors"] }
hyper = { version = "1", features = ["full"] }
hyper-util = { version = "0.1", features = [
"full",
"client",
"client-legacy",
"http1",
"http2",
"tokio",
] }
http-body-util = "0.1"
rcgen = { version = "0.14", optional = true, features = ["x509-parser"] }
tokio-rustls = { version = "0.26", optional = true, default-features = false, features = ["ring", "tls12"] }
rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"] }
hyper-rustls = { version = "0.27", default-features = false, features = ["ring", "http1", "http2", "tls12"] }
rustls-pemfile = { version = "2", optional = true }
x509-parser = { version = "0.18", optional = true }
tokio-stream = "0.1"
async-stream = "0.3"
urlencoding = "2"
mime_guess = "2"
rmp-serde = "1"
schemars = { version = "1", features = ["indexmap2"] }
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["indexmap"] }
shell-words = "1.1.0"
strum = { version = "0.28", features = ["derive"] }
tera = "1"
sysinfo = "0.38"
thiserror = "2"
tokio = { version = "1", features = ["full"] }
tokio-util = { version = "0.7", features = ["rt"] }
toml = { version = "1.0", features = ["preserve_order"] }
rmcp = { version = "1", features = ["server", "transport-io"] }
uuid = { version = "1", features = ["v4", "fast-rng"] }
xx = { version = "2", features = ["fslock", "hash"] }
ratatui = { version = "0.30", features = ["unstable-rendered-line-info"] }
crossterm = "0.29"
fuzzy-matcher = "0.3.7"
glob = "0.3"
globset = "0.4"
humanbyte = { version = "0.2", features = ["serde", "derive"] }
humantime = "2"
listeners = "0.5"
derive_more = { version = "2.1.1", features = ["into", "display", "from", "deref", "as_ref"] }
vte = { version = "0.15.0", default-features = false }
[target.'cfg(unix)'.dependencies]
exec = "0.3"
libc = "0.2"
nix = { version = "0.31", features = ["signal", "process", "user", "net", "ioctl"] }
[build-dependencies]
toml = "1.0"
quote = "1.0"
proc-macro2 = "1.0"
syn = "2.0"
heck = "0.5"
indexmap = "2"
[dev-dependencies]
tempfile = "3"
[profile.dev]
debug = 1
[profile.serious]
inherits = "release"
lto = true
strip = true
codegen-units = 1