tokmesh-cli 0.1.1

CLI and TUI for tokmesh — AI token usage analytics
Documentation
[package]
name = "tokmesh-cli"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
readme = "../../README.md"
description = "CLI and TUI for tokmesh — AI token usage analytics"
keywords = ["tokmesh", "tokens", "cli", "tui", "usage"]
categories = ["command-line-utilities", "development-tools"]

[lib]
name = "tokmesh_cli"
path = "src/lib.rs"


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

[features]
# Optional: native FFI into Apple's FoundationModels (on-device Apple Intelligence)
# for the `apple-fm` report summarizer backend. macOS-only; no-op elsewhere.
# NOT enabled by default — the default build degrades to a Rust heuristic.
apple-fm = []

[dependencies]
tokmesh-core = { workspace = true }

clap = { workspace = true }
ratatui = { workspace = true }
crossterm = { workspace = true }
tokio = { workspace = true }
anyhow = { workspace = true }
comfy-table = { workspace = true }
colored = { workspace = true }
indicatif = { workspace = true }
tracing-subscriber = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
toml = { workspace = true }
chrono = { workspace = true }
iana-time-zone = { workspace = true }
dirs = { workspace = true }
reqwest = { workspace = true }
fs2 = { workspace = true }
image = "0.25"
imageproc = "0.25"
ab_glyph = "0.2"
hostname = "0.4"
qrcode = "0.14"
uuid = { version = "1.0", features = ["v4"] }
rpassword = "7.0"
sha2 = "0.10"
csv = "1.3"
unicode-normalization = "0.1"
unicode-width = { workspace = true }
unicode-segmentation = { workspace = true }

# Trae iCubeAuthInfo decryption (Electron globalStorage)
aes = { workspace = true }
cbc = { workspace = true }
base64 = { workspace = true }

# Cursor desktop state.vscdb accessToken import
rusqlite = { workspace = true }

# arboard has no Android backend and fails to compile for
# aarch64-linux-android. The clipboard module in tui/ provides a
# no-op fallback on Android so the rest of the code stays portable.
[target.'cfg(not(target_os = "android"))'.dependencies]
arboard = "3"

[target.'cfg(unix)'.dependencies]
signal-hook = { workspace = true }

[dev-dependencies]
assert_cmd = "2.0"
predicates = "3.0"
tempfile = "3.0"
serial_test = "3.0"