| name | vite-tanstack |
| description | TanStack (Router/Query/Form/Table) configuration guide for Vite + React projects. Covers Vite plugin setup, main.tsx registration, DevTools configuration, and editor settings. Use when setting up or reviewing TanStack config in a Vite project. Triggers on: vite-tanstack, tanstack config, tanstack router setup, tanstack query setup, tanstack form setup, tanstack table setup. |
Vite + TanStack Configuration Guide
Provides configuration references for TanStack libraries in a Vite + React + TypeScript project.
Modules
Four optional modules — load only what's needed:
| Module | What it covers |
|---|
| router | Vite plugin, createRouter, RouterProvider, type registration, VSCode settings |
| query | QueryClient init, QueryClientProvider |
| form | Form provider setup |
| table | react-table initialization |
All modules share a unified DevTools setup via @tanstack/react-devtools + @tanstack/devtools-vite.
Argument Parsing
From $ARGUMENTS:
- Module names:
router, query, form, table (space-separated, any combination)
all — load all four modules
- No arguments — ask user which modules they need using AskUserQuestion (multiSelect)
Examples:
/vite-tanstack router query → load router.md + query.md
/vite-tanstack all → load all four references
/vite-tanstack → ask which modules are needed
Shared Configuration
Package Dependencies
dependencies:
@tanstack/react-devtools
@tanstack/react-router (if router)
@tanstack/react-router-devtools (if router)
@tanstack/react-query (if query)
@tanstack/react-query-devtools (if query)
@tanstack/react-form (if form)
@tanstack/react-form-devtools (if form)
@tanstack/react-table (if table)
devDependencies:
@tanstack/devtools-vite
@tanstack/router-plugin (if router)
Vite Plugin: Unified DevTools
In vite.config.ts, always register the devtools plugin:
import { devtools } from '@tanstack/devtools-vite';
export default defineConfig({
plugins: [
devtools({
removeDevtoolsOnBuild: true,
}),
],
});
main.tsx: TanStackDevtools Component
In main.tsx, the TanStackDevtools component wraps all module-specific devtools panels as plugins:
import { TanStackDevtools } from '@tanstack/react-devtools';
<TanStackDevtools
plugins={[
// Add each module's devtools panel as a plugin here
// See individual module references for specifics
]}
/>
Component nesting order: QueryClientProvider wraps TanStackDevtools + RouterProvider. Each module reference shows its specific position.
Module References
Load these based on requested modules:
Compliance Checklist
When reviewing or writing TanStack config code, verify: