[package]
name = "lore-cli"
version = "0.2.0"
edition = "2021"
rust-version = "1.92.0"
description = "Capture AI coding sessions and link them to git commits"
authors = ["Chris Garcia <chris@varalys.com>"]
license = "Apache-2.0"
repository = "https://github.com/varalys/lore"
readme = "README.md"
keywords = ["git", "ai", "developer-tools", "version-control"]
categories = ["command-line-utilities", "development-tools"]

[dependencies]
# CLI
clap = { version = "4", features = ["derive"] }
clap_complete = "4"
colored = "2"

# Storage
rusqlite = { version = "0.31", features = ["bundled"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde-saphyr = "0.0.10"

# File watching (for daemon)
notify = "6"
notify-debouncer-mini = "0.4"

# Git
git2 = "0.21"

# Async (for daemon)
tokio = { version = "1", features = ["full"] }

# Logging for daemon
tracing-appender = "0.2"

# Utilities
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1", features = ["v4", "serde"] }
thiserror = "1"
anyhow = "1"
dirs = "5"
glob = "0.3"
hostname = "0.3"
libc = "0.2"
regex = "1"

# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

# HTTP client for LLM summary providers
reqwest = { version = "0.13", features = ["json", "rustls", "blocking"], default-features = false }

# Sync encryption and key storage
aes-gcm = "0.10"
argon2 = "0.5"
keyring = { version = "3", features = ["apple-native", "sync-secret-service", "windows-native"] }
rpassword = "7"
rand = "0.8"

# Git-ref sync (gzip compression of session blobs before encryption)
flate2 = "1"

# MCP (Model Context Protocol)
rmcp = { version = "1.8", features = ["server", "transport-io"] }
schemars = "1.0"
sha2 = "0.10"

[dev-dependencies]
tempfile = "3"
assert_cmd = "2"
predicates = "3"

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