[package]
name = "oy-cli"
version = "0.8.1"
edition = "2024"
rust-version = "1.91.1"
description = "Local AI coding CLI for inspecting, editing, running commands, and auditing repositories"
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/wagov-dtt/oy-cli"
homepage = "https://github.com/wagov-dtt/oy-cli"
keywords = ["ai", "cli", "coding", "audit", "agent"]
categories = ["command-line-utilities", "development-tools"]

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

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

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
rustdoc-args = ["--cfg", "docsrs"]

[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/oy-v{ version }-{ target }.tar.gz"
pkg-fmt = "tgz"
bin-dir = "{ bin }{ binary-ext }"

[dependencies]
anyhow = "1.0"
chrono = { version = "0.4", features = ["clock", "serde"] }
clap = { version = "4.6", features = ["derive"] }
dirs = "6.0"
genai = "0.6.0-beta.17"
glob = "0.3"
globset = "0.4"
grep-regex = "0.1"
grep-searcher = "0.1"
html2md = "0.2"
ignore = "0.4"
kdam = "0.6"
reedline-repl-rs = { version = "1.3", features = ["async", "shlex"] }
dialoguer = { version = "0.12", default-features = false }
similar = "3.1"
terminal_size = "0.4"
textwrap = "0.16"
unicode-width = "0.2"
regex = "1.11"
syntect = { version = "5.3", default-features = false, features = ["default-fancy"] }

serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tiktoken-rs = "0.11"
tokei = "14.0"
reqwest = { version = "0.13", default-features = false, features = ["rustls", "http2", "json", "stream"] }
futures-util = "0.3"
tokio = { version = "1.52", features = ["macros", "rt-multi-thread", "process", "signal", "time", "net", "io-util"] }
toon-format = { version = "0.4.5", default-features = false }
url = "2.5"
aws-config = "1.8.16"
aws-sdk-bedrockruntime = { version = "1.130.0", default-features = false, features = ["default-https-client", "rt-tokio"] }
aws-types = "1.3.15"
aws-smithy-types = "1.4.7"
aws-smithy-json = "0.62.5"

[dev-dependencies]
insta = "1.47"
tempfile = "3.27"

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