From fuse-tanstack-start
Use when: building or deploying a TanStack Start app — Nitro/Vite build, official adapters (Cloudflare Workers, Netlify, Vercel, Node, Bun, Railway), static prerendering (tanstackStart prerender), production env vars, or a deploy checklist. Do NOT use for: app data/auth logic (see start-routing-data / start-auth) or generic Vite config unrelated to Start.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fuse-tanstack-start:start-deploymentThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Before ANY implementation, spawn in parallel:
Before ANY implementation, spawn in parallel:
vite.config.ts, package.json scripts, existing adapter/wrangler config/websites/tanstack_start_framework_reacttanstackStart plugin + adapter options for the target hostAfter implementation, run fuse-ai-pilot:sniper.
| Target | Setup |
|---|---|
| Cloudflare Workers ⭐ | @cloudflare/vite-plugin (viteEnvironment: { name: 'ssr' }) + wrangler.jsonc |
| Netlify ⭐ | @netlify/vite-plugin-tanstack-start |
| Vercel / Node / Docker / Bun / Railway | Nitro layer (nitro/vite), .output/server/index.mjs |
| Static | tanstackStart({ prerender: { routes, crawlLinks } }) |
Start builds with Vite (or Rsbuild). Most hosts go through Nitro, an agnostic deploy layer; Cloudflare and Netlify have dedicated Vite plugins.
process.env.X inside handlers, NEVER at module scope; Cloudflare injects env at request time, so module reads are undefined on the edge.cloudflare({ viteEnvironment: { name: 'ssr' } }) before tanstackStart() in the plugins array.start to the build — Nitro output starts with node .output/server/index.mjs; Cloudflare uses wrangler deploy (no node start).react/react-dom to >= 19 when deploying on Bun.$id), layout routes (_), and component-less routes are skipped unless linked with crawlLinks.vite.config.ts # tanstackStart() + host adapter (cloudflare / netlify / nitro)
wrangler.jsonc # Cloudflare only — main: @tanstack/react-start/server-entry
package.json # scripts differ per target (deploy vs start)
.output/server/ # Nitro build output (Node/Vercel/Bun/Railway)
→ See vite-config-adapters.md for every adapter config
| Topic | Reference | Load when |
|---|---|---|
| Build & adapters | build-and-adapters.md | Choosing/configuring a host (Nitro, Vercel, Node, Bun, Railway, Netlify) |
| Cloudflare | cloudflare.md | Deploying to Cloudflare Workers |
| Prerendering | prerendering.md | Generating static HTML at build time |
| Env & checklist | env-and-checklist.md | Production env vars + pre-deploy checklist |
| Template | When to Use |
|---|---|
| vite-config-adapters.md | Full vite.config.ts per target + prerender |
| cloudflare-deploy.md | Complete Cloudflare Workers setup |
process.env at import time (edge = undefined; bundle leak)node start script with a Cloudflare build$param routes to prerender without crawlLinksnpx claudepluginhub fusengine/agents --plugin fuse-tanstack-startGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
Dispatches multiple subagents concurrently for independent tasks without shared state. Use when facing 2+ unrelated failures or subsystems that can be investigated in parallel.