[package]
edition = "2021"
name = "git-ai"
version = "1.1.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Git AI: Automates commit messages using ChatGPT. Stage your files, and Git AI generates the messages."
readme = "README.md"
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"
[features]
default = []
[lib]
name = "ai"
path = "src/lib.rs"
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"
[[example]]
name = "test_function_schema"
path = "examples/test_function_schema.rs"
[[test]]
name = "common"
path = "tests/common.rs"
[[test]]
name = "function_calling_test"
path = "tests/function_calling_test.rs"
[[test]]
name = "llm_input_generation_test"
path = "tests/llm_input_generation_test.rs"
[[test]]
name = "model_token_test"
path = "tests/model_token_test.rs"
[[test]]
name = "model_validation_test"
path = "tests/model_validation_test.rs"
[[test]]
name = "multi_step_default_test"
path = "tests/multi_step_default_test.rs"
[[test]]
name = "patch_test"
path = "tests/patch_test.rs"
[dependencies.anyhow]
version = "1.0.98"
features = ["backtrace"]
[dependencies.async-openai]
version = "0.29"
default-features = false
[dependencies.colored]
version = "3.0.0"
[dependencies.config]
version = "0.15.11"
features = ["ini"]
default-features = false
[dependencies.console]
version = "0.16"
default-features = false
[dependencies.dirs]
version = "6.0"
[dependencies.dotenv]
version = "0.15.0"
[dependencies.env_logger]
version = "0.11.8"
default-features = false
[dependencies.futures]
version = "0.3"
[dependencies.git2]
version = "0.20.2"
default-features = false
[dependencies.home]
version = "0.5.11"
[dependencies.indicatif]
version = "0.18"
default-features = false
[dependencies.lazy_static]
version = "1.5.0"
[dependencies.log]
version = "0.4.27"
[dependencies.maplit]
version = "1.0.2"
[dependencies.mustache]
version = "0.9.0"
[dependencies.num_cpus]
version = "1.16.0"
[dependencies.parking_lot]
version = "0.12.3"
[dependencies.rand]
version = "0.9"
[dependencies.rayon]
version = "1.10.0"
[dependencies.reqwest]
version = "0.12.15"
default-features = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_derive]
version = "1.0.219"
[dependencies.serde_ini]
version = "0.2.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.structopt]
version = "0.3.26"
[dependencies.textwrap]
version = "0.16"
[dependencies.thiserror]
version = "2.0.12"
[dependencies.tiktoken-rs]
version = "0.7.0"
[dependencies.tokio]
version = "1.45.1"
features = ["full"]
[dependencies.tracing]
version = "0.1"
[dev-dependencies.tempfile]
version = "3.20.0"
[target.'cfg(target_env = "musl")'.dependencies.openssl]
version = "0.10"
features = ["vendored"]
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
debug = 2
[profile.release.package."*"]
opt-level = 3
codegen-units = 1
[profile.release-with-debug]
debug = 2
inherits = "release"