git-iris 0.9.1

AI-assisted Git workflow
Documentation
[[bin]]
name = "git-iris"
path = "src/main.rs"

[dependencies.anyhow]
version = "1.0.86"

[dependencies.async-trait]
version = "0.1.81"

[dependencies.chrono]
version = "0.4.38"

[dependencies.clap]
features = ["derive", "cargo"]
version = "4.5.16"

[dependencies.colored]
version = "2.1.0"

[dependencies.console]
version = "0.15.8"

[dependencies.crossterm]
version = "0.28.1"

[dependencies.dirs]
version = "5.0.1"

[dependencies.futures]
version = "0.3.30"

[dependencies.git2]
version = "0.19.0"

[dependencies.indicatif]
version = "0.17.8"

[dependencies.lazy_static]
version = "1.5.0"

[dependencies.log]
version = "0.4.22"

[dependencies.once_cell]
version = "1.19.0"

[dependencies.rand]
version = "0.8.5"

[dependencies.ratatui]
version = "0.28.0"

[dependencies.regex]
version = "1.10.6"

[dependencies.reqwest]
features = ["json"]
version = "0.12.7"

[dependencies.schemars]
version = "0.8.21"

[dependencies.serde]
features = ["derive"]
version = "1.0.209"

[dependencies.serde_json]
version = "1.0.127"

[dependencies.strum]
version = "0.26.3"

[dependencies.strum_macros]
version = "0.26.4"

[dependencies.tempfile]
version = "3.12.0"

[dependencies.textwrap]
version = "0.16.1"

[dependencies.tiktoken-rs]
version = "0.5.9"

[dependencies.tokio]
features = ["full"]
version = "1.39.3"

[dependencies.tokio-retry]
version = "0.3.0"

[dependencies.toml]
version = "0.8.19"

[dependencies.tui-textarea]
version = "0.6.1"

[dependencies.unicode-width]
version = "0.1.13"

[dev-dependencies.dotenv]
version = "0.15.0"

[features]
integration = []

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

[lints.clippy.all]
level = "deny"
priority = 0

[lints.clippy.as_conversions]
level = "warn"
priority = 22

[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.enum_glob_use]
level = "deny"
priority = 30

[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.significant_drop_tightening]
level = "allow"
priority = 21

[lints.clippy.style]
level = "warn"
priority = 1

[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]
authors = ["Stefanie Jane <stef@hyperbliss.tech>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["command-line-utilities", "development-tools"]
description = "AI-assisted Git workflow"
edition = "2021"
homepage = "https://github.com/hyperb1iss/git-iris"
keywords = ["git", "commit", "ai", "cli"]
license = "Apache-2.0"
name = "git-iris"
readme = "README.md"
repository = "https://github.com/hyperb1iss/git-iris"
version = "0.9.1"

[package.metadata.deb]
assets = [["target/release/git-iris", "usr/bin/", "755"], ["README.md", "usr/share/doc/git-iris/README", "644"], ["git-iris.1", "usr/share/man/man1/git-iris.1", "644"]]
copyright = "2024, Git-Iris Contributors <https://github.com/hyperb1iss/git-iris>"
depends = "$auto"
extended-description = """
Git-Iris is an AI-powered tool designed to generate meaningful and context-aware Git commit messages.
"""
license-file = ["LICENSE", "4"]
maintainer = "Stefanie Jane <stef@hyperbliss.tech>"
priority = "optional"
section = "utility"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[[package.metadata.generate-rpm.assets]]
dest = "/usr/bin/git-iris"
mode = "755"
source = "target/release/git-iris"

[[package.metadata.generate-rpm.assets]]
dest = "/usr/share/doc/git-iris/README"
mode = "644"
source = "README.md"

[[package.metadata.generate-rpm.assets]]
dest = "/usr/share/man/man1/git-iris.1"
mode = "644"
source = "git-iris.1"

[[test]]
name = "changelog_integration_tests"
path = "tests/changelog_integration_tests.rs"

[[test]]
name = "changelog_prompts_tests"
path = "tests/changelog_prompts_tests.rs"

[[test]]
name = "changelog_tests"
path = "tests/changelog_tests.rs"

[[test]]
name = "file_analyzers_tests"
path = "tests/file_analyzers_tests.rs"

[[test]]
name = "git_hooks_tests"
path = "tests/git_hooks_tests.rs"

[[test]]
name = "git_tests"
path = "tests/git_tests.rs"

[[test]]
name = "gitmoji_tests"
path = "tests/gitmoji_tests.rs"

[[test]]
name = "lib"
path = "tests/lib.rs"

[[test]]
name = "llm_tests"
path = "tests/llm_tests.rs"

[[test]]
name = "prompt_tests"
path = "tests/prompt_tests.rs"

[[test]]
name = "service_tests"
path = "tests/service_tests.rs"

[[test]]
name = "token_optimizer_tests"
path = "tests/token_optimizer_tests.rs"