cmd-usage 0.7.29

Live Command Code (commandcode.ai) usage dashboard: credits, 5-hour and weekly windows, plan limits. Watch mode or one-shot.
Documentation
[package]
name = "cmd-usage"
version = "0.7.29"
edition = "2021"
# Two bins (`cmduse` + the `cmdusedev` twin), so `cargo run -p cmd-usage` needs
# an explicit default: CI's `-V` smoke test, and humans typing it.
default-run = "cmduse"
description = "Live Command Code (commandcode.ai) usage dashboard: credits, 5-hour and weekly windows, plan limits. Watch mode or one-shot."
license = "MIT"
repository = "https://github.com/JeffreyJYZ/cmdcode-tools"
keywords = ["cli", "dashboard", "usage", "command-code", "tui"]
categories = ["command-line-utilities"]
readme = "README.md"

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

# Dev twin: same code, different name, so a local build never shadows the
# installed `cmduse` (and consumers can target it via CMDUSE_BIN).
[[bin]]
name = "cmdusedev"
path = "src/bin/cmdusedev.rs"

# OpenCode Go/Zen twin: same CLI shape as cmduse, but its data is local
# (opencode.db) plus the docs catalogue in core/zen.json — OpenCode publishes no
# usage API (the one route, /zen/go/v1/usage, is entitlement-gated).
[[bin]]
name = "ocuse"
path = "src/bin/ocuse.rs"

# Dev twin of ocuse: same code, different name, so a local build never shadows
# the installed `ocuse` (consumers can target it via OCUSE_BIN).
[[bin]]
name = "ocusedev"
path = "src/bin/ocusedev.rs"

# Volcengine ARK Agent Plan twin: same CLI shape again, but its unit is AFP and
# its authoritative figures are the control plane's own meters (through arkcli).
[[bin]]
name = "arkuse"
path = "src/bin/arkuse.rs"

# Dev twin of arkuse: same code, different name, so a local build never shadows
# the installed `arkuse` (consumers can target it via ARKUSE_BIN).
[[bin]]
name = "arkusedev"
path = "src/bin/arkusedev.rs"

# cargo binstall: the release workflow publishes cmduse-<version>-<target>.tar.gz
# with the binaries at the archive root. Assets are a public contract shared with
# the Homebrew formula (see .github/workflows/release.yml).
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/cmduse-v{ version }/cmduse-{ version }-{ target }.tar.gz"
pkg-fmt = "tgz"
bin-dir = "{ bin }{ binary-ext }"

[dependencies]
cmduse-core = { path = "../core", version = "2" }
ureq = { version = "2", features = ["json"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
lexopt = "0.3"
# ocuse reads opencode's own SQLite store read-only; bundled so the crate needs
# no system libsqlite.
rusqlite = { version = "0.40", features = ["bundled"] }
# dsh compresses its session log; the reader decodes it in-process rather than
# shelling out to a `zstd` binary the machine may not have.
zstd = "0.13"

[dev-dependencies]
tempfile = "3"