chore(ux-lab): tighten acceptance checklists for agent pushes
This commit is contained in:
parent
2d3ae2b8d2
commit
d8dc93c157
43
dashboards/ux-lab/DESIGN_SYSTEM_BRIEF.md
Normal file
43
dashboards/ux-lab/DESIGN_SYSTEM_BRIEF.md
Normal file
@ -0,0 +1,43 @@
|
||||
# UX Lab — Design System Brief (Must Follow)
|
||||
|
||||
This brief applies to all micro-apps under `dashboards/ux-lab/*`.
|
||||
|
||||
## Purpose
|
||||
|
||||
These micro-apps are **not throwaway**. They must produce UI/UX patterns we can reliably cross-pollinate into:
|
||||
|
||||
- `dashboards/admin-web`
|
||||
- `dashboards/tracker-web`
|
||||
- product web apps in this workspace
|
||||
|
||||
## Non-negotiable rules
|
||||
|
||||
- No `console.log`.
|
||||
- No hardcoded API URLs.
|
||||
- No backend/network calls for UX Lab apps.
|
||||
- **No hardcoded colors** (no hex, rgb/rgba, hsl). Use design tokens via CSS variables.
|
||||
|
||||
## Token usage (web)
|
||||
|
||||
- Prefer existing token patterns used in dashboards (CSS custom properties + Tailwind utilities).
|
||||
- If you need new tokens for the micro-app, define them as CSS variables in the micro-app’s `src/app/globals.css` under a `--ux-*` namespace.
|
||||
- Component styles must reference CSS variables (e.g. `bg-[var(--ux-surface)]`, `text-[var(--ux-text)]`).
|
||||
|
||||
## Component approach
|
||||
|
||||
- Keep components **generic** and reusable. Avoid domain-specific naming like `TelemetryClusterCard` when a `SummaryCard` would work.
|
||||
- Prefer building blocks:
|
||||
- Table, FiltersPanel, Drawer, Modal, EmptyState, Skeleton, Toast, ConfirmDialog
|
||||
|
||||
## Accessibility + UX
|
||||
|
||||
- Keyboard accessible (Tab, Enter/Space, Esc).
|
||||
- Focus management for drawers/modals (return focus to trigger).
|
||||
- Responsive layout.
|
||||
|
||||
## Integration expectation
|
||||
|
||||
When we integrate into production dashboards, we will:
|
||||
|
||||
- Copy components into the relevant repo and map tokens to that repo’s token set.
|
||||
- Reject PRs that introduce hardcoded colors, console logging, or unnecessary new dependencies.
|
||||
42
dashboards/ux-lab/README.md
Normal file
42
dashboards/ux-lab/README.md
Normal file
@ -0,0 +1,42 @@
|
||||
# UX Lab (Delegation Pack)
|
||||
|
||||
This folder is intentionally **greenfield** and exists to let external UI/UX generation tools (Bolt, Lovable) create high-quality Next.js UI “micro-apps” that we can later cross-pollinate into:
|
||||
|
||||
- `dashboards/admin-web`
|
||||
- `dashboards/tracker-web`
|
||||
- product web apps (ChronoMind/JarvisJr/etc.)
|
||||
|
||||
## Principles
|
||||
|
||||
- UI/UX heavy
|
||||
- No backend dependency (mock data / local JSON / localStorage)
|
||||
- No changes outside each micro-app folder
|
||||
- No changes to platform-service / auth / Cosmos
|
||||
|
||||
## Micro-apps
|
||||
|
||||
This folder contains **6 separate micro-app projects**:
|
||||
|
||||
### Bolt apps (3)
|
||||
|
||||
- `bolt-ops-ui-kit/` — reusable ops dashboard patterns (tables, filters, states, drawers)
|
||||
- `bolt-timeline-studio/` — timeline/scheduler builder UI patterns
|
||||
- `bolt-telemetry-explorer/` — local-only telemetry explorer UI patterns
|
||||
|
||||
### Lovable apps (3)
|
||||
|
||||
- `lovable-ops-ui-kit/` — ops dashboard UI kit (Lovable-led design)
|
||||
- `lovable-design-tokens-playground/` — design tokens playground + component previews
|
||||
- `lovable-onboarding-flow/` — onboarding + settings wizard UI patterns
|
||||
|
||||
Each micro-app folder contains a single `PROMPT.md`.
|
||||
|
||||
Copy/paste the prompt into the respective tool and keep all changes scoped to that micro-app folder.
|
||||
|
||||
## Deprecated (do not use for new work)
|
||||
|
||||
The following folders were an earlier experiment that bundled both prompts per concept. They are kept for reference, but new work should use the 6 dedicated apps above:
|
||||
|
||||
- `ops-ui-kit/`
|
||||
- `timeline-studio/`
|
||||
- `telemetry-explorer/`
|
||||
27
dashboards/ux-lab/bolt-ops-ui-kit/.gitignore
vendored
Normal file
27
dashboards/ux-lab/bolt-ops-ui-kit/.gitignore
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
.next
|
||||
out
|
||||
node_modules
|
||||
|
||||
# logs
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# env
|
||||
.env
|
||||
.env.*
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.tsbuildinfo
|
||||
|
||||
# test output
|
||||
playwright-report
|
||||
coverage
|
||||
|
||||
# local
|
||||
*.local
|
||||
14
dashboards/ux-lab/bolt-ops-ui-kit/ACCEPTANCE_CHECKLIST.md
Normal file
14
dashboards/ux-lab/bolt-ops-ui-kit/ACCEPTANCE_CHECKLIST.md
Normal file
@ -0,0 +1,14 @@
|
||||
# Acceptance Checklist (PR Gate)
|
||||
|
||||
Your PR is acceptable only if all are true:
|
||||
|
||||
- Before push: `git status` is clean except for the intended app source changes.
|
||||
- Before push: review `git diff` and confirm no unrelated formatting/refactors.
|
||||
- No `console.log`.
|
||||
- No hardcoded colors (hex/rgb/hsl) anywhere.
|
||||
- No network calls.
|
||||
- Forbidden files are NOT committed: `.env*`, `.next/`, `node_modules/`, `.vercel/`.
|
||||
- All reusable components live in `src/components/**`.
|
||||
- Components do not import from `src/app/**`.
|
||||
- `pnpm run check` passes.
|
||||
- `pnpm run build` passes using `next build --webpack`.
|
||||
36
dashboards/ux-lab/bolt-ops-ui-kit/DESIGN_SYSTEM_BRIEF.md
Normal file
36
dashboards/ux-lab/bolt-ops-ui-kit/DESIGN_SYSTEM_BRIEF.md
Normal file
@ -0,0 +1,36 @@
|
||||
# Design System Brief (Must Follow)
|
||||
|
||||
These rules exist so this repo’s output is **production-reusable** across the ByteLyst workspace dashboards and product web apps.
|
||||
|
||||
## Non-negotiable rules
|
||||
|
||||
- No `console.log`.
|
||||
- No hardcoded API URLs.
|
||||
- No network calls in this repo (use mock data / local JSON / localStorage).
|
||||
- **No hardcoded colors**:
|
||||
- No hex (e.g. `#fff`)
|
||||
- No `rgb/rgba()`
|
||||
- No `hsl/hsla()`
|
||||
- No Tailwind arbitrary hex classes (e.g. `bg-[#123456]`)
|
||||
|
||||
## Token usage
|
||||
|
||||
- Use the shared token contract in `UX_TOKEN_CONTRACT.md`.
|
||||
- Components must reference CSS variables via Tailwind arbitrary values, e.g.:
|
||||
- `bg-[var(--ux-surface)]`
|
||||
- `text-[var(--ux-text)]`
|
||||
- `border-[var(--ux-border)]`
|
||||
|
||||
## Component architecture (reusability)
|
||||
|
||||
- Reusable components live in `src/components/`.
|
||||
- Pages under `src/app/**` should mostly compose components.
|
||||
- Components must NOT import from `src/app/**`.
|
||||
- Keep data mocks in `src/data/**`.
|
||||
|
||||
## Accessibility + UX
|
||||
|
||||
- Keyboard accessible (Tab/Shift+Tab, Enter/Space).
|
||||
- `Esc` closes dialogs/drawers.
|
||||
- Focus returns to the triggering control when overlays close.
|
||||
- Mobile usable.
|
||||
24
dashboards/ux-lab/bolt-ops-ui-kit/INTEGRATION_NOTES.md
Normal file
24
dashboards/ux-lab/bolt-ops-ui-kit/INTEGRATION_NOTES.md
Normal file
@ -0,0 +1,24 @@
|
||||
# Integration Notes (Read Me)
|
||||
|
||||
This repo is a UI/UX pattern source.
|
||||
|
||||
## Intended reuse
|
||||
|
||||
We will copy selected components from `src/components/**` into:
|
||||
|
||||
- shared dashboards (admin/tracker)
|
||||
- product web apps
|
||||
|
||||
## How to keep code copy-friendly
|
||||
|
||||
- Keep reusable logic in `src/lib/**` (pure TS, UI-agnostic where possible).
|
||||
- Keep data mocks in `src/data/**`.
|
||||
- Avoid tight coupling to route segments.
|
||||
- Prefer generic names: `DataTable`, `FiltersPanel`, `DetailsDrawer`, `EmptyState`.
|
||||
|
||||
## What will block adoption
|
||||
|
||||
- Any hardcoded colors
|
||||
- Network calls / real backend wiring
|
||||
- Components that only work inside a specific page due to imports from `src/app/**`
|
||||
- Heavy dependency additions
|
||||
121
dashboards/ux-lab/bolt-ops-ui-kit/PROMPT.md
Normal file
121
dashboards/ux-lab/bolt-ops-ui-kit/PROMPT.md
Normal file
@ -0,0 +1,121 @@
|
||||
# Bolt App 1 — Ops UI Kit (Micro-App)
|
||||
|
||||
Before you start: read and follow `DESIGN_SYSTEM_BRIEF.md`.
|
||||
|
||||
## Mission
|
||||
|
||||
Build a **UI/UX-rich** Next.js 16 micro-app called **Ops UI Kit** that showcases production-grade operations dashboard patterns. This app will later be cross-pollinated into `dashboards/admin-web` and `dashboards/tracker-web`.
|
||||
|
||||
## Scope / Safety
|
||||
|
||||
- Only change files in this repository.
|
||||
- **No backend / no network calls.** Use mock data and localStorage.
|
||||
- **No auth, no Cosmos, no Key Vault.**
|
||||
- **No `console.log`.**
|
||||
- **No hardcoded colors.** Define a small set of CSS variables in `src/app/globals.css` (e.g. `--ux-*`) and only use those + Tailwind utilities.
|
||||
- **Do not edit** any other repo folder.
|
||||
|
||||
## Stack requirements
|
||||
|
||||
- Next.js `16.1.x` (App Router)
|
||||
- React `19.x`
|
||||
- TypeScript strict
|
||||
- TailwindCSS v4
|
||||
- shadcn/ui-style components (Radix + Tailwind)
|
||||
- lucide-react icons
|
||||
- pnpm package manager
|
||||
|
||||
## App pages (required)
|
||||
|
||||
- `/` — overview landing + links to demos
|
||||
- `/table` — DataTable demo
|
||||
- `/filters` — filter builder demo
|
||||
- `/details` — drawers/modals demo
|
||||
- `/states` — loading/empty/error/success patterns
|
||||
- `/kpi` — KPI cards + tiny chart placeholders
|
||||
|
||||
## App shell UX (required)
|
||||
|
||||
- Left sidebar navigation (responsive)
|
||||
- Top bar with:
|
||||
- global search input (client-side; filters mock data)
|
||||
- theme toggle (light/dark)
|
||||
- help button showing shortcuts
|
||||
- Keyboard shortcuts:
|
||||
- `Cmd+K` opens command palette
|
||||
- `Esc` closes modal/drawer
|
||||
|
||||
## Demo requirements (high polish)
|
||||
|
||||
### 1) DataTable
|
||||
|
||||
Mock dataset (~80–120 rows) representing “incidents” or “webhook deliveries” with:
|
||||
|
||||
- `id`, `status`, `severity`, `service`, `createdAt`, `requestId`, `summary`, `tags`
|
||||
|
||||
Table must include:
|
||||
|
||||
- sorting
|
||||
- pagination
|
||||
- column visibility toggle
|
||||
- row selection + bulk actions bar
|
||||
- per-row actions menu:
|
||||
- copy `requestId`
|
||||
- copy row JSON
|
||||
- open details drawer
|
||||
- sticky header
|
||||
- expandable row details
|
||||
|
||||
### 2) Filter Builder
|
||||
|
||||
A filter panel supporting:
|
||||
|
||||
- faceted filters (status, severity, service)
|
||||
- date range (simple UI)
|
||||
- free-text search
|
||||
- active filter chips row
|
||||
- clear all
|
||||
- save/load presets (localStorage)
|
||||
|
||||
### 3) Details Drawer
|
||||
|
||||
Row click opens right-side drawer with tabs:
|
||||
|
||||
- Overview (key/value)
|
||||
- Raw JSON (pretty-printed)
|
||||
- Notes (editable, stored locally)
|
||||
|
||||
Focus rules:
|
||||
|
||||
- opening drawer moves focus inside
|
||||
- closing returns focus to triggering row
|
||||
|
||||
### 4) States Gallery
|
||||
|
||||
Reusable patterns for:
|
||||
|
||||
- skeleton loading
|
||||
- empty state with CTA
|
||||
- inline error banner with retry
|
||||
- toast notifications
|
||||
- destructive confirm dialog
|
||||
|
||||
## Deliverables
|
||||
|
||||
Create a complete app with:
|
||||
|
||||
- `package.json` scripts: `dev`, `check`, `build`, `lint`, `test`
|
||||
- `check` must run `tsc --noEmit` + `eslint`
|
||||
- `build` must run `next build --webpack`
|
||||
|
||||
## Verification
|
||||
|
||||
From the repo root:
|
||||
|
||||
- `pnpm install`
|
||||
- `pnpm run check`
|
||||
- `pnpm run build`
|
||||
|
||||
## Output expectation
|
||||
|
||||
Open a PR containing only this app. No other repo changes.
|
||||
5
dashboards/ux-lab/bolt-ops-ui-kit/REPO_SCOPING_RULES.md
Normal file
5
dashboards/ux-lab/bolt-ops-ui-kit/REPO_SCOPING_RULES.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Repo Scoping Rules
|
||||
|
||||
- Only modify files inside this repository.
|
||||
- Do not attempt to read or reference parent workspace paths.
|
||||
- If you believe a change is needed outside this repo, stop and ask.
|
||||
39
dashboards/ux-lab/bolt-ops-ui-kit/UX_TOKEN_CONTRACT.md
Normal file
39
dashboards/ux-lab/bolt-ops-ui-kit/UX_TOKEN_CONTRACT.md
Normal file
@ -0,0 +1,39 @@
|
||||
# UX Token Contract (Shared)
|
||||
|
||||
This repo must use the following CSS custom properties (tokens). Define them in `src/app/globals.css` under `:root` and optionally provide a `.dark` override.
|
||||
|
||||
## Core surfaces
|
||||
|
||||
- `--ux-bg`
|
||||
- `--ux-surface`
|
||||
- `--ux-surface-2`
|
||||
- `--ux-border`
|
||||
|
||||
## Text
|
||||
|
||||
- `--ux-text`
|
||||
- `--ux-text-muted`
|
||||
|
||||
## Brand / states
|
||||
|
||||
- `--ux-accent`
|
||||
- `--ux-accent-foreground`
|
||||
- `--ux-danger`
|
||||
- `--ux-warning`
|
||||
- `--ux-success`
|
||||
|
||||
## Focus + shadows
|
||||
|
||||
- `--ux-ring`
|
||||
- `--ux-shadow`
|
||||
|
||||
## Usage examples
|
||||
|
||||
- Background: `bg-[var(--ux-bg)]`
|
||||
- Card: `bg-[var(--ux-surface)] border border-[var(--ux-border)]`
|
||||
- Primary button: `bg-[var(--ux-accent)] text-[var(--ux-accent-foreground)]`
|
||||
- Muted text: `text-[var(--ux-text-muted)]`
|
||||
|
||||
## Integration note
|
||||
|
||||
When this repo’s components are copied into another app, we will map these variables to that app’s token system.
|
||||
27
dashboards/ux-lab/bolt-telemetry-explorer/.gitignore
vendored
Normal file
27
dashboards/ux-lab/bolt-telemetry-explorer/.gitignore
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
.next
|
||||
out
|
||||
node_modules
|
||||
|
||||
# logs
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# env
|
||||
.env
|
||||
.env.*
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.tsbuildinfo
|
||||
|
||||
# test output
|
||||
playwright-report
|
||||
coverage
|
||||
|
||||
# local
|
||||
*.local
|
||||
@ -0,0 +1,11 @@
|
||||
# Acceptance Checklist
|
||||
|
||||
- Before push: `git status` is clean except for the intended app source changes.
|
||||
- Before push: review `git diff` and confirm no unrelated formatting/refactors.
|
||||
- No `console.log`.
|
||||
- No hardcoded colors.
|
||||
- No network calls.
|
||||
- Forbidden files are NOT committed: `.env*`, `.next/`, `node_modules/`, `.vercel/`.
|
||||
- Components in `src/components/**`; no imports from `src/app/**`.
|
||||
- `pnpm run check` passes.
|
||||
- `pnpm run build` passes (`next build --webpack`).
|
||||
@ -0,0 +1,26 @@
|
||||
# Design System Brief (Must Follow)
|
||||
|
||||
These rules exist so this repo’s output is **production-reusable** across the ByteLyst workspace dashboards and product web apps.
|
||||
|
||||
## Non-negotiable rules
|
||||
|
||||
- No `console.log`.
|
||||
- No hardcoded API URLs.
|
||||
- No network calls in this repo.
|
||||
- **No hardcoded colors** (no hex/rgb/hsl).
|
||||
|
||||
## Token usage
|
||||
|
||||
- Use `UX_TOKEN_CONTRACT.md`.
|
||||
- Style via CSS variables (`--ux-*`).
|
||||
|
||||
## Component architecture
|
||||
|
||||
- Reusable components in `src/components/**`.
|
||||
- No imports from `src/app/**` inside components.
|
||||
- Mock data in `src/data/**`.
|
||||
|
||||
## UX
|
||||
|
||||
- Keyboard accessible.
|
||||
- Drawer/modal focus management.
|
||||
@ -0,0 +1,9 @@
|
||||
# Integration Notes
|
||||
|
||||
This repo is a pattern source for an observability-style telemetry explorer.
|
||||
|
||||
Keep it reusable by:
|
||||
|
||||
- Building generic primitives: `FacetFilter`, `FilterChipsRow`, `DetailsDrawer`, `JsonViewer`.
|
||||
- Keeping grouping/fingerprinting logic in `src/lib/**`.
|
||||
- Styling strictly via `--ux-*` tokens.
|
||||
76
dashboards/ux-lab/bolt-telemetry-explorer/PROMPT.md
Normal file
76
dashboards/ux-lab/bolt-telemetry-explorer/PROMPT.md
Normal file
@ -0,0 +1,76 @@
|
||||
# Bolt App 3 — Telemetry Explorer (Local-Only Micro-App)
|
||||
|
||||
Before you start: read and follow `DESIGN_SYSTEM_BRIEF.md`.
|
||||
|
||||
## Mission
|
||||
|
||||
Build a UI/UX-rich **Telemetry Explorer** Next.js micro-app that loads a local JSON dataset and provides a premium observability-console-like exploration experience. This is meant to inspire improvements in Admin “Client Logs”.
|
||||
|
||||
## Scope / Safety
|
||||
|
||||
- Only change files in this repository.
|
||||
- No network calls
|
||||
- No `console.log`
|
||||
- No hardcoded colors (CSS vars + Tailwind)
|
||||
|
||||
## Data source (required)
|
||||
|
||||
Include:
|
||||
|
||||
- `src/data/sample-events.json` with ~200 mock events
|
||||
|
||||
Event fields (keep consistent):
|
||||
|
||||
- `id`, `timestamp`, `productId`, `platform`, `osFamily`, `appVersion`, `eventType`, `module`, `eventName`, `requestId?`, `userId?`, `installId?`, `severity?`, `errorMessage?`, `metadata` (object)
|
||||
|
||||
## Routes
|
||||
|
||||
- `/` overview + stats
|
||||
- `/explore` main explorer
|
||||
- `/clusters` client-side error grouping
|
||||
|
||||
## Explorer UX (required)
|
||||
|
||||
### Filters
|
||||
|
||||
- Faceted filters: platform, eventType, module, eventName, severity
|
||||
- Date range (simple)
|
||||
- Free text search
|
||||
- Active filter chips + clear all
|
||||
- Save/load presets (localStorage)
|
||||
|
||||
### Results
|
||||
|
||||
- Table/list toggle
|
||||
- Row click opens detail drawer with tabs:
|
||||
- Overview
|
||||
- Raw JSON
|
||||
- Related (same requestId/installId)
|
||||
- Copy actions: copy requestId, copy JSON
|
||||
|
||||
### URL state
|
||||
|
||||
- Filters reflected in query params (shareable links)
|
||||
|
||||
## Clusters UX (required)
|
||||
|
||||
- Group by simple fingerprint: `eventName + errorMessage`
|
||||
- Show: count, lastSeen, sample message
|
||||
- Click cluster → list example events
|
||||
|
||||
## Deliverables
|
||||
|
||||
- Full Next.js app with scripts: `dev`, `check`, `build`
|
||||
- `build` must run `next build --webpack`
|
||||
|
||||
## Verification
|
||||
|
||||
From the repo root:
|
||||
|
||||
- `pnpm install`
|
||||
- `pnpm run check`
|
||||
- `pnpm run build`
|
||||
|
||||
## Output expectation
|
||||
|
||||
PR contains only this app.
|
||||
@ -0,0 +1,4 @@
|
||||
# Repo Scoping Rules
|
||||
|
||||
- Only modify files inside this repository.
|
||||
- If you believe a change is needed outside this repo, stop and ask.
|
||||
@ -0,0 +1,17 @@
|
||||
# UX Token Contract (Shared)
|
||||
|
||||
Define these CSS variables in `src/app/globals.css`:
|
||||
|
||||
- `--ux-bg`
|
||||
- `--ux-surface`
|
||||
- `--ux-surface-2`
|
||||
- `--ux-border`
|
||||
- `--ux-text`
|
||||
- `--ux-text-muted`
|
||||
- `--ux-accent`
|
||||
- `--ux-accent-foreground`
|
||||
- `--ux-danger`
|
||||
- `--ux-warning`
|
||||
- `--ux-success`
|
||||
- `--ux-ring`
|
||||
- `--ux-shadow`
|
||||
27
dashboards/ux-lab/bolt-timeline-studio/.gitignore
vendored
Normal file
27
dashboards/ux-lab/bolt-timeline-studio/.gitignore
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
.next
|
||||
out
|
||||
node_modules
|
||||
|
||||
# logs
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# env
|
||||
.env
|
||||
.env.*
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.tsbuildinfo
|
||||
|
||||
# test output
|
||||
playwright-report
|
||||
coverage
|
||||
|
||||
# local
|
||||
*.local
|
||||
@ -0,0 +1,11 @@
|
||||
# Acceptance Checklist
|
||||
|
||||
- Before push: `git status` is clean except for the intended app source changes.
|
||||
- Before push: review `git diff` and confirm no unrelated formatting/refactors.
|
||||
- No `console.log`.
|
||||
- No hardcoded colors.
|
||||
- No network calls.
|
||||
- Forbidden files are NOT committed: `.env*`, `.next/`, `node_modules/`, `.vercel/`.
|
||||
- Components in `src/components/**`; no imports from `src/app/**`.
|
||||
- `pnpm run check` passes.
|
||||
- `pnpm run build` passes (`next build --webpack`).
|
||||
@ -0,0 +1,27 @@
|
||||
# Design System Brief (Must Follow)
|
||||
|
||||
These rules exist so this repo’s output is **production-reusable** across the ByteLyst workspace dashboards and product web apps.
|
||||
|
||||
## Non-negotiable rules
|
||||
|
||||
- No `console.log`.
|
||||
- No hardcoded API URLs.
|
||||
- No network calls in this repo (use mock data / local JSON / localStorage).
|
||||
- **No hardcoded colors** (no hex/rgb/hsl or Tailwind arbitrary hex).
|
||||
|
||||
## Token usage
|
||||
|
||||
- Use the shared token contract in `UX_TOKEN_CONTRACT.md`.
|
||||
- Prefer `bg-[var(--ux-*)]` / `text-[var(--ux-*)]`.
|
||||
|
||||
## Component architecture (reusability)
|
||||
|
||||
- Reusable components live in `src/components/`.
|
||||
- Pages under `src/app/**` compose components.
|
||||
- Components must NOT import from `src/app/**`.
|
||||
|
||||
## Accessibility + UX
|
||||
|
||||
- Keyboard accessible.
|
||||
- `Esc` closes overlays.
|
||||
- Focus management for dialogs/drawers.
|
||||
@ -0,0 +1,9 @@
|
||||
# Integration Notes
|
||||
|
||||
This repo is a pattern source for timeline/scheduler UI.
|
||||
|
||||
Adoption expectations:
|
||||
|
||||
- Timeline primitives should live in `src/components/**` (grid, block, lane list, inspector).
|
||||
- Keep drag/resize math in `src/lib/**` so we can transplant it.
|
||||
- Use the shared `--ux-*` token contract.
|
||||
89
dashboards/ux-lab/bolt-timeline-studio/PROMPT.md
Normal file
89
dashboards/ux-lab/bolt-timeline-studio/PROMPT.md
Normal file
@ -0,0 +1,89 @@
|
||||
# Bolt App 2 — Timeline Studio (Micro-App)
|
||||
|
||||
Before you start: read and follow `DESIGN_SYSTEM_BRIEF.md`.
|
||||
|
||||
## Mission
|
||||
|
||||
Build a UI/UX-rich Next.js micro-app called **Timeline Studio** that demonstrates timeline/scheduler editing patterns (drag, resize, inspector). This should be reusable inspiration for ChronoMind timelines and routines UX.
|
||||
|
||||
## Scope / Safety
|
||||
|
||||
- Only change files in this repository.
|
||||
- No network calls; mock data + localStorage only
|
||||
- No `console.log`
|
||||
- No hardcoded colors; define CSS variables once and use Tailwind
|
||||
|
||||
## Stack
|
||||
|
||||
- Next.js 16 App Router
|
||||
- React 19
|
||||
- Tailwind v4
|
||||
- TypeScript strict
|
||||
- pnpm
|
||||
- lucide-react icons
|
||||
|
||||
## Routes
|
||||
|
||||
- `/` overview + recent plans
|
||||
- `/studio` main editor
|
||||
- `/export` JSON import/export
|
||||
|
||||
## Layout
|
||||
|
||||
- Left sidebar: list of “plans” (templates)
|
||||
- Main canvas: timeline grid
|
||||
- Right inspector: edit selected block
|
||||
|
||||
## Timeline interactions (must-have)
|
||||
|
||||
- Lanes (e.g. Work, Personal, Health)
|
||||
- Blocks can be:
|
||||
- created (button + click on grid)
|
||||
- selected
|
||||
- dragged to move
|
||||
- resized via left/right handles
|
||||
- Snap-to-grid increments (5 min)
|
||||
- Zoom levels (15m / 30m / 60m)
|
||||
- Keyboard:
|
||||
- `Esc` deselect
|
||||
- `Delete` remove selected
|
||||
- `Cmd+Z` undo (simple history stack)
|
||||
|
||||
## Inspector (must-have)
|
||||
|
||||
- Title
|
||||
- Start/end time
|
||||
- Lane
|
||||
- Tags
|
||||
- Notes
|
||||
|
||||
Persist in localStorage:
|
||||
|
||||
- plans list
|
||||
- blocks
|
||||
- zoom
|
||||
- last opened plan
|
||||
|
||||
## UX quality bar
|
||||
|
||||
- Clear selection states + resize handles
|
||||
- Good hit targets
|
||||
- Subtle animations
|
||||
- Empty state onboarding hints
|
||||
|
||||
## Deliverables
|
||||
|
||||
- Full Next.js app with scripts: `dev`, `check`, `build`
|
||||
- `build` must run `next build --webpack`
|
||||
|
||||
## Verification
|
||||
|
||||
From the repo root:
|
||||
|
||||
- `pnpm install`
|
||||
- `pnpm run check`
|
||||
- `pnpm run build`
|
||||
|
||||
## Output expectation
|
||||
|
||||
PR contains only this app.
|
||||
@ -0,0 +1,4 @@
|
||||
# Repo Scoping Rules
|
||||
|
||||
- Only modify files inside this repository.
|
||||
- If you believe a change is needed outside this repo, stop and ask.
|
||||
19
dashboards/ux-lab/bolt-timeline-studio/UX_TOKEN_CONTRACT.md
Normal file
19
dashboards/ux-lab/bolt-timeline-studio/UX_TOKEN_CONTRACT.md
Normal file
@ -0,0 +1,19 @@
|
||||
# UX Token Contract (Shared)
|
||||
|
||||
Use the same tokens as other UX Lab repos.
|
||||
|
||||
Define in `src/app/globals.css`:
|
||||
|
||||
- `--ux-bg`
|
||||
- `--ux-surface`
|
||||
- `--ux-surface-2`
|
||||
- `--ux-border`
|
||||
- `--ux-text`
|
||||
- `--ux-text-muted`
|
||||
- `--ux-accent`
|
||||
- `--ux-accent-foreground`
|
||||
- `--ux-danger`
|
||||
- `--ux-warning`
|
||||
- `--ux-success`
|
||||
- `--ux-ring`
|
||||
- `--ux-shadow`
|
||||
27
dashboards/ux-lab/lovable-design-tokens-playground/.gitignore
vendored
Normal file
27
dashboards/ux-lab/lovable-design-tokens-playground/.gitignore
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
.next
|
||||
out
|
||||
node_modules
|
||||
|
||||
# logs
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# env
|
||||
.env
|
||||
.env.*
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.tsbuildinfo
|
||||
|
||||
# test output
|
||||
playwright-report
|
||||
coverage
|
||||
|
||||
# local
|
||||
*.local
|
||||
@ -0,0 +1,11 @@
|
||||
# Acceptance Checklist
|
||||
|
||||
- Before push: `git status` is clean except for the intended app source changes.
|
||||
- Before push: review `git diff` and confirm no unrelated formatting/refactors.
|
||||
- No `console.log`.
|
||||
- No hardcoded colors.
|
||||
- No network calls.
|
||||
- Forbidden files are NOT committed: `.env*`, `.next/`, `node_modules/`, `.vercel/`.
|
||||
- Components in `src/components/**`; no imports from `src/app/**`.
|
||||
- `pnpm run check` passes.
|
||||
- `pnpm run build` passes (`next build --webpack`).
|
||||
@ -0,0 +1,19 @@
|
||||
# Design System Brief (Must Follow)
|
||||
|
||||
This repo is a tokens playground; it must strictly demonstrate token-driven UI.
|
||||
|
||||
## Non-negotiable rules
|
||||
|
||||
- No `console.log`.
|
||||
- No network calls.
|
||||
- **No hardcoded colors** (hex/rgb/hsl). Everything must be CSS variables.
|
||||
|
||||
## Token usage
|
||||
|
||||
- Use the shared token contract in `UX_TOKEN_CONTRACT.md`.
|
||||
- All UI must be driven by those variables.
|
||||
|
||||
## Component architecture
|
||||
|
||||
- Reusable components in `src/components/**`.
|
||||
- No imports from `src/app/**` inside components.
|
||||
@ -0,0 +1,9 @@
|
||||
# Integration Notes
|
||||
|
||||
This repo exists to validate token-driven UI patterns and provide a reusable component preview gallery.
|
||||
|
||||
Reusable parts we expect to transplant:
|
||||
|
||||
- contrast checker UI
|
||||
- component gallery layout
|
||||
- token pickers
|
||||
67
dashboards/ux-lab/lovable-design-tokens-playground/PROMPT.md
Normal file
67
dashboards/ux-lab/lovable-design-tokens-playground/PROMPT.md
Normal file
@ -0,0 +1,67 @@
|
||||
# Lovable App 2 — Design Tokens Playground (Micro-App)
|
||||
|
||||
Before you start: read and follow `DESIGN_SYSTEM_BRIEF.md`.
|
||||
|
||||
## Goal
|
||||
|
||||
Build a UI/UX-rich **Design Tokens Playground** micro-app that previews a token-driven design system and provides high-signal tooling to spot inconsistencies.
|
||||
|
||||
This app is meant for **visual QA** and cross-pollination.
|
||||
|
||||
## Constraints
|
||||
|
||||
- Only modify files in this repository.
|
||||
- No network calls
|
||||
- No `console.log`
|
||||
- No hardcoded colors (tokens only; define CSS variables and consume them)
|
||||
|
||||
## Pages (required)
|
||||
|
||||
- `/` Overview: theme switcher + token summary
|
||||
- `/colors` Color ramp preview + contrast checker UI
|
||||
- `/typography` Type scale preview
|
||||
- `/components` Component preview gallery
|
||||
- `/audit` “Hardcoded color detector” helper (basic UI tool)
|
||||
|
||||
## Key features
|
||||
|
||||
### Theme + token controls
|
||||
|
||||
- Theme toggle
|
||||
- Density toggle (comfortable/compact)
|
||||
- Radius slider (small/medium/large) affecting components
|
||||
|
||||
### Contrast checker
|
||||
|
||||
- Select foreground/background token
|
||||
- Show WCAG-ish pass/fail indicator (client-side)
|
||||
|
||||
### Component gallery
|
||||
|
||||
Preview:
|
||||
|
||||
- buttons
|
||||
- inputs
|
||||
- cards
|
||||
- alerts
|
||||
- tabs
|
||||
- table
|
||||
|
||||
### Audit helper (UI tool)
|
||||
|
||||
- Allow user to paste code snippets
|
||||
- Highlight hex colors / rgb() occurrences
|
||||
- Provide suggested token replacement list (heuristic)
|
||||
|
||||
## Deliverables
|
||||
|
||||
- Next.js 16 app
|
||||
- Tailwind v4
|
||||
- TypeScript strict
|
||||
- Scripts: `dev`, `check`, `build` (`next build --webpack`)
|
||||
|
||||
## Success criteria
|
||||
|
||||
- Extremely polished UI
|
||||
- Useful for designers/engineers
|
||||
- Self-contained and safe
|
||||
@ -0,0 +1,4 @@
|
||||
# Repo Scoping Rules
|
||||
|
||||
- Only modify files inside this repository.
|
||||
- If you believe a change is needed outside this repo, stop and ask.
|
||||
@ -0,0 +1,17 @@
|
||||
# UX Token Contract (Shared)
|
||||
|
||||
This playground must define and preview these tokens:
|
||||
|
||||
- `--ux-bg`
|
||||
- `--ux-surface`
|
||||
- `--ux-surface-2`
|
||||
- `--ux-border`
|
||||
- `--ux-text`
|
||||
- `--ux-text-muted`
|
||||
- `--ux-accent`
|
||||
- `--ux-accent-foreground`
|
||||
- `--ux-danger`
|
||||
- `--ux-warning`
|
||||
- `--ux-success`
|
||||
- `--ux-ring`
|
||||
- `--ux-shadow`
|
||||
27
dashboards/ux-lab/lovable-onboarding-flow/.gitignore
vendored
Normal file
27
dashboards/ux-lab/lovable-onboarding-flow/.gitignore
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
.next
|
||||
out
|
||||
node_modules
|
||||
|
||||
# logs
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# env
|
||||
.env
|
||||
.env.*
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.tsbuildinfo
|
||||
|
||||
# test output
|
||||
playwright-report
|
||||
coverage
|
||||
|
||||
# local
|
||||
*.local
|
||||
@ -0,0 +1,11 @@
|
||||
# Acceptance Checklist
|
||||
|
||||
- Before push: `git status` is clean except for the intended app source changes.
|
||||
- Before push: review `git diff` and confirm no unrelated formatting/refactors.
|
||||
- No `console.log`.
|
||||
- No hardcoded colors.
|
||||
- No network calls.
|
||||
- Forbidden files are NOT committed: `.env*`, `.next/`, `node_modules/`, `.vercel/`.
|
||||
- Components in `src/components/**`; no imports from `src/app/**`.
|
||||
- `pnpm run check` passes.
|
||||
- `pnpm run build` passes (`next build --webpack`).
|
||||
@ -0,0 +1,25 @@
|
||||
# Design System Brief (Must Follow)
|
||||
|
||||
This repo is an onboarding/settings UX pattern source.
|
||||
|
||||
## Non-negotiable rules
|
||||
|
||||
- No `console.log`.
|
||||
- No network calls.
|
||||
- No hardcoded colors (hex/rgb/hsl). Use CSS variables.
|
||||
|
||||
## Token usage
|
||||
|
||||
- Use `UX_TOKEN_CONTRACT.md`.
|
||||
|
||||
## Component architecture
|
||||
|
||||
- Reusable components in `src/components/**`.
|
||||
- Steps/pages in `src/app/**` compose components.
|
||||
- Components must NOT import from `src/app/**`.
|
||||
|
||||
## UX
|
||||
|
||||
- Great validation states.
|
||||
- Keyboard accessible.
|
||||
- Mobile-first responsive.
|
||||
@ -0,0 +1,12 @@
|
||||
# Integration Notes
|
||||
|
||||
This repo provides reusable onboarding and settings UX patterns.
|
||||
|
||||
Expected reusable components:
|
||||
|
||||
- wizard shell (progress, stepper)
|
||||
- validation + field components
|
||||
- review/summary page patterns
|
||||
- danger zone confirm patterns
|
||||
|
||||
All must use `--ux-*` tokens.
|
||||
67
dashboards/ux-lab/lovable-onboarding-flow/PROMPT.md
Normal file
67
dashboards/ux-lab/lovable-onboarding-flow/PROMPT.md
Normal file
@ -0,0 +1,67 @@
|
||||
# Lovable App 3 — Onboarding + Settings Wizard (Micro-App)
|
||||
|
||||
Before you start: read and follow `DESIGN_SYSTEM_BRIEF.md`.
|
||||
|
||||
## Goal
|
||||
|
||||
Build a best-in-class **onboarding + settings wizard** micro-app demonstrating premium UX patterns we can reuse across products.
|
||||
|
||||
## Constraints
|
||||
|
||||
- Only modify files in this repository.
|
||||
- No backend calls; localStorage only
|
||||
- No `console.log`
|
||||
- No hardcoded colors (CSS variables)
|
||||
|
||||
## Experience requirements (high polish)
|
||||
|
||||
### Onboarding flow
|
||||
|
||||
- Multi-step wizard (5–7 steps)
|
||||
- Progress indicator + step labels
|
||||
- Back/Next with validation
|
||||
- Optional “Skip for now” with confirm dialog
|
||||
- Autosave progress to localStorage
|
||||
|
||||
### Steps to include (example)
|
||||
|
||||
- Profile basics (name, timezone)
|
||||
- Preferences (theme, density)
|
||||
- Notifications (toggles)
|
||||
- Integrations (fake list, connect buttons)
|
||||
- Privacy level selector
|
||||
- Final review summary
|
||||
|
||||
### Settings area
|
||||
|
||||
After onboarding completes, show a settings dashboard with:
|
||||
|
||||
- profile card
|
||||
- preferences section
|
||||
- notification settings
|
||||
- danger zone (delete local profile) with confirm
|
||||
|
||||
### UX/accessibility
|
||||
|
||||
- Great empty/error/validation states
|
||||
- Keyboard accessible
|
||||
- Mobile-first responsive
|
||||
|
||||
## Routes
|
||||
|
||||
- `/` start/resume onboarding
|
||||
- `/onboarding` wizard
|
||||
- `/settings` settings dashboard
|
||||
|
||||
## Deliverables
|
||||
|
||||
- Next.js 16 App Router
|
||||
- Tailwind v4
|
||||
- TypeScript strict
|
||||
- Scripts: `dev`, `check`, `build` (`next build --webpack`)
|
||||
|
||||
## Success criteria
|
||||
|
||||
- Feels like a premium consumer app onboarding
|
||||
- Components reusable in other products
|
||||
- Safe and self-contained
|
||||
@ -0,0 +1,4 @@
|
||||
# Repo Scoping Rules
|
||||
|
||||
- Only modify files inside this repository.
|
||||
- If you believe a change is needed outside this repo, stop and ask.
|
||||
@ -0,0 +1,17 @@
|
||||
# UX Token Contract (Shared)
|
||||
|
||||
Define in `src/app/globals.css`:
|
||||
|
||||
- `--ux-bg`
|
||||
- `--ux-surface`
|
||||
- `--ux-surface-2`
|
||||
- `--ux-border`
|
||||
- `--ux-text`
|
||||
- `--ux-text-muted`
|
||||
- `--ux-accent`
|
||||
- `--ux-accent-foreground`
|
||||
- `--ux-danger`
|
||||
- `--ux-warning`
|
||||
- `--ux-success`
|
||||
- `--ux-ring`
|
||||
- `--ux-shadow`
|
||||
27
dashboards/ux-lab/lovable-ops-ui-kit/.gitignore
vendored
Normal file
27
dashboards/ux-lab/lovable-ops-ui-kit/.gitignore
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
.next
|
||||
out
|
||||
node_modules
|
||||
|
||||
# logs
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# env
|
||||
.env
|
||||
.env.*
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.tsbuildinfo
|
||||
|
||||
# test output
|
||||
playwright-report
|
||||
coverage
|
||||
|
||||
# local
|
||||
*.local
|
||||
11
dashboards/ux-lab/lovable-ops-ui-kit/ACCEPTANCE_CHECKLIST.md
Normal file
11
dashboards/ux-lab/lovable-ops-ui-kit/ACCEPTANCE_CHECKLIST.md
Normal file
@ -0,0 +1,11 @@
|
||||
# Acceptance Checklist
|
||||
|
||||
- Before push: `git status` is clean except for the intended app source changes.
|
||||
- Before push: review `git diff` and confirm no unrelated formatting/refactors.
|
||||
- No `console.log`.
|
||||
- No hardcoded colors.
|
||||
- No network calls.
|
||||
- Forbidden files are NOT committed: `.env*`, `.next/`, `node_modules/`, `.vercel/`.
|
||||
- Components in `src/components/**`; no imports from `src/app/**`.
|
||||
- `pnpm run check` passes.
|
||||
- `pnpm run build` passes (`next build --webpack`).
|
||||
20
dashboards/ux-lab/lovable-ops-ui-kit/DESIGN_SYSTEM_BRIEF.md
Normal file
20
dashboards/ux-lab/lovable-ops-ui-kit/DESIGN_SYSTEM_BRIEF.md
Normal file
@ -0,0 +1,20 @@
|
||||
# Design System Brief (Must Follow)
|
||||
|
||||
This repo is design-led, but must still be production-reusable.
|
||||
|
||||
## Non-negotiable rules
|
||||
|
||||
- No `console.log`.
|
||||
- No hardcoded API URLs.
|
||||
- No network calls.
|
||||
- **No hardcoded colors** (no hex/rgb/hsl). Use CSS variables.
|
||||
|
||||
## Token usage
|
||||
|
||||
- Use `UX_TOKEN_CONTRACT.md`.
|
||||
|
||||
## Component architecture
|
||||
|
||||
- Reusable components in `src/components/**`.
|
||||
- Pages in `src/app/**` compose components.
|
||||
- Components must NOT import from `src/app/**`.
|
||||
@ -0,0 +1,8 @@
|
||||
# Integration Notes
|
||||
|
||||
Design-led Ops UI kit. Prioritize consistent spacing, typography, and states.
|
||||
|
||||
For reuse:
|
||||
|
||||
- Components must be generic and live in `src/components/**`.
|
||||
- Use `--ux-*` tokens only.
|
||||
55
dashboards/ux-lab/lovable-ops-ui-kit/PROMPT.md
Normal file
55
dashboards/ux-lab/lovable-ops-ui-kit/PROMPT.md
Normal file
@ -0,0 +1,55 @@
|
||||
# Lovable App 1 — Ops UI Kit (Design-led Micro-App)
|
||||
|
||||
Before you start: read and follow `DESIGN_SYSTEM_BRIEF.md`.
|
||||
|
||||
## Goal
|
||||
|
||||
Create a visually polished **Ops Dashboard UI Kit** micro-app that feels like a premium admin console. This app is design-led: prioritize typography, spacing, states, and interaction polish.
|
||||
|
||||
## Scope constraints
|
||||
|
||||
- Only modify files in this repository.
|
||||
- No backend calls; mock data + localStorage only
|
||||
- No `console.log`
|
||||
- No hardcoded colors (use CSS variables)
|
||||
|
||||
## Must-have pages
|
||||
|
||||
- `/` overview landing
|
||||
- `/components` gallery of:
|
||||
- buttons, inputs, selects
|
||||
- badges, tabs
|
||||
- dialogs/drawers
|
||||
- toasts
|
||||
- empty/loading/error states
|
||||
- `/table` table demo with filters
|
||||
|
||||
## UX requirements
|
||||
|
||||
- Theme toggle (light/dark)
|
||||
- Keyboard accessibility:
|
||||
- Esc closes overlays
|
||||
- focus returns to triggering element
|
||||
- Micro-interactions:
|
||||
- hover, press, focus rings
|
||||
- subtle animation for drawer/dialog
|
||||
|
||||
## Table requirements
|
||||
|
||||
- Mock dataset: incidents
|
||||
- Sort + filter + pagination
|
||||
- Row actions menu
|
||||
- Details drawer with tabs
|
||||
|
||||
## Deliverables
|
||||
|
||||
- Next.js 16 App Router app
|
||||
- Tailwind v4
|
||||
- TypeScript strict
|
||||
- Scripts: `dev`, `check`, `build` (build uses `next build --webpack`)
|
||||
|
||||
## Success criteria
|
||||
|
||||
- Looks and feels premium
|
||||
- Fully self-contained
|
||||
- Ready to copy components into other dashboards
|
||||
@ -0,0 +1,4 @@
|
||||
# Repo Scoping Rules
|
||||
|
||||
- Only modify files inside this repository.
|
||||
- If you believe a change is needed outside this repo, stop and ask.
|
||||
17
dashboards/ux-lab/lovable-ops-ui-kit/UX_TOKEN_CONTRACT.md
Normal file
17
dashboards/ux-lab/lovable-ops-ui-kit/UX_TOKEN_CONTRACT.md
Normal file
@ -0,0 +1,17 @@
|
||||
# UX Token Contract (Shared)
|
||||
|
||||
Define in `src/app/globals.css`:
|
||||
|
||||
- `--ux-bg`
|
||||
- `--ux-surface`
|
||||
- `--ux-surface-2`
|
||||
- `--ux-border`
|
||||
- `--ux-text`
|
||||
- `--ux-text-muted`
|
||||
- `--ux-accent`
|
||||
- `--ux-accent-foreground`
|
||||
- `--ux-danger`
|
||||
- `--ux-warning`
|
||||
- `--ux-success`
|
||||
- `--ux-ring`
|
||||
- `--ux-shadow`
|
||||
Loading…
Reference in New Issue
Block a user