[package]
name = "purple-ssh"
version = "2.27.3"
edition = "2024"
description = "A terminal cockpit for your servers. Search, connect, transfer files, manage containers and run commands across hosts. Syncs from 16 cloud providers. Visual file transfer, password management, command snippets and MCP server for AI agents. Edits ~/.ssh/config with round-trip fidelity."
license = "MIT"
repository = "https://github.com/erickochen/purple"
homepage = "https://getpurple.sh"
readme = "README.md"
keywords = ["ssh", "ssh-client", "tui", "ssh-manager", "mcp"]
categories = ["command-line-utilities", "development-tools"]
rust-version = "1.86"
exclude = [".github/", ".gitignore"]

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

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

[dependencies]
ratatui = "0.30"
crossterm = "0.29"
clap = { version = "4", features = ["derive"] }
clap_complete = "4"
dirs = "6"
glob = "0.3"
anyhow = "1"
thiserror = "2"
unicode-width = "0.2.2"
ureq = { version = "3", features = ["json", "native-tls"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha1 = "0.11"
sha2 = "0.10"
hmac = "0.12"
quick-xml = { version = "0.39", features = ["serde", "serialize"] }
rsa = { version = "0.9", features = ["sha2"] }
base64 = "0.22"
libc = "0.2"

[dev-dependencies]
mockito = "1.7.2"
proptest = "1"

[profile.release]
strip = true
lto = true
opt-level = "z"
