Methodologygeneric

tanstack-integration-best-practices

Best practices for integrating TanStack Query with TanStack Router and TanStack Start. Patterns for full-stack data flow, SSR, and caching coordination.

deckardger/tanstack-agent-skills
View source

Install

npx skills add https://github.com/deckardger/tanstack-agent-skills --skill tanstack-integration-best-practices

Use with your agent

ClaudeCursorOpenAIGemini

Install the tanstack-integration-best-practices skill, then use it as build context. Run: npx skills add https://github.com/deckardger/tanstack-agent-skills --skill tanstack-integration-best-practices. Then read the installed skill.md and follow its guidance to build or refactor my project.

TanStack Integration Best Practices

Guidelines for integrating TanStack Query, Router, and Start together effectively. These patterns ensure optimal data flow, caching coordination, and type safety across the stack.

When to Apply

  • Setting up a new TanStack Start project
  • Integrating TanStack Query with TanStack Router
  • Configuring SSR with query hydration
  • Coordinating caching between router and query
  • Setting up type-safe data fetching patterns

Rule Categories by Priority

PriorityCategoryRulesImpact
CRITICALSetup3 rulesFoundational configuration
CRITICALSSR Integration1 ruleRouter + Query SSR setup
HIGHData Flow4 rulesCorrect data fetching patterns
MEDIUMCaching3 rulesPerformance optimization
MEDIUMSSR2 rulesAdditional SSR patterns

Quick Reference

Setup (Prefix: setup-)

  • setup-query-client-context — Pass QueryClient through router context
  • setup-provider-wrapping — Correctly wrap with QueryClientProvider
  • setup-stale-time-coordination — Coordinate staleTime between router and query

Data Flow (Prefix: flow-)

  • flow-loader-query-pattern — Use loaders with ensureQueryData
  • flow-suspense-query-component — Use useSuspenseQuery in components
  • flow-mutations-invalidation — Coordinate mutations with query invalidation
  • flow-server-functions-queries — Use server functions for query functions

Caching (Prefix: cache-)

  • cache-single-source — Let TanStack Query manage caching
  • cache-preload-coordination — Coordinate preloading between router and query
  • cache-invalidation-patterns — Unified invalidation patterns

SSR Integration (Prefix: ssr-)

  • ssr-dehydrate-hydrate — Use setupRouterSsrQueryIntegration for automatic SSR

Additional SSR (Prefix: ssr-)

  • ssr-per-request-client — Create QueryClient per request
  • ssr-streaming-queries — Handle streaming with queries

How to Use

Each rule file in the rules/ directory contains:

  1. Explanation — Why this pattern matters
  2. Bad Example — Anti-pattern to avoid
  3. Good Example — Recommended implementation
  4. Context — When to apply or skip this rule

Full Reference

See individual rule files in rules/ directory for detailed guidance and code examples.