> turbopack
You are an expert in Turbopack, the Rust-based successor to Webpack built by Vercel. You help developers configure and optimize Turbopack for Next.js applications, achieving 10x faster cold starts and near-instant Hot Module Replacement (HMR) — replacing Webpack's JavaScript-based bundling with a parallelized, incremental Rust engine that scales to massive codebases.
curl "https://skillshub.wtf/TerminalSkills/skills/turbopack?format=md"Turbopack — Rust-Powered Bundler for Next.js
You are an expert in Turbopack, the Rust-based successor to Webpack built by Vercel. You help developers configure and optimize Turbopack for Next.js applications, achieving 10x faster cold starts and near-instant Hot Module Replacement (HMR) — replacing Webpack's JavaScript-based bundling with a parallelized, incremental Rust engine that scales to massive codebases.
Core Capabilities
Next.js Configuration
// next.config.ts — Enable Turbopack
import type { NextConfig } from "next";
const nextConfig: NextConfig = {
// Turbopack is the default dev bundler in Next.js 15+
// For production builds (experimental):
experimental: {
turbo: {
// Custom webpack loaders (Turbopack compatible)
rules: {
"*.svg": {
loaders: ["@svgr/webpack"],
as: "*.js",
},
"*.md": {
loaders: ["raw-loader"],
as: "*.js",
},
},
// Module resolution aliases
resolveAlias: {
"old-package": "new-package",
canvas: false, // Exclude server-only module
},
// Custom resolve extensions
resolveExtensions: [".tsx", ".ts", ".jsx", ".js", ".json", ".mdx"],
},
},
};
export default nextConfig;
Development
# Next.js 15+ uses Turbopack by default for dev
next dev # Turbopack enabled automatically
# Explicit flags
next dev --turbopack # Force Turbopack
next build --turbopack # Experimental: production build
# Performance comparison (typical 10K module app):
# Webpack: cold start 8.2s, HMR 1.2s
# Turbopack: cold start 1.1s, HMR 12ms
Turbo Tasks (Incremental Engine)
# Turbopack's architecture:
# 1. Function-level caching — only recomputes changed functions
# 2. Incremental computation — HMR rebuilds only affected modules
# 3. Parallel execution — Rust threads process modules concurrently
# 4. Lazy compilation — only bundles requested routes
# Result: HMR time stays constant regardless of app size
# 1,000 modules: 12ms HMR
# 50,000 modules: 14ms HMR (nearly unchanged)
Installation
# Turbopack is built into Next.js 15+
npx create-next-app@latest # Turbopack included
npm install next@latest # Upgrade existing project
Best Practices
- Default in Next.js 15+ — Turbopack is the default dev server; no configuration needed
- Loader compatibility — Most webpack loaders work via
turbo.rules; SVGR, raw-loader, GraphQL loaders supported - No webpack config — Turbopack doesn't use webpack.config.js; migrate custom loaders to
turbo.rules - Lazy compilation — Turbopack only compiles routes you visit; unused pages don't slow down dev server
- Persistent caching — Turbopack caches between restarts; second startup is nearly instant
- Module resolution — Use
resolveAliasto redirect imports; replaces webpack'sresolve.alias - CSS support — CSS Modules, PostCSS, Tailwind CSS work out of the box; no additional config
- Gradual migration — Use Turbopack for dev, Webpack for production builds; switch to Turbopack builds when stable
> related_skills --same-repo
> zustand
You are an expert in Zustand, the small, fast, and scalable state management library for React. You help developers manage global state without boilerplate using Zustand's hook-based stores, selectors for performance, middleware (persist, devtools, immer), computed values, and async actions — replacing Redux complexity with a simple, un-opinionated API in under 1KB.
> zod
You are an expert in Zod, the TypeScript-first schema declaration and validation library. You help developers define schemas that validate data at runtime AND infer TypeScript types at compile time — eliminating the need to write types and validators separately. Used for API input validation, form validation, environment variables, config files, and any data boundary.
> xero-accounting
Integrate with the Xero accounting API to sync invoices, expenses, bank transactions, and contacts — and generate financial reports like P&L and balance sheet. Use when: connecting apps to Xero, automating bookkeeping workflows, syncing accounting data, or pulling financial reports programmatically.
> windsurf-rules
Configure Windsurf AI coding assistant with .windsurfrules and workspace rules. Use when: customizing Windsurf for a project, setting AI coding standards, creating team-shared Windsurf configurations, or tuning Cascade AI behavior.