[package]
edition = "2024"
rust-version = "1.86"
name = "purple-ssh"
version = "2.33.2"
build = "build.rs"
exclude = [
".github/",
".gitignore",
"demo.gif",
"demo.webm",
"screenshots/",
"preview.png",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
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."
homepage = "https://getpurple.sh"
readme = "README.md"
keywords = [
"ssh",
"ssh-client",
"tui",
"ssh-manager",
"mcp",
]
categories = [
"command-line-utilities",
"development-tools",
]
license = "MIT"
repository = "https://github.com/erickochen/purple"
[lib]
name = "purple_ssh"
path = "src/lib.rs"
[[bin]]
name = "purple"
path = "src/main.rs"
[[test]]
name = "mcp_e2e"
path = "tests/mcp_e2e.rs"
[[test]]
name = "proptest_mutations"
path = "tests/proptest_mutations.rs"
[[test]]
name = "proptest_ssh_config"
path = "tests/proptest_ssh_config.rs"
[[test]]
name = "real_world_configs"
path = "tests/real_world_configs.rs"
[[test]]
name = "roundtrip_fidelity"
path = "tests/roundtrip_fidelity.rs"
[[test]]
name = "vault_ssh_config_safety"
path = "tests/vault_ssh_config_safety.rs"
[dependencies.anyhow]
version = "1"
[dependencies.base64]
version = "0.22"
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.clap_complete]
version = "4"
[dependencies.crossterm]
version = "0.29"
[dependencies.dirs]
version = "6"
[dependencies.glob]
version = "0.3"
[dependencies.hmac]
version = "0.12"
[dependencies.libc]
version = "0.2"
[dependencies.log]
version = "0.4"
[dependencies.quick-xml]
version = "0.39"
features = [
"serde",
"serialize",
]
[dependencies.ratatui]
version = "0.30"
[dependencies.rsa]
version = "0.9"
features = ["sha2"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha1]
version = "0.11"
[dependencies.sha2]
version = "0.10"
[dependencies.simplelog]
version = "0.12"
[dependencies.thiserror]
version = "2"
[dependencies.unicode-width]
version = "0.2.2"
[dependencies.ureq]
version = "3"
features = [
"json",
"native-tls",
]
[dev-dependencies.mockito]
version = "1.7.2"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[profile.release]
opt-level = "z"
lto = true
strip = true