- name
- lumina-frontend-ui
- description
- Build, refine, and debug the React/Vite frontend for Lumina. Use when editing files under client/src or client/package.json, changing chat UX, landing page content, auth flows, routing, theme behavior, markdown rendering, animations, responsive layout, or frontend API wiring.
# Lumina Frontend UI
## Overview
Use this skill for frontend tasks in `client/`. Keep changes aligned with Lumina's existing visual language: animated, polished, content-rich, and responsive rather than generic dashboard UI.
## Load The Right Reference
- Read `references/component-map.md` before editing when you need to locate the right page, component, or client-side service.
- Read `references/validation.md` before finishing when frontend behavior, build health, or API coupling changed.
## Work The Frontend Deliberately
- Start from the user-facing entry point, then trace inward. For chat issues this usually means `client/src/pages/Home.tsx` plus `client/src/components/ChatArea.tsx` and `client/src/services/api.ts`.
- Keep route-level changes consistent with `client/src/App.tsx`.
- Prefer focused edits to the page or component that owns the behavior instead of broad global rewrites.
- Treat `client/src/pages/LandingPage.tsx` as intentionally branded and heavily customized. Preserve its personality unless the task explicitly asks for a redesign.
- Keep responsive behavior intact on mobile and desktop.
- Keep markdown, math, and citation rendering working when changing chat output.
## Coordinate With The Backend Carefully
- If a frontend change depends on a new request shape, endpoint, or response contract, update the backend and `openapi.yaml` in the same task when feasible.
- If the bug is really caused by retrieval, citations, or chat response composition, switch to `lumina-rag-knowledge` or `lumina-backend-api` instead of forcing a frontend-only patch.
## Finish With Real Validation
- Run `npm run build` in `client/` after meaningful frontend changes.
- Treat `npm test` in `client/` as a placeholder, not as evidence of coverage.
- Call out any unverified browser behavior if you could not run the app interactively.
GitHub에서 보기