[package]
name = "textlog"
version = "0.1.9"
edition = "2021"
rust-version = "1.80"
description = "macOS clipboard + OCR daemon exposed to Claude Code as an MCP server"
authors = ["xicao"]
license = "MIT"
readme = "README.md"
repository = "https://github.com/xicv/textlog"
homepage = "https://github.com/xicv/textlog"
documentation = "https://github.com/xicv/textlog#readme"
keywords = ["mcp", "claude", "clipboard", "ocr", "macos"]
categories = ["command-line-utilities", "os::macos-apis"]
[[bin]]
name = "tl"
path = "src/main.rs"
[features]
default = ["mcp", "service"]
mcp = []
service = []
[dependencies]
clap = { version = "4.6", features = ["derive", "env"] }
clap_complete = "4.6"
tokio = { version = "1.51", features = ["full"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "1.1"
chrono = { version = "0.4", features = ["serde"] }
anyhow = "1"
thiserror = "2"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
dirs = "6"
regex = "1"
rusqlite = { version = "0.39", features = ["bundled", "chrono"] }
sha2 = "0.11"
objc2 = "0.6"
objc2-foundation = { version = "0.3", features = [
"NSData",
"NSArray",
"NSDictionary",
"NSString",
"NSError",
"NSObject",
] }
objc2-app-kit = { version = "0.3", features = ["NSPasteboard"] }
objc2-vision = { version = "0.3", features = [
"VNRecognizeTextRequest",
"VNRequest",
"VNRequestHandler",
"VNObservation",
] }
notify-rust = "4"
libc = "0.2"
rmcp = { version = "1.4", features = ["server", "macros", "transport-io"] }
schemars = "1.0"
[dev-dependencies]
tokio-test = "0.4"
tempfile = "3"
[package.metadata.release]
tag-name = "v{{version}}"
pre-release-replacements = [
{ file = "CHANGELOG.md", search = "## \\[Unreleased\\]", replace = "## [Unreleased]\n\n## [{{version}}] - {{date}}", exactly = 1 },
{ file = "CHANGELOG.md", search = "\\[Unreleased\\]: https://github.com/xicv/textlog/compare/v[0-9.]+\\.\\.\\.HEAD", replace = "[Unreleased]: https://github.com/xicv/textlog/compare/v{{version}}...HEAD\n[{{version}}]: https://github.com/xicv/textlog/releases/tag/v{{version}}", exactly = 1 },
]