Header bar · body · keybar, rendered from a kind registry and a command table — every screen below is that same recipe. These are the screens that do the most to separate kute from a plain kubectl wrapper, plus the full map of what's built.
Every kind — built-in or CRD — arrives through the same table. The default view answers "where is it broken" before you've pressed a key.
The Lens-style "cluster overview" answered for a TUI: a routing layer, not a dashboard. Every row is selectable and lands on an existing screen — node detail, pod detail, the deployment's row, the timeline. No charts for their own sake.
g like everything else — the pods table stays the resting state; overview is a place you visit, not the front door.Detail screens open with the reason, not the metadata. Logs, events, and the incident timeline all read the same way: newest first, causes before noise.
A crashlooping pod opens with its last termination — exit code, reason, how long ago — promoted above the metadata grid, not buried on line 40 of a describe. Logs pick up the same story with restart boundaries drawn inline.
kubectl logs --previous by hand.l opens logs from anywhere a pod is selected, following by default; / filters the live stream without stopping it.Exec, forward, scale, bulk delete — the exact kubectl equivalent prints before anything runs. Friction scales with how hard an action is to undo.
The YAML view grows secret semantics when the object is a Secret. Masked by default — data values render as dots with a size, never the raw base64 — because base64 on screen reads as decoded-adjacent, so masking has to be honest about what's hidden.
x reveals one key at a time in place, with a colored gutter bar so it's never mistaken for the rest of the masked manifest; leaving the view re-masks everything.y copies the decoded value of the cursor key — the only export path. A full-YAML copy keeps every value base64-encoded.Helm releases, Ingress, Gateway API, and any CRD kute has never seen all arrive through the same registry — no per-kind screens to hand-build.
Ingress and HTTPRoute are objects that only make sense joined against something else — a Service, a Secret, a parent Gateway. kute resolves every join live from the watch instead of asking you to hold the YAML in your head. Nothing else in the ecosystem renders the Gateway API join.
p on a route jumps to its parent Gateway.Ingress — one row per host+path → backend, resolved live
HTTPRoute — rules, weights, and the parent Gateway join
Explore the full Kute experience with kute --demo—a built-in fake cluster with no setup or configuration.
Or install with Homebrew