[package]
name = "kasetto"
version = "3.5.0"
edition = "2021"
description = "A declarative AI agent environment manager, written in Rust."
authors = ["Volodymyr Pivoshenko"]
license = "MIT OR Apache-2.0"
readme = "README.md"
homepage = "https://kasetto.dev"
repository = "https://github.com/pivoshenko/kasetto"
documentation = "https://docs.kasetto.dev"
keywords = [
  "claude-code",
  "codex",
  "cursor",
  "mcps",
  "skills",
]
default-run = "kasetto"

[[bin]]
name = "kasetto"
path = "src/main.rs"

[[bin]]
name = "kst"
path = "src/bin/kst.rs"

[dependencies]
clap = { version = "4", features = ["derive"] }
clap_complete = "4"
flate2 = "1"
mimalloc = "0.1"
rayon = "1"
reqwest = { version = "0.12", default-features = false, features = ["blocking", "rustls-tls"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
sha2 = "0.10"
shlex = "1"
tar = "0.4"
toml = "0.8"
unicode-width = "0.2"

[dev-dependencies]
assert_cmd = "2"
predicates = "3"
tempfile = "3"

[lints.rust]
unsafe_code = "forbid"

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

[profile.release]
codegen-units = 1
lto = "fat"
panic = "abort"
strip = "symbols"
