[package]
name = "deadbranch"
version = "0.3.0"
edition = "2021"
authors = ["Armen Gabrielyan"]
description = "Clean up stale git branches safely"
license = "MIT"
repository = "https://github.com/armgabrielyan/deadbranch"
readme = "README.md"
keywords = ["git", "cli", "branches", "cleanup"]
categories = ["command-line-utilities", "development-tools"]
include = [
    "src/**",
    "tests/**",
    "/build.rs",
    "/Cargo.toml",
    "/Cargo.lock",
    "/LICENSE",
    "/README.md",
    "/CHANGELOG.md",
]

[dependencies]
# CLI Framework & Argument Parsing
clap = { version = "4.5", features = ["derive", "cargo", "env"] }
clap_complete = "4"

# Terminal UI & Styling
console = "0.16"              # Colors, emoji, terminal detection
comfy-table = "7.2"           # Beautiful tables
dialoguer = "0.12"            # Interactive prompts (confirm, select, input)
indicatif = "0.18"            # Progress bars and spinners

# Interactive TUI
ratatui = "0.29"              # Full-screen terminal UI framework
crossterm = "0.28"            # Terminal backend (events, raw mode)

# Date & Time
chrono = "0.4"                # Date/time handling

# Configuration
serde = { version = "1.0", features = ["derive"] }
toml = "0.8"                  # TOML config file parsing

# Error Handling
anyhow = "1.0"                # Flexible error handling
thiserror = "2.0"             # Custom error types

# Search
sublime_fuzzy = "0.7"        # Fuzzy string matching

# Utilities
dirs = "6.0"                  # Platform-specific directories (~/.config)
which = "8.0.0"               # Locate executables in PATH
fastrand = "2.3"              # Lightweight RNG for animation randomness

[dev-dependencies]
# Testing
assert_cmd = "2.1"            # Test CLI commands
predicates = "3.1"            # Test assertions
tempfile = "3.24"             # Temporary directories for tests

[build-dependencies]
clap = { version = "4.5", features = ["derive"] }
clap_complete = "4"
clap_mangen = "0.2"

[profile.release]
lto = true                    # Link-time optimization
codegen-units = 1             # Better optimization
strip = true                  # Strip symbols for smaller binary
