envvault-cli 0.5.1

A local-first encrypted environment variable manager
Documentation
[package]
name = "envvault-cli"
version = "0.5.1"
edition = "2021"
rust-version = "1.70"
description = "A local-first encrypted environment variable manager"
license = "MIT OR Apache-2.0"
repository = "https://github.com/whynaidu/envvault"
homepage = "https://github.com/whynaidu/envvault"
documentation = "https://docs.rs/envvault-cli"
readme = "README.md"
keywords = ["cli", "secrets", "encryption", "env", "vault"]
categories = ["command-line-utilities", "cryptography"]
exclude = [".github/", "tests/", "*.vault", "install.sh", "Formula/", "CHANGELOG.md"]

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

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

[dependencies]
# CLI
clap = { version = "4.5", features = ["derive", "env"] }
console = "0.15.11"
comfy-table = "7.2"
dialoguer = "0.11.0"

# Crypto
aes-gcm = "0.10.3"
argon2 = "0.5.3"
hkdf = "0.12.4"
sha2 = "0.10.9"
hmac = "0.12.1"
rand = "0.9"
zeroize = { version = "1.8", features = ["derive"] }

# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8.23"
base64 = "0.22.1"

# Errors
thiserror = "2.0"

# Audit log (optional — disable with `--no-default-features` for smaller binary)
rusqlite = { version = "0.31", features = ["bundled"], optional = true }

# Shell completions
clap_complete = "4.5"

# OS keyring (optional — enable with `cargo build --features keyring-store`)
keyring = { version = "3.6", features = ["linux-native"], optional = true }

# Version check (optional — enable with `cargo build --features version-check`)
ureq = { version = "3", features = ["json"], optional = true }

# Regex for secret scanning
regex = "1"

# Clipboard
arboard = "3"

# Process isolation (Unix)
libc = "0.2"

# Constant-time comparison
subtle = "2.6"

# Misc
chrono = { version = "0.4.44", features = ["serde"] }

[features]
default = ["audit-log"]
audit-log = ["dep:rusqlite"]
keyring-store = ["dep:keyring"]
version-check = ["dep:ureq"]

[dev-dependencies]
assert_cmd = "2.1"
predicates = "3.1"
assert_fs = "1.1"
tempfile = "3.26"