Use when vitest configuration, Vite integration, workspace setup, and test environment configuration for modern testing.
View on GitHubTheBushidoCollective/han
jutsu-vitest
January 24, 2026
Select agents to install to:
npx add-skill https://github.com/TheBushidoCollective/han/blob/main/jutsu/jutsu-vitest/skills/vitest-configuration/SKILL.md -a claude-code --skill vitest-configurationInstallation paths:
.claude/skills/vitest-configuration/# Vitest Configuration
Master Vitest configuration, Vite integration, workspace setup, and test environment configuration for modern testing. This skill covers comprehensive configuration strategies for Vitest, the blazing-fast unit test framework powered by Vite.
## Installation and Setup
### Basic Installation
```bash
npm install -D vitest
# or
yarn add -D vitest
# or
pnpm add -D vitest
```
### Additional Packages
```bash
# UI for vitest
npm install -D @vitest/ui
# Browser mode
npm install -D @vitest/browser playwright
# Coverage
npm install -D @vitest/coverage-v8
# or
npm install -D @vitest/coverage-istanbul
```
## Configuration Files
### vitest.config.ts (Recommended)
```typescript
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
// Test environment
environment: 'node', // 'node' | 'jsdom' | 'happy-dom' | 'edge-runtime'
// Global test files
globals: true,
setupFiles: ['./vitest.setup.ts'],
// Include/exclude patterns
include: ['**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
exclude: ['node_modules', 'dist', '.idea', '.git', '.cache'],
// Coverage configuration
coverage: {
provider: 'v8', // 'v8' | 'istanbul'
reporter: ['text', 'json', 'html'],
include: ['src/**/*.{js,ts,jsx,tsx}'],
exclude: [
'node_modules/',
'src/**/*.test.{js,ts,jsx,tsx}',
'src/**/*.spec.{js,ts,jsx,tsx}',
'src/**/__tests__/**'
],
thresholds: {
lines: 80,
functions: 80,
branches: 80,
statements: 80
}
},
// Performance
pool: 'threads', // 'threads' | 'forks' | 'vmThreads'
poolOptions: {
threads: {
singleThread: false,
minThreads: 1,
maxThreads: 4
}
},
// Timeouts
testTimeout: 10000,
hookTimeout: 10000,
// Watch options
watch: false,
watchExclude: ['**/node_modules/**', '**/dist/**'],
// Reporters
reporters