Vibe Coding
The `telemetry` mod shows how a plugin gets a first-party analytics row, and every switch that silences it
One `engine.create` step folds `$.telemetry` into the interface handed to every plugin above it. `$.telemetry.log({ event, props })` POSTs one row as `tengu_plugin_<event>`; `mark({ feature, kind, reason?, props? })` writes `tengu_feature_<kind>`, where `kind` is `ok`, `sad` or `bad` and a `reason` is required on the last two and refused on the first. Nothing free-form reaches a row: names and property keys must be snake_case tokens and values must be a finite number, a boolean, or a Choice. It sends nothing under `DISABLE_TELEMETRY`, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` or `DO_NOT_TRACK`, on Bedrock/Vertex/Foundry, or on a deployment with its own OAuth URL, each re-read at every call.
Source
↳ Follow the thread