[package]
name = "adler-cli"
description = "Command-line interface for the Adler OSINT username-search tool."
keywords = ["osint", "username", "reconnaissance", "sherlock", "cli"]
categories = ["command-line-utilities"]
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
readme.workspace = true

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

# Lets `cargo binstall adler-cli` find the release artifacts produced by
# .github/workflows/release.yml.
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/adler-{ target }{ archive-suffix }"
bin-dir = "adler{ binary-ext }"
pkg-fmt = "tgz"

[dependencies]
adler-core = { path = "../adler-core", version = "0.11.3" }
adler-server = { path = "../adler-server", version = "0.11.3" }
anyhow.workspace = true
clap.workspace = true
secrecy.workspace = true
clap_complete.workspace = true
indicatif.workspace = true
open.workspace = true
serde.workspace = true
serde_json.workspace = true
toml.workspace = true
tokio = { workspace = true }
tracing.workspace = true
tracing-subscriber.workspace = true

[features]
# Pass-through for the `impersonate` transport. Heavy build (cmake +
# C++ compiler + libclang); off by default. Enable with
# `cargo install adler-cli --features impersonate` or via release
# binaries built with the feature.
impersonate = ["adler-core/impersonate"]

[dev-dependencies]
assert_cmd.workspace = true
insta.workspace = true
predicates.workspace = true
serde_json.workspace = true
tempfile.workspace = true
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
wiremock.workspace = true

[lints]
workspace = true
