feat(qbzd): scaffold slint-free qbzd crate with clap verb tree and CI gate

IV6 build peak: 795 MB max RSS (summed across the cargo-capped build's
process tree via /proc VmRSS polling; /usr/bin/time -v is not installed
on this box). aws-lc-rs in graph: 0 (single rustls provider: ring
v0.17.14 throughout).

cc
This commit is contained in:
vicrodh committed 2026-07-14 12:53:09 -06:00
1 parent 90d9d1c66a
commit 02c2dba68d
6 files changed
+263

No files matched your search

+44
View File
@@ -0,0 +1,44 @@
[package]
name = "qbzd"
version.workspace = true
edition = "2021"
description = "QBZ headless Qobuz playback daemon (daemon + CLI + setup TUI in one binary)"
license = "MIT"
[[bin]]
name = "qbzd"
path = "src/main.rs"
[dependencies]
# workspace crates — the slint-free column ONLY (01-architecture.md §1.2)
qbz-models = { path = "../qbz-models" }
qbz-app = { path = "../qbz-app" }
qbz-core = { path = "../qbz-core" }
qbz-player = { path = "../qbz-player" }
qbz-audio = { path = "../qbz-audio" } # PROTECTED — read-only consumer
qbz-qobuz = { path = "../qbz-qobuz" }
qbz-credentials = { path = "../qbz-credentials" }
qbz-log = { path = "../qbz-log" }
qconnect-core = { path = "../qconnect-core" }
qconnect-protocol = { path = "../qconnect-protocol" }
qconnect-transport-ws = { path = "../qconnect-transport-ws" }
qconnect-app = { path = "../qconnect-app" }
# runtime / wire
tokio = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
reqwest = { workspace = true }
dirs = "6"
rand = { workspace = true }
log = { workspace = true }
async-trait = { workspace = true }
# new direct deps (versions already in lock where noted)
tiny_http = "0.12" # in lock via qbz-cast
toml = "0.9" # in lock transitively
libc = "0.2" # flock
clap = { version = "4", features = ["derive"] }
clap_complete = "4"
# ratatui arrives in T13 — do NOT add it here
[dev-dependencies]
tempfile = "3"