From harness-claude
Renders React entirely client-side for interactive SPAs like dashboards, admin tools, and prototypes where SEO is unnecessary. Covers Vite setup, React Router, and performance mitigations.
npx claudepluginhub intense-visions/harness-engineering --plugin harness-claudeThis skill uses the workspace's default tool permissions.
> Render React entirely in the browser for highly interactive single-page applications
Builds React 19 components and Next.js 15 apps with responsive layouts, client-side state management using Zustand, and server components. Optimizes performance, accessibility, and data fetching.
Pre-renders React components on the server with Next.js Pages Router, Remix loaders, or Express for SEO, fast initial loads, and per-request personalization on public pages.
Builds React 19 components, Next.js 15 apps, responsive layouts, and client-side state with Zustand or React Query. Optimizes performance and accessibility for UI development and fixes.
Share bugs, ideas, or general feedback.
Render React entirely in the browser for highly interactive single-page applications
createRoot:
import { createRoot } from 'react-dom/client';
createRoot(document.getElementById('root')!).render(<App />);
index.html with a single <div id="root"> from any static host.index.html for client-side routing.Client-side rendering (CSR) sends an empty HTML shell to the browser; React builds the DOM entirely in JavaScript. The advantages are simplicity (no server) and rich interactivity; the disadvantages are slower Time to First Contentful Paint (FCP) and poor SEO.
When CSR is appropriate:
Performance concerns:
React.lazy + route-based splitting), tree-shaking, and CDN cachingVersus SSR/SSG: If public SEO matters or First Contentful Paint is critical, use a framework with SSR (Next.js, Remix) or static generation instead.
https://patterns.dev/react/client-side-rendering