[package]
name = "lore"
version = "0.8.2"
edition = "2024"
description = "Gitlore - Local GitLab data management with semantic search"
authors = ["Taylor Eernisse"]
license = "MIT"

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

[dependencies]
# Database
rusqlite = { version = "0.38", features = ["bundled"] }
sqlite-vec = "0.1"

# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"

# CLI
clap = { version = "4", features = ["derive", "env"] }
clap_complete = "4"
dialoguer = "0.12"
console = "0.16"
indicatif = "0.18"
lipgloss = { package = "charmed-lipgloss", version = "0.1", default-features = false, features = ["native"] }
open = "5"

# HTTP
reqwest = { version = "0.12", features = ["json"] }
tokio = { version = "1", features = ["rt-multi-thread", "macros", "time", "signal"] }

# Async streaming for pagination
async-stream = "0.3"
futures = { version = "0.3", default-features = false, features = ["alloc"] }

# Utilities
thiserror = "2"
dirs = "6"
url = "2"
urlencoding = "2"
rand = "0.8"
sha2 = "0.10"
flate2 = "1"
chrono = { version = "0.4", features = ["serde"] }
httpdate = "1"
uuid = { version = "1", features = ["v4"] }
regex = "1"
strsim = "0.11"

[target.'cfg(unix)'.dependencies]
libc = "0.2"

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

[dev-dependencies]
tempfile = "3"
wiremock = "0.6"

[profile.release]
lto = true
codegen-units = 1
strip = true
