[package]
name = "ripvec"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Semantic code search CLI — like ripgrep but for meaning"
rust-version.workspace = true
readme.workspace = true
keywords = ["semantic-search", "code-search", "cli", "ripgrep", "embeddings"]
categories = ["command-line-utilities", "development-tools"]

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

[dependencies]
ripvec-core = { path = "../ripvec-core", version = "2.0.0" }
clap.workspace = true
anyhow.workspace = true
rayon.workspace = true
serde_json.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
tracing-chrome.workspace = true
owo-colors = "4"
indicatif = "0.18"
ratatui = "0.30"
crossterm = "0.29"
tokenizers.workspace = true
ndarray = "0.17"
syntect = { version = "5", default-features = false, features = ["default-syntaxes", "default-themes", "regex-onig"] }
notify = "8.2.0"
mimalloc = { version = "0.1.50", default-features = false }

[features]
default = []
cuda = ["ripvec-core/cuda"]
mlx = ["ripvec-core/mlx"]
metal = ["ripvec-core/metal"]
cpu = ["ripvec-core/cpu"]

# Auto-enable platform-appropriate backends
[target.'cfg(target_os = "macos")'.dependencies]
ripvec-core = { path = "../ripvec-core", version = "2.0.0", features = ["metal", "mlx", "cpu-accelerate"] }

[target.'cfg(not(target_os = "macos"))'.dependencies]
ripvec-core = { path = "../ripvec-core", version = "2.0.0", features = ["cpu"] }

[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/ripvec-v{ version }-{ target }.tar.gz"
bin-dir = "ripvec-v{ version }-{ target }/{ bin }{ binary-ext }"
pkg-fmt = "tgz"

[dev-dependencies]
assert_cmd.workspace = true
predicates.workspace = true
tempfile.workspace = true

[lints]
workspace = true
