tanstack-start-migration

Installation
SKILL.md

LLM reference: Fetch llms.txt for the TanStack documentation index. Human docs: Migrate from Next.js.

Next.js → TanStack Start Migration

Focus: mental model shift, data handling, and routing. TanStack Start = TanStack Router + Vite (+ Nitro for FMC deployment). No Next.js async server components in route files. Optional experimental RSC: tanstack-start-conventionsserver-components.md.

After the mechanical migration, apply FMC stack skills: tanstack-start-conventions, tanstack-start-auth.

Critical mental model (read first)

TanStack Start is isomorphic by default. Components and loaders run on both server and client unless you isolate server-only logic in createServerFn. This is the opposite of Next.js Server Components (server-only by default). Experimental RSC exists but is opt-in — see server-components.md.

Next.js habit TanStack Start reality
Async server component + await db... Wrong — component code runs on client after navigation
'use server' / 'use client' Remove both — use createServerFn for server-only
getServerSideProps always on server Route loader runs on server or client (soft nav)
Direct DB/fs in loader Wrap in createServerFn; loader calls the fn
Installs
23
First Seen
Jun 5, 2026
tanstack-start-migration — fixmyberlin/fixmyskills