git-same 2.0.0

Mirror GitHub structure /orgs/repos/ to local file system.
Documentation
[package]
name = "git-same"
version = "2.0.0"
edition = "2021"
authors = ["Git-Same Contributors"]
description = "Mirror GitHub structure /orgs/repos/ to local file system."
license = "MIT"
repository = "https://github.com/zaai-com/git-same"
keywords = ["git", "github", "cli", "clone", "sync"]
categories = ["command-line-utilities", "development-tools"]

# Aliases (gitsame, gitsa, gisa) are created as symlinks by installers.
# See toolkit/packaging/binary-aliases.txt for the full list.
[[bin]]
name = "git-same"
path = "src/main.rs"

[features]
default = ["tui"]
tui = ["dep:ratatui", "dep:crossterm"]

[dependencies]
# CLI parsing
clap = { version = "4", features = ["derive"] }


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

# HTTP client for GitHub API
reqwest = { version = "0.13", features = ["json"] }

# JSON/TOML serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "1"

# Progress bars and terminal output
indicatif = "0.18"
console = "0.16"

# XDG directories (~/.config/git-same)
directories = "6"

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

# Shell expansion (~/ paths)
shellexpand = "3"

# Async trait support
async-trait = "0.1"

# Date/time handling
chrono = { version = "0.4", features = ["serde"] }

# Futures utilities
futures = "0.3"

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

# TUI (optional, behind "tui" feature)
ratatui = { version = "0.30", optional = true }
crossterm = { version = "0.29", optional = true }

[dev-dependencies]
# Testing
tokio-test = "0.4"
mockito = "1"
tempfile = "3"

[profile.release]
strip = true
lto = true
codegen-units = 1
panic = "abort"