[package]
name = "pctx"
version = "0.1.2"
edition = "2021"
authors = ["mc-marcocheng"]
description = "Generate LLM-ready context from your codebase"
license = "MIT"
repository = "https://github.com/mc-marcocheng/pctx"
homepage = "https://github.com/mc-marcocheng/pctx"
documentation = "https://github.com/mc-marcocheng/pctx#readme"
keywords = ["llm", "ai", "context", "cli", "code"]
categories = ["command-line-utilities", "development-tools"]
readme = "README.md"
rust-version = "1.70"

[dependencies]
# CLI parsing
clap = { version = "4.5", features = ["derive", "env", "string", "wrap_help"] }
clap_complete = "4.5"

# File system operations
walkdir = "2.5"
ignore = "0.4"
glob = "0.3"
dunce = "1.0"

# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"

# Terminal output
colored = "2.1"

# Clipboard support (optional)
arboard = { version = "3.4", optional = true }

# Token counting (optional)
tiktoken-rs = { version = "0.5", optional = true }

# Error handling
thiserror = "1.0"
anyhow = "1.0"

[dev-dependencies]
tempfile = "3.10"
assert_cmd = "2.0"
predicates = "3.1"

[features]
default = ["clipboard", "tokens"]
clipboard = ["dep:arboard"]
tokens = ["dep:tiktoken-rs"]

[profile.release]
lto = true
codegen-units = 1
strip = true
panic = "abort"
opt-level = "z"

[profile.dev]
opt-level = 0

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