← ClaudeAtlas

tanstack-router-patternslisted

Auto-enforce TanStack Router file-based routing conventions. Activates when creating routes, configuring navigation, handling route params, or working with search params in React SPA applications.
smicolon/ai-kit · ★ 3 · AI & Automation · score 67
Install: claude install-skill smicolon/ai-kit
# TanStack Router Patterns This skill enforces TanStack Router best practices for file-based routing in React SPA applications. ## Route File Naming Conventions | Pattern | Example | URL Path | Purpose | |---------|---------|----------|---------| | `__root.tsx` | `routes/__root.tsx` | - | Root layout, wraps all routes | | `index.tsx` | `routes/index.tsx` | `/` | Index route | | `about.tsx` | `routes/about.tsx` | `/about` | Static segment | | `posts.tsx` | `routes/posts.tsx` | `/posts` | Layout route (has `<Outlet />`) | | `posts.index.tsx` | `routes/posts.index.tsx` | `/posts` | Posts index (nested in layout) | | `posts.$postId.tsx` | `routes/posts.$postId.tsx` | `/posts/:postId` | Dynamic parameter | | `posts_.$postId.edit.tsx` | `routes/posts_.$postId.edit.tsx` | `/posts/:postId/edit` | Pathless parent layout | | `_auth.tsx` | `routes/_auth.tsx` | - | Pathless layout (no URL segment) | | `_auth.login.tsx` | `routes/_auth.login.tsx` | `/login` | Child of pathless layout | | `(marketing)/` | `routes/(marketing)/about.tsx` | `/about` | Route group (organization only) | | `$.tsx` | `routes/$.tsx` | `/*` | Catch-all/splat route | ## Route File Structure ### Basic Route ```typescript // routes/about.tsx import { createFileRoute } from '@tanstack/react-router' export const Route = createFileRoute('/about')({ component: AboutPage, }) function AboutPage() { return <div>About Page</div> } ``` ### Route with Loader ```typescript // routes/posts.$postId.tsx import { createF