React Router

React Router framework mode builds the browser application and its server-rendering code, but it still needs a server to receive requests. Nitro provides that server. Workflow SDK integrates with Nitro to add the durable workflow routes and build artifacts.

The three pieces share one Vite build:

  1. React Router builds your routes, loaders, actions, and browser assets.
  2. Nitro runs the React Router request handler and any routes in server/routes.
  3. Workflow SDK finds files with "use workflow" and "use step", then adds its runtime routes to Nitro.

Choose the guide that matches your React Router major version:

These guides require Nitro v3. Nitro v2 does not provide the Vite environment integration used by this setup.

What the bridge does

The setup adds a small server/ssr.ts file. It turns React Router's generated server build into a standard Fetch API handler that Nitro can run. The Vite config then points Nitro's server and public output at the same build directory React Router uses.

This is configuration in your application, not a separate React Router adapter. Your React Router routes remain React Router routes, while Nitro owns the HTTP server and Workflow SDK uses Nitro's lifecycle and routing.