tanstack-start-best-practices

tanstack-start-best-practices

TanStack Start best practices for full-stack React applications. Server functions, middleware, SSR, authentication, and deployment patterns. Activate when building full-stack apps with TanStack Start.

2звезд
1форков
Обновлено 1/21/2026
SKILL.md
readonlyread-only
name
tanstack-start-best-practices
description

TanStack Start best practices for full-stack React applications. Server functions, middleware, SSR, authentication, and deployment patterns. Activate when building full-stack apps with TanStack Start.

TanStack Start Best Practices

Comprehensive guidelines for implementing TanStack Start patterns in full-stack React applications. These rules cover server functions, middleware, SSR, authentication, and deployment.

When to Apply

  • Creating server functions for data mutations
  • Setting up middleware for auth/logging
  • Configuring SSR and hydration
  • Implementing authentication flows
  • Handling errors across client/server boundary
  • Organizing full-stack code
  • Deploying to various platforms

Rule Categories by Priority

Priority Category Rules Impact
CRITICAL Server Functions 5 rules Core data mutation patterns
CRITICAL Security 4 rules Prevents vulnerabilities
HIGH Middleware 4 rules Request/response handling
HIGH Authentication 4 rules Secure user sessions
MEDIUM API Routes 1 rule External endpoint patterns
MEDIUM SSR 6 rules Server rendering patterns
MEDIUM Error Handling 3 rules Graceful failure handling
MEDIUM Environment 1 rule Configuration management
LOW File Organization 3 rules Maintainable code structure
LOW Deployment 2 rules Production readiness

Quick Reference

Server Functions (Prefix: sf-)

  • sf-create-server-fn — Use createServerFn for server-side logic
  • sf-input-validation — Always validate server function inputs
  • sf-method-selection — Choose appropriate HTTP method
  • sf-error-handling — Handle errors in server functions
  • sf-response-headers — Customize response headers when needed

Security (Prefix: sec-)

  • sec-validate-inputs — Validate all user inputs with schemas
  • sec-auth-middleware — Protect routes with auth middleware
  • sec-sensitive-data — Keep secrets server-side only
  • sec-csrf-protection — Implement CSRF protection for mutations

Middleware (Prefix: mw-)

  • mw-request-middleware — Use request middleware for cross-cutting concerns
  • mw-function-middleware — Use function middleware for server functions
  • mw-context-flow — Properly pass context through middleware
  • mw-composability — Compose middleware effectively

Authentication (Prefix: auth-)

  • auth-session-management — Implement secure session handling
  • auth-route-protection — Protect routes with beforeLoad
  • auth-server-functions — Verify auth in server functions
  • auth-cookie-security — Configure secure cookie settings

API Routes (Prefix: api-)

  • api-routes — Create API routes for external consumers

SSR (Prefix: ssr-)

  • ssr-data-loading — Load data appropriately for SSR
  • ssr-hydration-safety — Prevent hydration mismatches
  • ssr-streaming — Implement streaming SSR for faster TTFB
  • ssr-selective — Apply selective SSR when beneficial
  • ssr-prerender — Configure static prerendering and ISR

Environment (Prefix: env-)

  • env-functions — Use environment functions for configuration

Error Handling (Prefix: err-)

  • err-server-errors — Handle server function errors
  • err-redirects — Use redirects appropriately
  • err-not-found — Handle not-found scenarios

File Organization (Prefix: file-)

  • file-separation — Separate server and client code
  • file-functions-file — Use .functions.ts pattern
  • file-shared-validation — Share validation schemas

Deployment (Prefix: deploy-)

  • deploy-env-config — Configure environment variables
  • deploy-adapters — Choose appropriate deployment adapter

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.

You Might Also Like

Related Skills

coding-agent

coding-agent

179Kdev-codegen

Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.

add-uint-support

add-uint-support

97Kdev-codegen

Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.

at-dispatch-v2

at-dispatch-v2

97Kdev-codegen

Convert PyTorch AT_DISPATCH macros to AT_DISPATCH_V2 format in ATen C++ code. Use when porting AT_DISPATCH_ALL_TYPES_AND*, AT_DISPATCH_FLOATING_TYPES*, or other dispatch macros to the new v2 API. For ATen kernel files, CUDA kernels, and native operator implementations.

skill-writer

skill-writer

97Kdev-codegen

Guide users through creating Agent Skills for Claude Code. Use when the user wants to create, write, author, or design a new Skill, or needs help with SKILL.md files, frontmatter, or skill structure.

Implements JavaScript classes in C++ using JavaScriptCore. Use when creating new JS classes with C++ bindings, prototypes, or constructors.

Creates JavaScript classes using Bun's Zig bindings generator (.classes.ts). Use when implementing new JS APIs in Zig with JSC integration.