learning_ai_common_plat/dashboards/ux-lab/bolt-telemetry-explorer/PROMPT.md

2.6 KiB

Bolt — Telemetry Explorer

GitHub repo: saravanakumardb/temp_bolt-telemetry-explorer

Push Instructions

  • Push directly to main — do NOT open a PR
  • Only modify files in this repo

Rules

  • No console.log
  • No network calls — mock data / localStorage only
  • No hardcoded colors — no hex, no rgb/rgba/hsl, no bg-[#123456] Tailwind classes
  • Do NOT commit .env*, .next/, node_modules/, .vercel/
  • pnpm only
  • pnpm run check must pass (tsc --noEmit + eslint)
  • pnpm run build must pass (next build --webpack)

CSS Token Contract

Define in src/app/globals.css under :root (add .dark override):

  • --ux-bg — page background
  • --ux-surface — card/panel surface
  • --ux-surface-2 — elevated surface
  • --ux-border — borders
  • --ux-text — primary text
  • --ux-text-muted — secondary text
  • --ux-accent — primary accent
  • --ux-accent-foreground — text on accent
  • --ux-danger — destructive/error
  • --ux-warning — warning
  • --ux-success — success
  • --ux-ring — focus ring
  • --ux-shadow — shadows

Use only via Tailwind: bg-[var(--ux-surface)], text-[var(--ux-text)], border-[var(--ux-border)]

Component Architecture

  • Reusable components → src/components/
  • Pages in src/app/** compose components only
  • Components must NOT import from src/app/**

Stack

  • Next.js 16 App Router, React 19, TypeScript strict
  • TailwindCSS v4, pnpm

Mission

Build a Telemetry Explorer micro-app that loads a local JSON dataset and provides an observability-console-like exploration experience. Inspiration for improving Admin "Client Logs".

Data Source

Include src/data/sample-events.json with ~200 mock events: id, timestamp, productId, platform, osFamily, appVersion, eventType, module, eventName, requestId?, userId?, installId?, severity?, errorMessage?, metadata (object)

Pages

  • / overview + stats
  • /explore main explorer
  • /clusters client-side error grouping

Explorer

  • Faceted filters: platform, eventType, module, eventName, severity
  • Date range, free-text search, active filter chips + clear all
  • Save/load filter presets (localStorage)
  • Table/list toggle
  • Row click → detail drawer (Overview, Raw JSON, Related by requestId/installId)
  • Copy requestId, copy JSON
  • Filters reflected in URL query params (shareable)

Clusters

  • Group by eventName + errorMessage fingerprint
  • Show: count, lastSeen, sample message
  • Click cluster → list example events

Verification

pnpm install && pnpm run check && pnpm run build