diff --git a/.gitignore b/.gitignore index 72eebfa..da0c7bd 100644 --- a/.gitignore +++ b/.gitignore @@ -175,3 +175,6 @@ cython_debug/ # Superpowers brainstorm companion working dir .superpowers/ + +# Local wiki checkout (separate git repo) +docs/wiki/ diff --git a/README.md b/README.md index bcbf198..8738396 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,39 @@ # claude-gauge -Hardware instrument cluster displaying Claude Code session telemetry. +Hardware instrument cluster displaying Claude Code session telemetry +in real time. -Three analog needle gauges (5h fuel, tokens/min tach, 7d fuel) plus -an annunciator row of model-indicator and warning lamps, driven by -an ESP32 polling a local Python daemon. The daemon reads either -Claude Code's native OpenTelemetry feed through a Prometheus stack -(architecture A) or `ccusage` CLI aggregates with a direct JSONL -tail for the tach (architecture B). Firmware and cluster are -identical across both. +![Monitor-mounted cluster with four gauges and annunciator row](docs/images/monitor-dash.png) -Fighter-jet / race-car aesthetic. Physical-first: all the deep -stats live in Grafana (A) or ccusage's own surfaces (B). The dial -on the desk is the ambient summary. +Four analog needle gauges (5h fuel, tokens/min tach, thinking ratio, +cache hit) plus an annunciator row of model-indicator and warning +lamps, driven by an ESP32 polling a local Python daemon. The daemon +reads either Claude Code's native OpenTelemetry feed through a +Prometheus stack (architecture A) or `ccusage` CLI aggregates with a +direct JSONL tail for the tach (architecture B). Firmware and +cluster are identical across both. -See [PLAN.md](PLAN.md) for: +Fighter-jet / race-car aesthetic. Physical-first: the deep stats +live in Grafana (A) or `ccusage` (B); the dial on the desk is the +ambient summary. -* Instrument cluster layout and annunciator semantics -* Architecture A: Docker Compose stack, Claude Code env config, - PromQL queries, daemon sketch -* Architecture B: ccusage subprocess integration, watchdog tail, - daemon sketch -* Hardware: X27.168 steppers, SwitecX25 library, ESP32 wiring, - enclosure notes -* Six-phase plan from daemon MVP through enclosure V1 -* Full metrics brainstorm for later phases +## Documentation + +Full documentation is in the [wiki](https://forgejo.labbity.unbiasedgeek.com/archeious/claude-gauge/wiki): + +* **Home** — overview and cluster at a glance +* **Architecture** — two-architecture tradeoff, daemon contract +* **DataSources** — Docker Compose + PromQL (A), `ccusage` + + watchdog (B) +* **Hardware** — X27.168 steppers, ESP32 wiring, firmware, + enclosure +* **Roadmap** — phases, shipped, deferred +* **Ideas** — exotic enclosure variants, metrics brainstorm, + parked thoughts + +Working notes live in [PLAN.md](PLAN.md). Session records and +in-flight thinking happen there; the wiki is the curated surface. ## Status -Scaffolded. Phase A pending architecture decision and first issue. +Scaffolded. Phase A pending architecture decision. diff --git a/docs/images/exotic-dashes.png b/docs/images/exotic-dashes.png new file mode 100644 index 0000000..5259eb0 Binary files /dev/null and b/docs/images/exotic-dashes.png differ diff --git a/docs/images/monitor-dash.png b/docs/images/monitor-dash.png new file mode 100644 index 0000000..462880c Binary files /dev/null and b/docs/images/monitor-dash.png differ