koda-cli 0.2.21

A high-performance AI coding agent for macOS and Linux
Documentation
[package]
name = "koda-cli"
version = "0.2.21"
edition.workspace = true
description = "A high-performance AI coding agent for macOS and Linux"
license.workspace = true
repository.workspace = true
homepage.workspace = true
readme = "README.md"
keywords = ["ai", "coding-agent", "llm", "cli", "unix"]
categories = ["command-line-utilities", "development-tools"]
authors.workspace = true

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

[dependencies]
# Core engine
koda-core = { path = "../koda-core", version = "0.2.21" }

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

# Async runtime
tokio = { workspace = true, features = ["full"] }
tokio-util = { workspace = true }

# Serialization (needed for CLI-level config)
serde = { workspace = true }
serde_json = { workspace = true }

# TUI / Terminal
crossterm = { version = "0.29", features = ["event-stream"] }

# Syntax highlighting
syntect = { version = "5", default-features = false, features = ["default-syntaxes", "default-themes", "parsing", "html", "regex-fancy"] }
two-face = { version = "0.5", default-features = false, features = ["syntect-fancy"] }

# TUI (inline viewport: input + status bar)
ratatui = { version = "0.30", default-features = false, features = ["crossterm", "scrolling-regions"] }
ratatui-textarea = "0.9"
unicode-width = "0.2"

# Clipboard (for Ctrl+Y copy)
arboard = "3"

# ANSI escape code parsing for tool output
ansi-to-tui = "8"

# Regex — used to highlight Grep match substrings (mirrors koda-core's
# Grep tool, so the same pattern compiles in both places).
regex = "1"

# Logging (subscriber for CLI configuration)
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
tracing-appender = "0.2"

# Error handling
anyhow = { workspace = true }

# Date/time — already a transitive dep via ratatui; declared directly so
# callers aren't silently depending on an undeclared transitive.
time = "0.3"

# Base64 encoding (for image input)
base64 = "0.22"
agent-client-protocol-schema = { version = "0.11", features = ["unstable_session_model", "unstable_session_list", "unstable"] }
tokio-tungstenite = "0.29"
futures-util = "0.3"
rpassword = "7"

[[bench]]
name = "render_bench"
harness = false

[dev-dependencies]
tempfile = { workspace = true }
koda-core = { path = "../koda-core", version = "0.2.21", features = ["test-support"] }
serde_json = { workspace = true }