[package] name = "zeroclaw" version = "0.1.0" edition = "2021" authors = ["theonlyhennygod"] license = "MIT" description = "Zero overhead. Zero compromise. 100% Rust. The fastest, smallest AI assistant." repository = "https://github.com/theonlyhennygod/zeroclaw" readme = "README.md" keywords = ["ai", "agent", "cli", "assistant", "chatbot"] categories = ["command-line-utilities", "api-bindings"] [dependencies] # CLI - minimal and fast clap = { version = "4.5", features = ["derive"] } # Async runtime - feature-optimized for size tokio = { version = "1.42", default-features = false, features = ["rt-multi-thread", "macros", "time", "net", "io-util", "sync", "process", "io-std", "fs", "signal"] } # HTTP client - minimal features reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "blocking", "multipart", "stream"] } # Serialization serde = { version = "1.0", default-features = false, features = ["derive"] } serde_json = { version = "1.0", default-features = false, features = ["std"] } # Config directories = "5.0" toml = "0.8" shellexpand = "3.1" # Logging - minimal tracing = { version = "0.1", default-features = false } tracing-subscriber = { version = "0.3", default-features = false, features = ["fmt", "ansi"] } # Error handling anyhow = "1.0" thiserror = "2.0" # UUID generation uuid = { version = "1.11", default-features = false, features = ["v4", "std"] } # Authenticated encryption (AEAD) for secret store chacha20poly1305 = "0.10" # HMAC for webhook signature verification hmac = "0.12" sha2 = "0.10" hex = "0.4" # Async traits async-trait = "0.1" # Memory / persistence rusqlite = { version = "0.32", features = ["bundled"] } chrono = { version = "0.4", default-features = false, features = ["clock", "std"] } cron = "0.12" # Interactive CLI prompts dialoguer = { version = "0.11", features = ["fuzzy-select"] } console = "0.15" # Discord WebSocket gateway tokio-tungstenite = { version = "0.24", features = ["rustls-tls-webpki-roots"] } futures-util = { version = "0.3", default-features = false, features = ["sink"] } hostname = "0.4.2" lettre = { version = "0.11.19", features = ["smtp-transport", "rustls-tls"] } mail-parser = "0.11.2" rustls-pki-types = "1.14.0" tokio-rustls = "0.26.4" webpki-roots = "1.0.6" # HTTP server (gateway) — replaces raw TCP for proper HTTP/1.1 compliance axum = { version = "0.7", default-features = false, features = ["http1", "json", "tokio", "query"] } tower = { version = "0.5", default-features = false } tower-http = { version = "0.6", default-features = false, features = ["limit", "timeout"] } http-body-util = "0.1" [profile.release] opt-level = "z" # Optimize for size lto = true # Link-time optimization codegen-units = 1 # Better optimization strip = true # Remove debug symbols panic = "abort" # Reduce binary size [profile.dist] inherits = "release" opt-level = "z" lto = "fat" codegen-units = 1 strip = true panic = "abort" [dev-dependencies] tokio-test = "0.4" tempfile = "3.14"