[package]
name = "git-ai"
version = "1.2.1"
edition = "2021"
description = "Git AI: Automates commit messages using ChatGPT. Stage your files, and Git AI generates the messages."
license = "MIT"
repository = "https://github.com/oleander/git-ai"
[package.metadata.binstall]
targets = ["x86_64-unknown-linux-gnu", "x86_64-apple-darwin"]
pkg-binaries = ["git-ai", "git-ai-hook"]
name = "git-ai"
[lib]
name = "ai"
test = true
[[bin]]
name = "git-ai"
path = "src/main.rs"
[[bin]]
name = "git-ai-hook"
path = "src/bin/hook.rs"
[[example]]
name = "function_calling_demo"
path = "examples/function_calling_demo.rs"
[[example]]
name = "multi_step_commit"
path = "examples/multi_step_commit.rs"
[[example]]
name = "parallel_tool_calls_demo"
path = "examples/parallel_tool_calls_demo.rs"
[dependencies]
anyhow = { version = "1.0.102", features = ["backtrace"] }
thiserror = "2.0.18"
tokio = { version = "1.52.3", features = ["full"] }
futures = "0.3"
parking_lot = "0.12.5"
tracing = "0.1"
colored = "3.1.1"
console = { version = "0.16", default-features = false }
indicatif = { version = "0.18", default-features = false }
log = "0.4.32"
env_logger = { version = "0.11.10", default-features = false }
git2 = { version = "0.21.0", default-features = false }
config = { version = "0.15.24", default-features = false, features = ["ini"] }
dotenv = "0.15.0"
serde = { version = "1.0", features = ["derive"] }
serde_derive = "1.0.228"
serde_ini = "0.2.0"
serde_json = "1.0"
async-openai = { version = "0.41", default-features = false, features = ["rustls", "chat-completion", "model"] }
tiktoken-rs = "0.12.0"
reqwest = { version = "0.13.4", default-features = true }
rayon = "1.12.0"
num_cpus = "1.17.0"
rand = "0.10"
lazy_static = "1.5.0"
home = "0.5.12"
dirs = "6.0"
textwrap = "0.16"
structopt = "0.3.26"
mustache = "0.9.0"
maplit = "1.0.2"
[target.'cfg(target_env = "musl")'.dependencies]
openssl = { version = "0.10", features = ["vendored"] }
[features]
default = []
[dev-dependencies]
tempfile = "3.27.0"
[profile.release]
codegen-units = 1
opt-level = 3
debug = true
lto = true
[profile.release.package."*"]
codegen-units = 1
opt-level = 3
[profile.release-with-debug]
inherits = "release"
debug = true