ferrosift-cli 0.1.0-alpha.1

Native command-line interface for FerroSift
[package]
name = "ferrosift-cli"
description = "Native command-line interface for FerroSift"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
readme = "README.md"
keywords = ["cyberchef", "cli", "encoding", "forensics", "recipe"]
categories = ["command-line-utilities", "encoding", "cryptography"]

[package.metadata.docs.rs]
all-features = true

[[bin]]
name = "ferrosift"
path = "src/main.rs"
# The command keeps the product name, which collides with the `ferrosift`
# facade library in rustdoc's output directory (rust-lang/cargo#6313). The
# binary exposes no API to document — its interface is `--help` — so it is
# excluded from rustdoc rather than renaming either target.
doc = false

[features]
# The packs are forwarded so tooling can build the CLI with one pack at a
# time and read back which operations that pack actually contributes. That is
# what makes the compatibility ledger derived rather than hand-maintained.
default = ["full"]
portable-full = ["ferrosift-operations/portable-full"]
full = ["ferrosift-operations/full"]
analysis = ["ferrosift-operations/analysis"]
arithmetic = ["ferrosift-operations/arithmetic"]
compression-deflate = ["ferrosift-operations/compression-deflate"]
compression-bzip2 = ["ferrosift-operations/compression-bzip2"]
compression = ["ferrosift-operations/compression"]
crypto = ["ferrosift-operations/crypto"]
hash = ["ferrosift-operations/hash"]
text = ["ferrosift-operations/text"]

[dependencies]
clap = { version = "4.6.6", default-features = false, features = ["derive", "error-context", "help", "std", "suggestions", "usage"] }
ferrosift-compat = { workspace = true }
ferrosift-core = { workspace = true }
ferrosift-model = { workspace = true }
ferrosift-operations = { workspace = true }
serde_json = "1.0.151"

[lints]
workspace = true