[workspace]
members = [".", "beachcomber-client"]
[package]
name = "beachcomber"
version = "0.5.1"
edition = "2024"
description = "A centralized daemon that caches shell state (git, battery, hostname, etc.) so every consumer reads from one fast cache instead of independently forking shells"
license = "MIT"
repository = "https://github.com/NavistAu/beachcomber"
homepage = "https://github.com/NavistAu/beachcomber"
keywords = ["shell", "prompt", "git", "tmux", "daemon"]
categories = ["command-line-utilities", "development-tools"]
readme = "README.md"
[lib]
name = "beachcomber"
path = "src/lib.rs"
[[bin]]
name = "comb"
path = "src/main.rs"
[dependencies]
tokio = { version = "1", features = ["full"] }
clap = { version = "4", features = ["derive"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "0.8"
xdg = "3"
dashmap = "6"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
libc = "0.2"
notify = "8"
tokio-util = "0.7"
ureq = "3"
libloading = "0.9.0"
[dev-dependencies]
tempfile = "3"
tokio-test = "0.4"
criterion = { version = "0.5", features = ["html_reports", "async_tokio"] }
[[bench]]
name = "cache"
harness = false
[[bench]]
name = "protocol"
harness = false
[[bench]]
name = "providers"
harness = false
[[bench]]
name = "socket"
harness = false
[[bench]]
name = "throughput"
harness = false
[profile.release]
opt-level = "z"
lto = true
strip = true
[package.metadata.deb]
maintainer = "NavistAu <github@navistau.io>"
copyright = "2026, NavistAu"
extended-description = "A centralized daemon that caches shell state (git, battery, network, etc.) so every consumer reads from one fast cache instead of independently forking shells."
section = "utils"
priority = "optional"
assets = [
["target/release/comb", "usr/bin/", "755"],
]
[package.metadata.generate-rpm]
assets = [
{ source = "target/release/comb", dest = "/usr/bin/comb", mode = "0755" },
]