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-conventions → server-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 |