[workspace]
# Empty workspace to prevent being included in parent workspace

[package]
name = "cats"
version = "0.1.11"
edition = "2021"
description = "Coding Agent ToolS - A comprehensive toolkit for building AI-powered coding agents"
license = "MIT OR Apache-2.0"
authors = ["Simpaticoder Team"]
homepage = "https://cats.podtan.com"
repository = "https://github.com/podtan/cats"
readme = "README.md"
keywords = ["ai", "agent", "agent-tools", "automation", "development-tools"]
categories = ["development-tools", "command-line-utilities"]

[dependencies]
anyhow = "1.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
regex = "1.0"
glob = "0.3"
walkdir = "2.3"
tiktoken-rs = { version = "0.7", optional = true }
tokio = { version = "1.0", features = ["full"] }
clap = { version = "4.0", features = ["derive"] }
thiserror = "1.0"
tracing = "0.1"
tempfile = "3.0"
edit-distance = "2.1"

toml = "0.7"

# For linting integration
syn = { version = "2.0", features = ["full"] }

# Additional dependencies for opencode tools
schemars = "0.8"
reqwest = { version = "0.12", features = ["json", "stream", "blocking", "rustls-tls-webpki-roots"], default-features = false, optional = true }
base64 = { version = "0.22", optional = true }
sha2 = { version = "0.10", optional = true }

[dev-dependencies]
tempfile = "3.0"
assert_cmd = "2.0"
predicates = "3.0"
tokio-test = "0.4"

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

[features]
default = ["opencode"]

# Tool set feature flags
old = []                    # Original CATS tools (deprecated, for migration)
opencode = ["reqwest", "base64", "sha2"]  # OpenCode-compatible tool set
gemini-cli = []             # Google Gemini CLI tool set (coming soon)
claude-code = []            # Claude Code-compatible tool set (coming soon)
all = ["opencode", "gemini-cli", "claude-code"]

# Optional tiktoken feature to enable cl100k_base tokenizer usage
tiktoken = ["tiktoken-rs"]

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