What problem does it solve? Adding authentication to a React single-page application requires wiring up providers, guarding routes, handling loading states, and managing session tokens, and small mistakes like missing the isLoaded guard or using the wrong environment variable prefix cause subtle bugs. ## Core Features & Use Cases - ClerkProvider Setup: Configure @clerk/react in a Vite or CRA app with the correct VITE_CLERK_PUBLISHABLE_KEY environment variable. - Auth Hooks: Use useAuth, useUser, and useClerk with proper isLoaded guards to read sign-in state, user profiles, and session tokens. - Protected Routes & Custom Flows: Build React Router v6/v7 protected routes and custom sign-in/sign-up forms with useSignIn and useSignUp. - Use Case: You have a React SPA with React Router and need /dashboard and /settings accessible only to signed-in users, with everyone else redirected to /sign-in. ## Quick Start Set up Clerk authentication in my Vite React app with ClerkProvider, a protected dashboard route, and a custom sign-in form.