[package]
name = "ins"
version = "0.14.3"
edition = "2024"
description = "Instant CLI - command-line utilities"
license = "GPL-2.0-only"
homepage = "https://instantos.io"
repository = "https://github.com/instantOS/instantCLI"

[features]
default = []
vendored = ["reqwest/native-tls-vendored", "rusqlite/bundled"]
cross-compile = ["vendored"]

[profile.upload]
inherits = "dev"
opt-level = "z"
strip = true
debug = false
panic = "abort"
lto = false

[dependencies]
anyhow = "1.0.102"
bytes = "1.11.1"
chrono = { version = "0.4.44", features = ["serde"] }
clap = { version = "4.6.1", features = ["derive"] }
clap_complete = { version = "4.6.3", features = ["unstable-dynamic"] }
colored = "3.1.1"
dirs = "6.0.0"
futures-util = "0.3.32"
indicatif = "0.18.4"
rusqlite = "0.39.0"
serde = { version = "1.0.228", features = ["derive"] }
sha2 = "0.11.0"
shellexpand = "3.1.2"
toml = "1.1.2"
walkdir = "2.5.0"
tokio = { version = "1.52.2", features = ["full", "signal"] }
async-trait = "0.1.89"
sudo = "0.6.0"                # Privilege escalation via process restart
thiserror = "2.0.18"           # Error handling
comfy-table = "7.2.2"            # Formatted tables for doctor command output
regex = "1.12.3"
reqwest = { version = "0.13.3", features = ["blocking", "json", "multipart", "stream"] }  # For GitHub API calls and Imgur uploads
serde_json = "1.0.149"             # For JSON parsing
duct = "1.1.1"                  # For non-git shell commands (makepkg, etc.)
tempfile = "3.27.0"            # For temporary files
rand = "0.10.1"                    # For request ID generation
fre = "0.4.1"
freedesktop-file-parser = "0.3.1"
which = "8.0.2"
ratatui = "0.30.1"
crossterm = "0.29.0"
base64 = "0.22.1"
dialoguer = "0.12.0"
pulldown-cmark = { version = "0.13.3", features = ["simd"] }
serde_yaml = "0.9.34"
nix = { version = "0.31", features = ["fs", "hostname"] }
pathdiff = "0.2"
urlencoding = "2.1.3"
glob = "0.3.3"
shell-words = "1.1.1"
ignore = "0.4.25"
hex = "0.4.3"
age = { version = "0.11", features = ["ssh", "armor"] }

[dev-dependencies]
serial_test = "3"
