[package]
name = "ins"
version = "0.13.18"
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 = []
cross-compile = ["reqwest/native-tls-vendored", "git2/vendored-openssl", "rusqlite/bundled"]

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

[dependencies]
anyhow = "1.0.100"
bytes = "1.10.0"
chrono = { version = "0.4.42", features = ["serde"] }
clap = { version = "4.5.53", features = ["derive"] }
clap_complete = { version = "4.5.64", features = ["unstable-dynamic"] }
colored = "3.0.0"
dirs = "6.0.0"
futures-util = "0.3.31"
indicatif = "0.18.0"
rusqlite = "0.38.0"
serde = { version = "1.0.227", features = ["derive"] }
sha2 = "0.10.9"
shellexpand = "3.1.1"
toml = "0.9.7"
walkdir = "2.5.0"
tokio = { version = "1.47.1", features = ["full", "signal"] }
async-trait = "0.1.89"
sudo = "0.6.0"                # Privilege escalation via process restart
thiserror = "2.0.16"           # Error handling
comfy-table = "7.2.1"            # Formatted tables for doctor command output
regex = "1.10.0"
reqwest = { version = "0.12.23", features = ["blocking", "json", "multipart", "stream"] }  # For GitHub API calls and Imgur uploads
serde_json = "1.0.145"             # For JSON parsing
git2 = "0.20.3"                 # For native git operations
duct = "1.1.0"                  # For non-git shell commands (makepkg, etc.)
tempfile = "3.23.0"            # For temporary files
rand = "0.8.5"                    # For request ID generation
fre = "0.4.1"
freedesktop-file-parser = "0.3.1"
which = "8.0.0"
ratatui = "0.29.0"
crossterm = "0.29.0"
base64 = "0.22.1"
dialoguer = "0.12.0"
pulldown-cmark = { version = "0.12.2", features = ["simd"] }
serde_yaml = "0.9.34"
nix = { version = "0.29", features = ["fs"] }
pathdiff = "0.2"
urlencoding = "2.1.3"
glob = "0.3.3"

[dev-dependencies]
serial_test = "3"
