Assists with configuring and using Vite as a frontend build tool for modern web applications. Use when setting up dev servers, optimizing production builds, configuring plugins, migrating from Webpack or CRA, or building component libraries. Trigger words: vite, build tool, HMR, hot module replacement, vite config, rollup, bundling.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add TerminalSkills/skills --skill vite --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Vite?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/terminalskills-vite)More formats (shields.io, HTML) on the badges page.
---
name: vite
description: >-
Assists with configuring and using Vite as a frontend build tool for modern web applications.
Use when setting up dev servers, optimizing production builds, configuring plugins, migrating
from Webpack or CRA, or building component libraries. Trigger words: vite, build tool, HMR,
hot module replacement, vite config, rollup, bundling.
license: Apache-2.0
compatibility: "Requires Node.js 16+"
metadata:
author: terminal-skills
version: "1.0.0"
category: development
tags: ["vite", "build-tool", "bundler", "frontend", "hmr"]
---
# Vite
## Overview
Vite is a next-generation frontend build tool providing instant dev server startup via native ES modules and optimized Rollup-based production builds. It supports React, Vue, Svelte, and vanilla TypeScript projects with advanced bundling strategies, plugin extensibility, and library mode.
## Instructions
- When setting up a project, create `vite.config.ts` with the appropriate framework plugin (`@vitejs/plugin-react`, `@vitejs/plugin-vue`), configure `resolve.alias` with `@` mapping to `src/`, and set environment variables with `VITE_` prefix.
- When configuring the dev server, set up API proxying with `server.proxy`, enable HTTPS with `@vitejs/plugin-basic-ssl`, and use `server.watch` polling for containers or VMs.
- When optimizing builds, configure manual chunks with `build.rollupOptions.output.manualChunks` for vendor splitting, enable CSS code splitting, and set `build.target` for browser compatibility.
- When creating plugins, use the Rollup-compatible plugin API with `resolveId`, `load`, and `transform` hooks, and leverage virtual modules with the `virtual:` prefix.
- When building libraries, configure `build.lib` with entry point and output formats (es, cjs, umd), externalize peer dependencies, and use `vite-plugin-dts` for TypeScript declaration generation.
- When migrating from Webpack, replace `webpack.config.js` with `vite.config.ts`, swap loaders for Vite plugins, and update `REACT_APP_*` env vars to `VITE_*`.
- When integrating testing, use Vitest which shares Vite config and provides instant HMR for tests.
## Examples
### Example 1: Migrate a Create React App project to Vite
**User request:** "Convert my CRA project to use Vite instead"
**Actions:**
1. Install Vite and `@vitejs/plugin-react`, remove react-scripts
2. Create `vite.config.ts` with React plugin and path aliases
3. Rename `REACT_APP_*` environment variables to `VITE_*`
4. Update `index.html` to reference the entry module directly
**Output:** A Vite-powered React project with faster dev startup and HMR.
### Example 2: Configure optimized production build
**User request:** "Set up Vite build with vendor chunk splitting and source maps for Sentry"
**Actions:**
1. Configure `build.rollupOptions.output.manualChunks` to separate vendor libraries
2. Enable `build.sourcemap` for error monitoring integration
3. Set `build.target` appropriate to browser support requirements
4. Add `build.assetsInlineLimit` tuning for small asset optimization
**Output:** An optimized production build configuration with proper chunk splitting and debugging support.
## Guidelines
- Always use `import.meta.env.VITE_*` for client-exposed env vars, never `process.env`.
- Configure `resolve.alias` with `@` prefix mapping to `src/` for clean imports.
- Split vendor chunks manually when default chunking produces too many small files.
- Use `build.target: "esnext"` for modern-only apps, `@vitejs/plugin-legacy` for legacy browser support.
- Enable `build.sourcemap` in production for error monitoring tools.
- Keep `vite.config.ts` clean by extracting complex plugin configs into separate files.
- Use `optimizeDeps.include` to pre-bundle problematic dependencies that break during dev.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!