[package]
edition = "2024"
rust-version = "1.93"
name = "claude-code"
version = "0.1.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Rust library for executing Claude Code CLI"
readme = "README.md"
keywords = [
"claude",
"anthropic",
"cli",
"ai",
"llm",
]
categories = [
"api-bindings",
"asynchronous",
]
license = "MIT"
repository = "https://github.com/takelushi/claude-code-rs"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = [
"stream",
"tracing",
]
stream = [
"dep:tokio-stream",
"dep:async-stream",
]
structured = ["dep:schemars"]
tracing = ["dep:tracing"]
[lib]
name = "claude_code"
path = "src/lib.rs"
[[example]]
name = "multi_turn"
path = "examples/multi_turn.rs"
[[example]]
name = "simple"
path = "examples/simple.rs"
[[example]]
name = "stream"
path = "examples/stream.rs"
required-features = ["stream"]
[[example]]
name = "stream-all"
path = "examples/stream-all.rs"
required-features = ["stream"]
[[example]]
name = "structured_output"
path = "examples/structured_output.rs"
required-features = ["structured"]
[[test]]
name = "conversation_e2e"
path = "tests/conversation_e2e.rs"
[[test]]
name = "e2e"
path = "tests/e2e.rs"
[dependencies.async-stream]
version = "0.3"
optional = true
[dependencies.schemars]
version = "1"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"process",
"io-util",
"rt-multi-thread",
"macros",
"time",
]
[dependencies.tokio-stream]
version = "0.1"
optional = true
[dependencies.tracing]
version = "0.1"
optional = true
[dev-dependencies.mockall]
version = "0.14"
[dev-dependencies.tokio]
version = "1"
features = ["test-util"]