Terminal · live emulation

How my terminal works — try it.

A small emulation of my daily cockpit: a Claude agent working in one tmux pane, a local CI pipeline (gctui) in the other, the yas statusline with my wrapper badges, and the real keybindings. Click the terminal, then drive it with the keys below — the prefix is applied for you (press o/n/p/Space/G directly; click the green prefix: auto indicator for the real Ctrl-b behaviour) — or use the chips. The concepts behind it are in the Workflow articles.

Ctrl-b prefix: auto ✓ prefix o next pane prefix n next session prefix p prev session prefix Space which-key … K agentsview prefix G gctui Tab gctui local⇄remote
tmux · aoe prefix
claude · network · 🌳 personal · pane 1/2 — prefix-O → gctui
🌳 personal📄 0🧠 4 ⏵ Opus▱▱▱▱ 8% 🦊 — ~/dev/network · main
gctui · local⇄remote pipelines (press Tab) · pane 2/2 — prefix-O → claude
platform map · live sync · pane 1/2 — prefix-O → reconcile
$ curl -s localhost:8787/health { ok:true, group:"nimbus/ultraplatform", live:true } [sync #142] 103 repos · argocd: FOUND · unmapped: 0 · 12:04:31 views: Identity · Network · VPN · Security & OPA · Kubernetes · Helm Charts … regions: eu01 · us01 · ca01 tiers: live · sandbox · test → the 3D map renders this state: ultraplatform.html
cli · reconcile watch · pane 2/2 — prefix-O → map
$ node cli.mjs --once views 14/14 mapped · repos 30 · security scan ✓ ⚠ drift: 2 unmapped (legacy/old-watchtower, tools/rune-scratchpad) ⚠ 1 expected-but-absent: AI / ai-gateway → node cli.mjs --suggest (LLM plan → view-map overlay)
logs · loki · pane 1/2 — prefix-O → alerts
{namespace="observability"} …
alerts · mimir · pane 2/2 — prefix-O → logs
ALERTS · firing 1 · pending 2 🔥 HighErrorRate tenant-a/api 5m ⏳ PodRestartLoop observability 2m ⏳ CertExpirySoon ingress · eu01 13d $ amtool silence add alertname=CertExpirySoon -d 24h → waiting on the loki-labels cleanup (UP-133) before tuning these
claude · docker sandbox 🐳 · pane 1/2 — prefix-O → inspect
❯ sbx run claude ~/dev/dep-bumps ✻ sandbox from template image · mounts: project + profile + vault (pre-declared) 🐳 hardening: --cap-drop ALL · no-new-privileges · network: sbx-net · creds TTL 55m ⏺ Bash(npm audit fix) — contained; host filesystem not visible ☑ todo · bump 3 vulnerable transitive deps ⎿ results come back as a git remote: git fetch sandbox-dep-bumps
🐳 sandbox🌳 personal📄 6/9🧠 2⏵ Sonnet▰▱▱▱ 23%
sbx · inspect · pane 2/2 — prefix-O → claude
$ sbx inspect dep-bumps CapDrop: ALL · SecurityOpt: no-new-privileges Mounts: project rw · profile ro · vault rw Network: sbx-net · egress via proxy only Creds: federated, expire in 42m $ git fetch sandbox-dep-bumps ✓ 3 commits — review on the host, merge when green
claude · onboard tenant wingtip · pane 1/2 — prefix-O → argo watch
❯ claude "onboard tenant wingtip: namespace + route + SSO sidecar" ✻ a new tenant is three files and one MR — the gateway is never touched ⏺ Write(namespaces/namespaces/wingtip.yml) tenant: wingtip · clusters: eu01 us01 ⏺ Write(gateway/routes/wingtip-shop.yaml) HTTPRoute · parentRef shared-gateway → :4180 ⏺ Write(gateway/workloads/wingtip-shop.yaml) app :8080 + oauth2-proxy sidecar :4180 ⏺ Bash(gctui run validate) — plan → OPA gate → exit 0 ☑ todo · MR ready: feat/tenant-wingtip ⎿ ONE shared gateway per cluster — tenants attach routes, they don't add doors
argo · publish path watch · pane 2/2 — prefix-O → claude
$ argocd app wait wingtip --sync ✓ ns wingtip created (claim: tenant: wingtip) ✓ HTTPRoute wingtip-shop attached — parentRef gateway/shared-gateway ✓ deploy wingtip-shop 2/2 ready (app + oauth2-proxy sidecar) $ curl -sI https://shop.wingtip.example/ | head -1 HTTP/2 302 → login (SSO — the Service only exposes :4180) a route at the app port would show up as drift, not as traffic
litmus · gateway pod-kill · pane 1/2 — prefix-O → probe
❯ kubectl apply -f gateway/chaos/gateway-pod-kill.yaml ✻ the scary one, on purpose: kill the ONE gateway's pods while users watch chaosengine.litmuschaos.io/gateway-pod-kill created ⏺ pod-delete · ns gateway · app.kubernetes.io/name=traefik · 120s, a kill every 20s ✂ traefik-7d4b9-x2kfp killed↻ rescheduled (PDB minAvailable: 1 held) ✂ traefik-7d4b9-m9qwl killed↻ rescheduled (zone-2 replica kept serving) ☑ verdict: Pass — steady-state hypothesis held for the full 120s ⎿ a failed probe here is a design bug filed against gateway — not an incident
probe · through the gateway · pane 2/2 — prefix-O → litmus
$ watch -n1 curl -so /dev/null -w '%{http_code}' https://status.internal.nimbus.example/healthz 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 ← pods dying the whole time 200 200 200 200 200 200 200 200 200 200 $ kubectl -n gateway get pdb traefik NAME MIN AVAILABLE ALLOWED DISRUPTIONS AGE traefik 1 1 212d amber, not red: degraded-but-serving is a state you engineer, then rehearse

which-key · agents & workflow

Kagentsview Ggctui sswarm rMR review mmonitor wworkflow Escclose

agentsview · sessions (reads transcripts — agents are never interrupted)

/
j/k move · / search · Tab expand summary · o attach · Esc close

gctui · local pipeline (prefix-G popup — same state as the pane)

Esc close
0:UP-142·helm-view 1:UP-97·map-3d✓ 2:UP-133·obs-logs— 3:UP-150·sbx-deps— 4:UP-161·tenant-onb✓ 5:UP-163·gw-chaos✓ ☑ 0/3 12:04

This is a simplified emulation — the real setup is tmux + which-key menus, agentsview (a context inspector reading Claude transcript JSONL), aoe (session/worktree/profile manager), gctui (local↔remote GitLab CI cockpit) and yas with a wrapper that adds the 📄/🧠/profile/🐳 badges. Read the details: cockpit · signals · aoe · local CI.

⬇