web-frontend
Installation
SKILL.md
Web app frontend (apps/web)
When to use: apps/web UI — routes, @repo/ui, TanStack Start server functions and collections, forms (useForm with createFormSubmitHandler + fieldErrorsAsStrings when Zod validation errors should appear on fields), Tailwind layout rules, design-system updates, and useEffect / useMountEffect policy.
Legacy UI reference
- Before building new UI, inspect the old v1 UI/components and product patterns as a reference when relevant.
- Reuse as much as possible when the old implementation is still solid.
- Do not copy v1 UI blindly; review it critically and improve it to match v2 conventions, architecture, and quality expectations when needed.
React 19
The project uses React 19. Follow modern patterns and avoid deprecated APIs:
- No
forwardRef—refis a regular prop in React 19. Declare it in the props type and destructure it directly. - No
ElementRef— useReact.ComponentRef<typeof SomeComponent>instead (theElementRefalias is deprecated). - No gratuitous
useMemo/useCallback/React.memo— the React Compiler (enabled in the build) auto-memoizes. Only add manual memoization when profiling shows a concrete bottleneck; remove existing wrappers when they have no measured benefit. - Prefer
use()for consuming promises and context where appropriate.