mirror of
https://github.com/secondsky/claude-skills.git
synced 2026-09-18 19:54:22 +08:00
292c93845e
- Rewrites AI-sounding text to read human; 8 editing passes + review-only mode - Adapted from jpeggdev/humanize-writing (MIT); npm installer scaffolding dropped - Frontmatter condensed to 238 chars (sync enforces 250 max for single-skill plugins) - Lockstep bump 3.8.0 -> 3.9.0: all 145 plugins, both marketplaces, package.json - CHANGELOG entry for 3.9.0
TanStack Start (React) Skill — RC Ready
Full-stack React framework built on TanStack Router with server functions, selective SSR, prerendering, and first-class Cloudflare Workers support. Use this skill for migrations from Next.js, greenfield Start apps, or when you need type-safe server functions plus flexible rendering modes.
Auto-Trigger Keywords
- "TanStack Start", "Start RC", "React full-stack", "file-based routing"
- "selective SSR", "SPA mode", "static prerender", "server functions"
- "Cloudflare Workers", "Start on Workers", "edge SSR", "router + server"
Current Status (2025-12-09)
- Latest RC: v1.139.12 (2025-11-29)
- GA: not announced yet; safe for pilots/POCs with monitoring.
- Track: TanStack Router releases + Start guides for breaking changes.
What You Get
- References:
references/quickstart-and-layout.md— CLI, project map, entrypointsreferences/rendering-modes.md— SSR/data-only/CSR, SPA mode, prerender, hydration playbookreferences/server-functions-and-middleware.md— server functions, routes, middleware, static functionsreferences/cloudflare-hosting-and-env.md— Workers setup, bindings, env vars, Tailwind v4references/execution-and-auth.md— execution model, environment functions, auth/data/observabilityreferences/routing-and-data-loading.md— file/code routes, params/search typing, loaders/actions, not-foundreferences/navigation-and-preloading.md— link options, preloading, route masking, blockers, scroll restorationreferences/devtools-and-llm-support.md— router devtools, ESLint rules, LLM-oriented metadata
- Script:
scripts/bootstrap-cloudflare-start.sh <app-name>scaffolds a Start + Workers project and generates binding types.
Quick Start (Cloudflare)
./scripts/bootstrap-cloudflare-start.sh my-start-app
cd my-start-app
npm run dev
Core Patterns (updated)
// app/routes/index.tsx
import { createFileRoute, redirect } from '@tanstack/react-router'
import { getGreeting } from '@/server/greeting'
export const Route = createFileRoute('/')({
ssr: 'data-only', // stream data, render on client
loader: async () => {
const greeting = await getGreeting()
if (!greeting) throw redirect({ to: '/login' })
return { greeting }
},
component: () => {
const { greeting } = Route.useLoaderData()
return <h1 className="text-2xl font-semibold">{greeting}</h1>
},
})
// app/server/greeting.ts
import { createServerFn } from '@tanstack/react-start'
export const getGreeting = createServerFn({ method: 'GET' }).handler(async () => {
return `Welcome back at ${new Date().toISOString()}`
})
- Add
validateSearchon routes to keep search params typed. - Use
<Link preload="intent">for hover/focus preloading; callrouter.preloadRoutefor critical nav. - Enable
<RouterDevtools />during dev and@tanstack/eslint-plugin-routerfor property-order safety.
Migrate from Next.js (fast path)
- Keep file-based routes; move pages into
app/routes/and convert hooks toRoute.useLoaderData(). - Replace
getServerSidePropswith route loaders; replace API routes with server routes or server functions. - Toggle SSR per route (
ssr: true | false | 'data-only') to match previous rendering behavior. - Use
@cloudflare/vite-plugin+ Wrangler instead ofnext.config.jswhen targeting Workers.
Troubleshooting Cheats
- Hydration mismatch: move non-deterministic values to loaders or use
ssr: 'data-only'. - 404 on API routes: ensure
server.handlersare defined and file path matches route path. - Cloudflare env undefined: confirm
cloudflare({ viteEnvironment: { name: 'ssr' } })is first plugin and bindings are declared inwrangler.jsonc. - Streaming stalls: avoid mixing
Response.jsonand streaming in the same handler; preferreturn toStreamResponse(...)from adapters.
Verify Before Shipping
- Run
npm run build && npm run previewlocally; thennpm run deployagainst a staging Worker. - Check
ONE_PAGE_CHECKLIST.mdand keepwrangler typesregenerated after binding changes.