Oliver Hughes
@oliver_hughes • 1 weeks ago
Convert a one-line feature request into an agent-ready spec with testable acceptance criteria, file boundaries, verification commands and stop conditions.
requestcontext{{request}}{{context}}request: add dark mode to the dashboard, it should remember the user's choice context: Vite + React 19 + Tailwind CSS v4, no state library. User settings are saved through PATCH /api/me/preferences (stored in a JSON column). Dashboard pages live in src/pages/dashboard; shared layout in src/components/AppShell.tsx; global CSS in src/index.css. Tests: Vitest + Testing Library (`pnpm test`), Playwright smoke tests in e2e/ (`pnpm e2e`).
AppShell.AppShell header.dark class to , and the dashboard renders with dark styles.PATCH /api/me/preferences { "theme": "light" | "dark" | "system" } and restored after login on another browser.localStorage and applied by an inline script in index.html before React mounts, so there's no light flash on reload.src/index.css, index.html, src/components/AppShell.tsx, a new src/theme/ module, and dashboard components that hard-code colors.theme key.src/index.css.`bash`html.dark is present.