mcpbeat

Vitest

supabase/vitest

>- Vitest API and config reference (Jest-compatible) — mocking with vi.*, spies, fake timers, coverage configuration, fixtures, snapshots, and test filtering. Use for Vitest API and configuration questions anywhere in the monorepo; for Studio-specific test strategy and component-test setup, start with studio-testing and studio-mock-api-tests.

18k tokens
context cost
the whole folder, loaded on every use
18
files
instructions only
0
copies elsewhere
how many repositories repackaged it
107520
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/supabase/supabase --skill vitest

What comes with it

66 235 bytes besides the instruction
GENERATION.md
references/advanced-environments.md
references/advanced-projects.md
references/advanced-type-testing.md
references/advanced-vi.md
references/core-cli.md
references/core-config.md
references/core-describe.md
references/core-expect.md
references/core-hooks.md
references/core-test-api.md
references/features-concurrency.md
references/features-context.md
references/features-coverage.md
references/features-filtering.md
references/features-mocking.md
references/features-snapshots.md

The instruction itself

3 sections, as written by the author

Vitest is a next-generation testing framework powered by Vite. It provides a Jest-compatible API with native ESM, TypeScript, and JSX support out of the box. Vitest shares the same config, transformers, resolvers, and plugins with your Vite app.

Key Features:

  • Vite-native: Uses Vite's transformation pipeline for fast HMR-like test updates
  • Jest-compatible: Drop-in replacement for most Jest test suites
  • Smart watch mode: Only reruns affected tests based on module graph
  • Native ESM, TypeScript, JSX support without configuration
  • Multi-threaded workers for parallel test execution
  • Built-in coverage via V8 or Istanbul
  • Snapshot testing, mocking, and spy utilities

> The skill is based on Vitest 3.x, generated at 2026-01-28.

Core

| Topic | Description | Reference |

| ------------- | --------------------------------------------------------------- | -------------------------------------------- |

| Configuration | Vitest and Vite config integration, defineConfig usage | core-config |

| CLI | Command line interface, commands and options | core-cli |

| Test API | test/it function, modifiers like skip, only, concurrent | core-test-api |

| Describe API | describe/suite for grouping tests and nested suites | core-describe |

| Expect API | Assertions with toBe, toEqual, matchers and asymmetric matchers | core-expect |

| Hooks | beforeEach, afterEach, beforeAll, afterAll, aroundEach | core-hooks |

Features

| Topic | Description | Reference |

| ------------ | -------------------------------------------------------------- | ---------------------------------------------------------- |

| Mocking | Mock functions, modules, timers, dates with vi utilities | features-mocking |

| Snapshots | Snapshot testing with toMatchSnapshot and inline snapshots | features-snapshots |

| Coverage | Code coverage with V8 or Istanbul providers | features-coverage |

| Test Context | Test fixtures, context.expect, test.extend for custom fixtures | features-context |

| Concurrency | Concurrent tests, parallel execution, sharding | features-concurrency |

| Filtering | Filter tests by name, file patterns, tags | features-filtering |

Advanced

| Topic | Description | Reference |

| ------------ | ------------------------------------------------------- | ------------------------------------------------------------ |

| Vi Utilities | vi helper: mock, spyOn, fake timers, hoisted, waitFor | advanced-vi |

| Environments | Test environments: node, jsdom, happy-dom, custom | advanced-environments |

| Type Testing | Type-level testing with expectTypeOf and assertType | advanced-type-testing |

| Projects | Multi-project workspaces, different configs per project | advanced-projects |

How to use it

Copy the folder

Take supabase/vitest from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.