[package]
name = "nitpicker"
version = "0.6.3"
edition = "2024"
# MSRV of the default (azure-off) build. The optional `azure` feature raises the floor to 1.88
# via azure_core's own rust-version; cargo enforces that when `--features azure` is enabled.
rust-version = "1.85"
default-run = "nitpicker"
description = "Multi-reviewer code review using LLMs with parallel agents and debate mode"
license = "MIT"
repository = "https://github.com/arsenyinfo/nitpicker"
documentation = "https://github.com/arsenyinfo/nitpicker"

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

[workspace]

[dependencies]
tokio = { version = "1", features = ["rt-multi-thread", "macros", "process", "fs", "time", "sync", "net"] }
rig-core = "0.37"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
futures = "0.3"
eyre = "0.6"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
clap = { version = "4", features = ["derive"] }
glob = "0.3"
indicatif = "0.18"
termimad = "0.34"
regex = "1"
toml = "1"

# Gemini proxy dependencies
axum = "0.8"
reqwest = { version = "0.13", features = ["json", "form"] }
dirs = "6"
chrono = { version = "0.4", features = ["serde"] }
sha2 = "0.11"
rand = "0.10"
base64 = "0.22"
uuid = { version = "1", features = ["v4"] }
url = "2"
tempfile = "3"
keyring = { version = "3", features = ["apple-native", "windows-native", "sync-secret-service", "crypto-rust", "vendored"] }
# Azure AD (Entra ID) auth for Foundry-hosted models — opt-in, see `azure` feature below
azure_identity = { version = "1", optional = true }
azure_core = { version = "1", optional = true }

[target.'cfg(unix)'.dependencies]
libc = "0.2"

[features]
# Enables `auth = "azure-ad"` for OpenAI/Anthropic providers (Azure AI Foundry).
# Off by default: pulls in the Azure SDK (azure_core declares rust-version 1.88). Build with `--features azure`.
azure = ["dep:azure_identity", "dep:azure_core"]
