command-stream 0.18.2

Modern shell command execution library with streaming, async iteration, and event support
Documentation
[package]
name = "command-stream"
version = "0.18.2"
edition = "2021"
authors = ["link-foundation"]
description = "Modern shell command execution library with streaming, async iteration, and event support"
license = "Unlicense"
repository = "https://github.com/link-foundation/command-stream"
keywords = ["shell", "command", "streaming", "async", "process"]
categories = ["command-line-utilities", "asynchronous"]
readme = "README.md"

[lib]
name = "command_stream"
path = "src/lib.rs"

[[bin]]
name = "command-stream"
path = "src/main.rs"

[dependencies]
tokio = { version = "1.43", features = ["full", "process", "signal"] }
async-trait = "0.1"
thiserror = "2.0"
once_cell = "1.20"
regex = "1.11"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
nix = { version = "0.29", features = ["signal", "process"] }
libc = "0.2"
which = "7.0"
glob = "0.3"
chrono = "0.4"
filetime = "0.2"
portable-pty = "0.9"
vt100 = "0.15"

[dev-dependencies]
tokio-test = "0.4"
tempfile = "3.14"
assert_cmd = "2.0"

[features]
default = []
json = []

# Lint policy. `cargo clippy` and `cargo build` only *report* warnings, so the
# `-D warnings` in .github/workflows/rust.yml is what turns these into a failing
# build. Both halves are needed: this section makes the policy visible to local
# builds and to `cargo clippy --fix`, the workflow makes it enforceable.
[lints.rust]
# The crate contains no `unsafe` block today (nix/libc are used through their
# safe wrappers); `forbid` keeps it that way and cannot be locally overridden.
unsafe_code = "forbid"

[lints.clippy]
all = { level = "warn", priority = -1 }

[profile.release]
opt-level = 3
lto = true