[package]
name = "repotoire"
version = "0.3.113"
edition = "2021"
description = "Graph-powered code analysis CLI. 114 detectors for security, architecture, and code quality."
license = "MIT"
repository = "https://github.com/Zach-hammad/repotoire"
homepage = "https://repotoire.com"
documentation = "https://github.com/Zach-hammad/repotoire#readme"
readme = "README.md"
keywords = ["code-analysis", "static-analysis", "security", "linter"]
categories = ["development-tools", "command-line-utilities"]
exclude = [
    "target/",
    ".repotoire/",
    "*.db",
    "*.lock",
    ".git/",
    "tests/",
    "benches/",
]

[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/repotoire-{ target }{ archive-suffix }"
pkg-fmt = "tgz"

[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-fmt = "zip"
pkg-url = "{ repo }/releases/download/v{ version }/repotoire-windows-x86_64.exe.zip"

[package.metadata.binstall.overrides.x86_64-unknown-linux-gnu]
pkg-url = "{ repo }/releases/download/v{ version }/repotoire-linux-x86_64.tar.gz"

[package.metadata.binstall.overrides.x86_64-apple-darwin]
pkg-url = "{ repo }/releases/download/v{ version }/repotoire-macos-x86_64.tar.gz"

[package.metadata.binstall.overrides.aarch64-apple-darwin]
pkg-url = "{ repo }/releases/download/v{ version }/repotoire-macos-aarch64.tar.gz"

[dependencies]
notify = "7"
notify-debouncer-full = "0.4"
# CLI
clap = { version = "4", features = ["derive", "env"] }
indicatif = "0.17"  # Progress bars
console = "0.15"    # Terminal styling

# Graph database

# Parsing
tree-sitter = "0.25"
tree-sitter-python = "0.25"
tree-sitter-javascript = "0.25"
tree-sitter-typescript = "0.23"
tree-sitter-rust = "0.24"
tree-sitter-go = "0.25"
tree-sitter-java = "0.23"
tree-sitter-c-sharp = "0.23"
tree-sitter-c = "0.24"
tree-sitter-cpp = "0.23"

# Graph algorithms (from repotoire-fast)
rayon = "1.11"
rustc-hash = "2"
petgraph = "0.7"
redb = "2.4"

# Parallel pipeline channels
crossbeam-channel = "0.5"

# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "0.8"

# Sync HTTP (for AI API calls + OSV.dev)
ureq = { version = "3", features = ["json"] }

# Error handling
anyhow = "1"
thiserror = "2"

# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

# Git history
git2 = { version = "0.20", default-features = false, features = ["vendored-libgit2"] }

# Misc
ignore = "0.4"  # .gitignore support
dashmap = "6"   # Concurrent hashmap for file cache
regex = "1"
chrono = "0.4"
ratatui = "0.30.0"
crossterm = "0.29.0"
dirs = "6.0.0"
lasso = { version = "0.7.3", features = ["multi-threaded"] }
[profile.release]
lto = true
codegen-units = 1
strip = true
opt-level = 3

[[bin]]
name = "repotoire"
path = "src/main.rs"

[dev-dependencies]
tempfile = "3.25.0"
