# Framework Mode Framework Mode is React Router's full-stack mode. It uses the React Router Vite plugin, route config in `app/routes.ts`, route modules, generated route types, and rendering strategies such as SSR, SPA mode, and pre-rendering. Use this reference after the main skill identifies a Framework Mode app. ## Read the Local Docs by Mode Start with: ```txt react-router/docs/start/modes.md react-router/docs/start/framework/index.md ``` Then use the Framework docs under: ```txt react-router/docs/start/framework/ ``` Those files cover installation, routing, route modules, data loading, actions, navigation, pending UI, rendering, deploying, and testing. For task-specific details, read relevant files in: ```txt react-router/docs/how-to/ react-router/docs/explanation/ ``` Always check the `[MODES: framework, ...]` marker in a doc before applying it. ## Framework Shape Examples usually assume the default `appDirectory` of `app`. Check `react-router.config.ts` before assuming exact paths. Look for these files and conventions: ```txt react-router.config.ts app/root.tsx app/routes.ts app/routes/**/*.tsx route modules importing from ./+types/... ``` Typical route module: ```tsx import type { Route } from "./+types/product"; export async function loader({ params }: Route.LoaderArgs) { return { product: await getProduct(params.productId) }; } export default function Product({ loaderData }: Route.ComponentProps) { return