# Frontend Structure Rules Validation rules for future frontend checks: - Page components must not define shared API request/response types. - Route definitions must live under `routes/`. - API clients must live under `api/`. - Plugin bridge contracts must live under `contracts/`. - Validation schemas must live under `schemas/`. - Visual theme tokens, shared surface styles, and background behavior must live under `theme/`, and `theme/README.md` must document the active style contract. - Full-workspace magical ultimate-effect behavior must live in `components/MagicalParticleLayer.tsx` and be mounted from shared shell chrome, not copied into individual pages. - Shared utilities must live under `utils/`.