learning_ai_common_plat/dashboards/ux-lab/bolt-command-palette-kit/PROMPT.md

2.5 KiB
Raw Blame History

Bolt — Command Palette + Keyboard Shortcuts Kit

GitHub repo: saravanakumardb/temp_bolt-command-palette-kit

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 production-grade command palette + keyboard shortcuts kit micro-app reusable across dashboards/admin-web, dashboards/tracker-web, and product web apps.

Pages

  • / overview landing
  • /palette command palette demo
  • /shortcuts shortcuts reference + editor
  • /integration copy/paste integration guide (UI-only)

Command Palette

  • Open via Cmd+K (and Ctrl+K fallback)
  • Search box with grouped actions (Navigation, Actions, Settings)
  • Optional action keywords (aliases)
  • Recent actions + favorites/pinned (localStorage)
  • Keyboard: Up/Down, Enter to execute, Esc to close
  • Mouse support
  • Dialog semantics, focus trap, focus returns on close, ARIA labels

Shortcuts Registry

  • registerShortcut({ id, keys, description, scope })
  • Scopes: global vs page-specific
  • /shortcuts page listing all registered shortcuts
  • Remap shortcuts UI (localStorage), collision detection

Demo Content

2030 demo actions: navigation, theme toggle, "Copy JSON", "Clear local data" (confirm dialog)

Verification

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