start-core/execution-model

Manage isomorphic execution boundaries in TanStack Start across server and client.

Updated Apr 2, 2026
One-click install
npx skills add https://github.com/abereghici/skills --skill start-core-execution-model-abereghici
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: start-core/execution-model
Source: https://github.com/abereghici/skills/tree/main/vendor/tanstack-router/packages/start-client-core/skills/start-core/execution-model
Command: npx skills add https://github.com/abereghici/skills --skill start-core-execution-model-abereghici

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provide a unified isomorphic execution model for TanStack Start, clarifying where code runs (server vs client) and how to enforce environment boundaries to prevent leaks.

Core Features & Use Cases

  • createServerFn, createServerOnlyFn, createClientOnlyFn, createIsomorphicFn APIs for controlled execution
  • ClientOnly component and useHydrated hook for hydration-aware behavior
  • Environment variable safety guidance: VITE_ prefix handling and server-side access rules
  • Isomorphic route loaders and data fetching across SSR and client navigation

Quick Start

Install and integrate TanStack Start features to enforce environment boundaries in your app

Frequently Asked Questions about start-core/execution-model

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I handle isomorphic execution boundaries between server and client in TanStack Start?

Isomorphic execution boundaries in TanStack Start are handled using createIsomorphicFn, createServerFn, createServerOnlyFn, and createClientOnlyFn APIs to enforce where code runs and prevent environment leaks.

How do I safely access environment variables during SSR without leaking secrets to the client?

Environment variable safety during SSR requires enforcing server-side access rules and using the VITE_ prefix for variables exposed to the client, preventing sensitive server-only values from leaking into client bundles.

What is the best way to share route loaders and data fetching logic across SSR and client navigation?

Sharing route loaders across SSR and client navigation is achieved by applying isomorphic execution functions, allowing data fetching logic to run safely on the server initially and hydrate on the client.

Does TanStack Start provide built-in hydration-aware components for client-only rendering?

TanStack Start supports hydration-aware rendering through the ClientOnly component and the useHydrated hook, which control when client-specific UI mounts after server-side hydration completes.

When should I use createServerOnlyFn versus createIsomorphicFn in a TanStack Start project?

Use createServerOnlyFn to strictly block code from running on the client, while createIsomorphicFn allows shared logic to execute on both server and client with different implementations per environment.

Why do my server-only functions execute on the client during TanStack Start navigation?

Server-only functions executing on the client indicate missing environment boundaries; wrapping them with createServerOnlyFn enforces server execution and prevents client-side access during navigation.