[package]
name = "git-iris"
version = "0.9.1"
edition = "2021"
authors = ["Stefanie Jane <stef@hyperbliss.tech>"]
description = "AI-assisted Git workflow"
readme = "README.md"
homepage = "https://github.com/hyperb1iss/git-iris"
repository = "https://github.com/hyperb1iss/git-iris"
license = "Apache-2.0"
keywords = ["git", "commit", "ai", "cli"]
categories = ["command-line-utilities", "development-tools"]
[dependencies]
clap = { version = "4.5.16", features = ["derive", "cargo"] }
tokio = { version = "1.39.3", features = ["full"] }
reqwest = { version = "0.12.7", features = ["json"] }
serde = { version = "1.0.209", features = ["derive"] }
serde_json = "1.0.127"
anyhow = "1.0.86"
toml = "0.8.19"
dirs = "5.0.1"
regex = "1.10.6"
colored = "2.1.0"
console = "0.15.8"
tempfile = "3.12.0"
git2 = "0.19.0"
indicatif = "0.17.8"
async-trait = "0.1.81"
lazy_static = "1.5.0"
chrono = "0.4.38"
once_cell = "1.19.0"
textwrap = "0.16.1"
rand = "0.8.5"
unicode-width = "0.1.13"
tiktoken-rs = "0.5.9"
strum = "0.26.3"
strum_macros = "0.26.4"
ratatui = "0.28.0"
tui-textarea = "0.6.1"
crossterm = "0.28.1"
tokio-retry = "0.3.0"
log = "0.4.22"
futures = "0.3.30"
schemars = "0.8.21"
[dev-dependencies]
dotenv = "0.15.0"
[package.metadata.deb]
maintainer = "Stefanie Jane <stef@hyperbliss.tech>"
copyright = "2024, Git-Iris Contributors <https://github.com/hyperb1iss/git-iris>"
license-file = ["LICENSE", "4"]
extended-description = """
Git-Iris is an AI-powered tool designed to generate meaningful and context-aware Git commit messages.
"""
depends = "$auto"
section = "utility"
priority = "optional"
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",
],
]
[package.metadata.generate-rpm]
assets = [
{ source = "target/release/git-iris", dest = "/usr/bin/git-iris", mode = "755" },
{ source = "README.md", dest = "/usr/share/doc/git-iris/README", mode = "644" },
{ source = "git-iris.1", dest = "/usr/share/man/man1/git-iris.1", mode = "644" },
]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[lib]
name = "git_iris"
path = "src/lib.rs"
[[bin]]
name = "git-iris"
path = "src/main.rs"
[features]
integration = []
[lints.rust]
unsafe_code = "forbid"
missing_docs = { level = "allow", priority = 1 }
[lints.clippy]
all = { level = "deny", priority = 0 }
style = { level = "warn", priority = 1 }
perf = { level = "deny", priority = 1 }
pedantic = { level = "deny", priority = 10 }
missing_errors_doc = { level = "allow", priority = 20 }
missing_panics_doc = { level = "allow", priority = 20 }
missing_safety_doc = { level = "allow", priority = 20 }
module_name_repetitions = { level = "allow", priority = 21 }
significant_drop_tightening = { level = "allow", priority = 21 }
must_use_candidate = { level = "allow", priority = 21 }
cast_precision_loss = { level = "warn", priority = 22 }
cast_possible_truncation = { level = "warn", priority = 22 }
cast_sign_loss = { level = "warn", priority = 22 }
as_conversions = { level = "warn", priority = 22 }
out_of_bounds_indexing = { level = "deny", priority = 30 }
enum_glob_use = { level = "deny", priority = 30 }
unwrap_used = { level = "deny", priority = 30 }
undocumented_unsafe_blocks = { level = "deny", priority = 30 }