[workspace]
members = ["crates/tmai-core", "."]
resolver = "2"

[package]
name = "tmai"
version = "0.11.1"
edition = "2021"
rust-version = "1.91"
authors = ["TrustDelta"]
description = "Tmux Multi Agent Interface - Monitor and control AI agents in tmux"
repository = "https://github.com/trust-delta/tmai"
license = "MIT"
readme = "README.md"
documentation = "https://docs.rs/tmai"
keywords = ["tmux", "ai", "claude", "terminal", "tui"]
categories = ["command-line-utilities", "development-tools"]
exclude = [
    ".github/",
    ".claude/",
    "scripts/",
    "/assets/",
    "*.md",
    "!README.md",
]

[dependencies]
tmai-core = { version = "0.11.1", path = "crates/tmai-core" }
ratatui = "0.30"
crossterm = "0.29"
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "1.0"
clap = { version = "4", features = ["derive"] }
anyhow = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
dirs = "6"
regex = "1"
rand = "0.10"
once_cell = "1"
chrono = "0.4"
parking_lot = "0.12"
ansi-to-tui = "8"
unicode-width = "0.2"
axum = "0.8"
tower-http = { version = "0.6", features = ["cors"] }
tokio-stream = "0.1"
qrcode = { version = "0.14", features = ["image"] }
image = "0.25"
local-ip-address = "0.6"
uuid = { version = "1", features = ["v4"] }
rust-embed = "8"
mime_guess = "2"
portable-pty = "0.9"
nix = { version = "0.31", features = ["signal", "process", "term"] }
libc = "0.2"

[dev-dependencies]
pretty_assertions = "1"
temp-env = "0.3"
tower = { version = "0.5", features = ["util"] }
http = "1"
http-body-util = "0.1"
tempfile = "3.25.0"

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