[package]
name = "gwm"
version = "0.3.3"
edition = "2021"
authors = ["shutootaki"]
description = "Git Worktree Manager - A CLI tool for managing Git worktrees with an interactive TUI"
license = "MIT"
repository = "https://github.com/shutootaki/gwm"
homepage = "https://github.com/shutootaki/gwm"
documentation = "https://docs.rs/gwm"
readme = "README.md"
keywords = ["git", "worktree", "cli", "terminal", "tui"]
categories = ["command-line-utilities", "development-tools"]
rust-version = "1.80"

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

[dependencies]
# CLI argument parser
clap = { version = "4.5", features = ["derive"] }
clap_complete = "4.5"

# TUI framework
ratatui = "0.29"
crossterm = "0.28"

# Async runtime
tokio = { version = "1", features = ["full"] }

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

# Error handling
thiserror = "2.0"
anyhow = "1.0"

# Hashing (for trust feature)
sha2 = "0.10"
hex = "0.4"

# Home directory
dirs = "6.0"

# Date/time
chrono = "0.4"

# JSON serialization (for trust cache)
serde_json = "1.0"

# Glob pattern matching (for copy feature)
glob = "0.3"

# Directory traversal (for copy feature)
walkdir = "2"

# Fuzzy matching (for search)
fuzzy-matcher = "0.3"

# Unicode width calculation
unicode-width = "0.2"

# Parallel iteration (1.8 supports Rust 1.63+)
rayon = "1.8"

[dev-dependencies]
tempfile = "3"
assert_cmd = "2.0"
predicates = "3"

[profile.release]
lto = true
strip = true
