tanstack-start

TanStack Start is a full-stack React framework built on TanStack Router + Vite + Nitro. It provides file-based routing, server functions (RPC), SSR/SPA/static modes, and deploys anywhere (Cloudflare, Netlify, Vercel, Node, Bun).

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "tanstack-start" with this command: npx skills add wcygan/dotfiles/wcygan-dotfiles-tanstack-start

TanStack Start

TanStack Start is a full-stack React framework built on TanStack Router + Vite + Nitro. It provides file-based routing, server functions (RPC), SSR/SPA/static modes, and deploys anywhere (Cloudflare, Netlify, Vercel, Node, Bun).

Core API Quick Reference

API Purpose

createFileRoute('/path')

Define a route with loader, component, head

createRootRoute() / createRootRouteWithContext()

Root layout route

createRouter({ routeTree, context })

App router instance

createServerFn({ method: 'GET'|'POST' })

Server-only RPC function

createMiddleware()

Request or function middleware

useSession()

Cookie-based server session

Route.useLoaderData()

Access route loader return value

useNavigate()

Programmatic navigation

<Link to="/path">

Type-safe navigation link

redirect({ to, throw: true })

Redirect (throw inside loader/beforeLoad)

notFound({ throw: true })

Trigger 404 boundary

Minimal Project Structure

src/ routes/ __root.tsx # Root layout (shellComponent when SSR disabled) index.tsx # / about.tsx # /about posts/ $postId.tsx # /posts/:postId routeTree.gen.ts # Auto-generated (never edit) router.tsx # createRouter() entry client.tsx # Client entry (StartClient) ssr.tsx # SSR handler app.config.ts # tanstackStart() vite plugin config

File-Based Routing Key Conventions

  • . in filename → / path separator (e.g., posts.index.tsx → /posts/ )

  • $param → dynamic segment

  • _layout → pathless layout (no URL segment)

  • (group) → route group (no URL impact)

  • index.tsx → index route for a directory

  • *.lazy.tsx → code-split lazy route

Core Dependencies

{ "@tanstack/react-start": "latest", "@tanstack/react-router": "latest", "react": "^19.0.0", "vite": "^6.0.0", "vinxi": "latest" }

References

  • Documentation URL Map — fetch live docs via WebFetch

  • Project Setup — scaffold, vite.config, tsconfig, router.tsx

  • Routing & Navigation — file conventions, Link, hooks

  • Data Loading — loaders, preloading, staleTime

  • Server Functions — createServerFn, validation, errors

  • Middleware — request/function middleware, context, global

  • Server Routes — API routes, HTTP handlers, dynamic params

  • Execution Model — isomorphic code, server/client boundaries

  • SSR Modes — selective SSR, SPA, static prerendering, ISR

  • Authentication — sessions, route protection, OAuth

  • Environment Variables — VITE_ prefix, .env, type safety

  • Import Protection — server/client enforcement, markers

  • Tailwind & Styling — v4 setup, CSS imports

  • SEO & Head — meta, OG, structured data, sitemaps

  • Hosting & Deployment — Cloudflare, Netlify, Vercel

  • Error Handling — boundaries, notFound, hydration errors

  • React Query & tRPC — integration patterns

  • Database Patterns — DB access, recommended providers

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

ux-review

No summary provided by upstream source.

Repository SourceNeeds Review
General

business-review

No summary provided by upstream source.

Repository SourceNeeds Review
General

zellij-guide

No summary provided by upstream source.

Repository SourceNeeds Review
General

api-workshop

No summary provided by upstream source.

Repository SourceNeeds Review