[package]
name = "kindi"
version = "0.1.0"
edition = "2024"
description = "Cryptographic evidence hunter for embedded firmware and software supply chains. SIMD Aho-Corasick, Rayon parallel, 33-175x faster, 8 fuzz targets, zero unsafe."
license = "Apache-2.0"
repository = "https://github.com/copyleftdev/kindi"
homepage = "https://copyleftdev.github.io/kindi"
documentation = "https://github.com/copyleftdev/kindi#readme"
readme = "README.md"
keywords = ["cryptography", "security", "firmware", "supply-chain", "scanner"]
categories = ["command-line-utilities", "development-tools", "cryptography"]

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

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

[dependencies]
# Pattern matching - Aho-Corasick for multi-pattern SIMD search
aho-corasick = "1"
regex = "1"
memchr = "2"

# Archive extraction
tar = "0.4"
flate2 = "1"
xz2 = "0.1"
bzip2 = "0.5"
zip = "2"

# Hashing
sha2 = "0.10"
sha1 = "0.10"
digest = "0.10"

# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"

# CLI
clap = { version = "4", features = ["derive"] }

# Parallelism
rayon = "1"

# Error handling
thiserror = "2"

# Encoding detection
encoding_rs = "0.8"

# Path handling
walkdir = "2"
globset = "0.4"

[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
tempfile = "3"

[[bench]]
name = "kindi_bench"
harness = false

[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
strip = true
