scud-cli 1.45.1

Fast, simple task master for AI-driven development
Documentation
[package]
name = "scud-cli"
version.workspace = true
edition.workspace = true
authors.workspace = true
description = "Fast, simple task master for AI-driven development"
license.workspace = true
include = ["src/**/*", "assets/**/*", "examples/**/*", "Cargo.toml", "README.md"]

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

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

[dependencies]
clap = { version = "4.5", features = ["derive", "cargo"] }
serde.workspace = true
serde_json = "1.0"
tokio.workspace = true
reqwest = { version = "0.11", features = ["json", "rustls-tls", "stream"], default-features = false }
eventsource-client = "0.13"  # SSE client for OpenCode server events
pin-project-lite = "0.2"     # For custom Stream impl
anyhow = "1.0"
thiserror = "1.0"
chrono = { version = "0.4", features = ["serde"] }
colored = "2.1"
indicatif = "0.17"
dirs = "5.0"
fs2 = "0.4"  # File locking for concurrent access
toml = "0.8"  # TOML parsing for config files
dialoguer = "0.11"  # Interactive CLI prompts
atty = "0.2"  # TTY detection for interactive mode
futures = "0.3"  # Async utilities for parallel execution
webbrowser = "1.0"  # Cross-platform browser opening
uuid = { version = "1", features = ["v4"] }  # UUID generation for task IDs
dotenvy = "0.15"  # .env file loading
regex = "1"       # Pattern matching for error parsing
walkdir = "2.5"   # Directory traversal for extension discovery

# TUI dependencies
ratatui = "0.29"      # Terminal UI framework
crossterm = "0.28"    # Cross-platform terminal manipulation

[features]
default = []
real-llm = []        # Enable tests with real LLM API calls
real-terminal = []   # Enable tests with real terminal sessions (tmux/kitty)

[dev-dependencies]
tempfile = "3.8"  # Temporary directories for tests
mockall = "0.12"  # Mock objects for testing
tokio-test = "0.4"  # Testing utilities for tokio
criterion = "0.5"  # Benchmarking framework
serde_json = "1.0"  # JSON for test fixtures

[[example]]
name = "library_usage"
path = "examples/library_usage.rs"

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

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