[[bin]]
name = "git-changelog"
path = "src/bin/changelog.rs"
[[bin]]
name = "git-message"
path = "src/bin/message.rs"
[[bin]]
name = "git-pr"
path = "src/bin/pr.rs"
[[bin]]
name = "git-release-notes"
path = "src/bin/release_notes.rs"
[[bin]]
name = "git-review"
path = "src/bin/review.rs"
[[bin]]
name = "git-wire"
path = "src/bin/wire.rs"
[dependencies.anyhow]
version = "1.0.86"
[dependencies.async-trait]
version = "0.1.88"
[dependencies.cause]
version = "0.1.2"
[dependencies.chrono]
version = "0.4.38"
[dependencies.clap]
features = ["derive", "cargo"]
version = "4.5.47"
[dependencies.colored]
version = "3.0.0"
[dependencies.console]
version = "0.15.8"
[dependencies.crossbeam]
version = "0.8"
[dependencies.crossterm]
version = "0.28.1"
[dependencies.dirs]
version = "6.0.0"
[dependencies.env_logger]
version = "0.10"
[dependencies.folder_compare]
version = "0.4.0"
[dependencies.fs_extra]
version = "1.3.0"
[dependencies.futures]
version = "0.3.30"
[dependencies.git2]
features = ["vendored-openssl"]
version = "0.20.1"
[dependencies.indicatif]
version = "0.17.8"
[dependencies.lazy_static]
version = "1.5.0"
[dependencies.llm]
version = "1.3.4"
[dependencies.log]
version = "0.4.27"
[dependencies.once_cell]
version = "1.21.3"
[dependencies.parking_lot]
version = "0.12.1"
[dependencies.rand]
version = "0.9.0"
[dependencies.ratatui]
version = "0.29.0"
[dependencies.regex]
version = "1.10.6"
[dependencies.reqwest]
features = ["json", "native-tls-vendored"]
version = "0.12.15"
[dependencies.rmcp]
features = ["server", "transport-sse-server"]
version = "0.8.1"
[dependencies.schemars]
version = "0.8.21"
[dependencies.serde]
features = ["derive"]
version = "1.0.219"
[dependencies.serde_json]
version = "1.0.127"
[dependencies.strum]
version = "0.27.1"
[dependencies.strum_macros]
version = "0.27.1"
[dependencies.temp-dir]
version = "0.1.16"
[dependencies.tempfile]
version = "3.19.1"
[dependencies.textwrap]
version = "0.16.1"
[dependencies.tiktoken-rs]
version = "0.6.0"
[dependencies.tokio]
features = ["full"]
version = "1.44.2"
[dependencies.tokio-retry]
version = "0.3.0"
[dependencies.toml]
version = "0.8.19"
[dependencies.tui-textarea]
version = "0.7.0"
[dependencies.unicode-width]
version = "0.2.0"
[dependencies.url]
version = "2.5.0"
[dependencies.uuid]
features = ["v4", "serde"]
version = "1.0"
[dev-dependencies.dotenv]
version = "0.15.0"
[features]
integration = []
[lib]
name = "gitai"
path = "src/lib.rs"
[lints.clippy.all]
level = "deny"
priority = 0
[lints.clippy.as_conversions]
level = "warn"
priority = 22
[lints.clippy.async_yields_async]
level = "warn"
priority = 32
[lints.clippy.cast_possible_truncation]
level = "warn"
priority = 22
[lints.clippy.cast_precision_loss]
level = "warn"
priority = 22
[lints.clippy.cast_sign_loss]
level = "warn"
priority = 22
[lints.clippy.cognitive_complexity]
level = "warn"
priority = 34
[lints.clippy.dbg_macro]
level = "warn"
priority = 31
[lints.clippy.enum_glob_use]
level = "deny"
priority = 30
[lints.clippy.future_not_send]
level = "warn"
priority = 32
[lints.clippy.implicit_clone]
level = "warn"
priority = 33
[lints.clippy.inefficient_to_string]
level = "warn"
priority = 33
[lints.clippy.missing_errors_doc]
level = "allow"
priority = 20
[lints.clippy.missing_panics_doc]
level = "allow"
priority = 20
[lints.clippy.missing_safety_doc]
level = "allow"
priority = 20
[lints.clippy.module_name_repetitions]
level = "allow"
priority = 21
[lints.clippy.must_use_candidate]
level = "allow"
priority = 21
[lints.clippy.out_of_bounds_indexing]
level = "deny"
priority = 30
[lints.clippy.pedantic]
level = "deny"
priority = 10
[lints.clippy.perf]
level = "deny"
priority = 1
[lints.clippy.result_large_err]
level = "warn"
priority = 35
[lints.clippy.significant_drop_tightening]
level = "allow"
priority = 21
[lints.clippy.string_lit_as_bytes]
level = "warn"
priority = 33
[lints.clippy.style]
level = "warn"
priority = 1
[lints.clippy.todo]
level = "warn"
priority = 31
[lints.clippy.too_many_lines]
level = "warn"
priority = 34
[lints.clippy.undocumented_unsafe_blocks]
level = "deny"
priority = 30
[lints.clippy.unwrap_used]
level = "deny"
priority = 30
[lints.rust]
unsafe_code = "forbid"
[lints.rust.missing_docs]
level = "allow"
priority = 1
[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
description = "AI-powered toolkit that enhances `Git` workflow"
edition = "2024"
license = "MIT"
name = "gitai-wf"
readme = "README.md"
version = "0.1.1"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[profile.dev]
codegen-units = 256
debug = 2
debug-assertions = true
incremental = true
lto = false
opt-level = 0
overflow-checks = true
[profile.release]
codegen-units = 1
lto = "thin"
opt-level = 3
panic = "abort"
strip = true
[[test]]
name = "basic_git_operations_tests"
path = "tests/basic_git_operations_tests.rs"
[[test]]
name = "branch_comparisons_tests"
path = "tests/branch_comparisons_tests.rs"
[[test]]
name = "config_tests"
path = "tests/config_tests.rs"
[[test]]
name = "file_analyzers_tests"
path = "tests/file_analyzers_tests.rs"
[[test]]
name = "file_exclusions_tests"
path = "tests/file_exclusions_tests.rs"
[[test]]
name = "git_hooks_tests"
path = "tests/git_hooks_tests.rs"
[[test]]
name = "lib"
path = "tests/lib.rs"
[[test]]
name = "llm_tests"
path = "tests/llm_tests.rs"
[[test]]
name = "remote_git_repositories_tests"
path = "tests/remote_git_repositories_tests.rs"
[[test]]
name = "remote_repository_integration_tests"
path = "tests/remote_repository_integration_tests.rs"
[[test]]
name = "service_tests"
path = "tests/service_tests.rs"
[[test]]
name = "test_cached_repo"
path = "tests/test_cached_repo.rs"
[[test]]
name = "test_concurrent_access"
path = "tests/test_concurrent_access.rs"
[[test]]
name = "test_end_to_end"
path = "tests/test_end_to_end.rs"
[[test]]
name = "test_repo_cache"
path = "tests/test_repo_cache.rs"
[[test]]
name = "test_repo_config"
path = "tests/test_repo_config.rs"
[[test]]
name = "test_sync_performance"
path = "tests/test_sync_performance.rs"
[[test]]
name = "test_utils"
path = "tests/test_utils.rs"
[[test]]
name = "test_wire_operation"
path = "tests/test_wire_operation.rs"
[[test]]
name = "token_optimization_integration_tests"
path = "tests/token_optimization_integration_tests.rs"
[[test]]
name = "token_optimizer_tests"
path = "tests/token_optimizer_tests.rs"