[package]
name = "homeboy"
version = "0.222.6"
edition = "2021"
license = "MIT"
authors = ["Chris Huber <chubes@extrachill.com>"]
description = "Headless automation for agentic software engineering workflows"
repository = "https://github.com/Extra-Chill/homeboy"
homepage = "https://github.com/Extra-Chill/homeboy"
build = "build.rs"
exclude = ["/artifacts/"]

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

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

# Bench binaries follow the homeboy-extensions/rust convention:
# any [[bin]] whose name starts with `bench-` is discoverable by
# `homeboy bench homeboy`. See src/bin/bench-*.rs for the workload
# contract (reads HOMEBOY_BENCH_ITERATIONS, emits timings plus optional memory evidence).
[[bin]]
name = "bench-audit-self"
path = "src/bin/bench-audit-self.rs"

[dependencies]
# Core library dependencies
base64 = "0.22"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yml = "0.0.12"
heck = "0.5"
uuid = { version = "1.11", features = ["v4", "v5", "serde"] }
shellexpand = "3.1"
regex = "1.11"
glob-match = "0.2"
glob = "0.3"
zip = "0.6"
keyring = { version = "3.6", features = ["apple-native"] }
core-foundation-sys = "0.8"
security-framework-sys = "2.17"
reqwest = { version = "0.12", features = ["json", "blocking", "rustls-tls", "socks"] }
arboard = "3"
chrono = "0.4"
semver = "1.0"
libc = "0.2"
rusqlite = { version = "0.32", features = ["bundled"] }
serde_json_path = "0.7"

# CLI dependencies
clap = { version = "4.5", features = ["derive", "string"] }
toml = "1.0.3"
sha2 = "0.10.9"

[dev-dependencies]
tempfile = "3.14"

[profile.dist]
inherits = "release"
lto = "thin"
