.agents/skills/vite-plus/SKILL.md
<!--VITE PLUS START--> # Using Vite+, the Unified Toolchain for the Web This project is using Vite+, a unified toolchain built on top of Vite, Rolldown, Vitest, tsdown, Oxlint, Oxfmt, and Vite Task. Vite+ wraps runtime management, package management, and frontend tooling in a single global CLI called `vp`. Vite+ is distinct from Vite, but it invokes Vite through `vp dev` and `vp build`. ## Vite+ Workflow `vp` is a global binary that handles the full development lifecycle. Run `vp help` to pr
npx skillsauth add em-jones/staccato-toolkit .agents/skills/vite-plusInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This project is using Vite+, a unified toolchain built on top of Vite, Rolldown, Vitest, tsdown,
Oxlint, Oxfmt, and Vite Task. Vite+ wraps runtime management, package management, and frontend
tooling in a single global CLI called vp. Vite+ is distinct from Vite, but it invokes Vite through
vp dev and vp build.
vp is a global binary that handles the full development lifecycle. Run vp help to print a list
of commands and vp <command> --help for information about a specific command.
i) - Install dependenciesnode_modules/.binVite+ automatically detects and wraps the underlying package manager such as pnpm, npm, or Yarn
through the packageManager field in package.json or package manager-specific lockfiles.
rm, un, uninstall) - Remove packages from dependenciesup) - Update packages to latest versionsls) - List installed packagesexplain) - Show why a package is installedview, show) - View package information from the registryln) / unlink - Manage local package linksvp itself to the latest versionThese commands map to their corresponding tools. For example, vp dev --port 3000 runs Vite's dev
server and works the same as Vite. vp test runs JavaScript tests through the bundled Vitest. The
version of all tools can be checked using vp --version. This is useful when researching
documentation, features, and bugs.
vp vitest or vp oxlint. They
do not exist. Use vp test and vp lint instead.vp dev, vp build, vp test, etc.) always run
the Vite+ built-in tool, not any package.json script of the same name. To run a custom script
that shares a name with a built-in command, use vp run <script>. For example, if you have a
custom dev script that runs multiple services concurrently, run it with vp run dev, not
vp dev (which always starts Vite's dev server).vp dlx instead of package-manager-specific
dlx/npx commands.vite-plus: Instead of importing from vite or vitest, all
modules should be imported from the project's vite-plus dependency. For example,
import { defineConfig } from 'vite-plus'; or
import { expect, test, vi } from 'vite-plus/test';. You must not install vitest to import test
utilities.oxlint-tsgolint, vp lint --type-aware
works out of the box.For GitHub Actions, consider using
voidzero-dev/setup-vp to replace separate
actions/setup-node, package-manager setup, cache, and install steps with a single action.
- uses: voidzero-dev/setup-vp@v1
with:
cache: true
- run: vp check
- run: vp test
vp install after pulling remote changes and before getting started.vp check and vp test to validate changes.development
Guide for building performant data tables. Uses tanstack-table for table logic (sorting, filtering, pagination) and tanstack-virtual for rendering large datasets efficiently.
development
Expert guidance for building observable, expressive, and fault-tolerant TypeScript applications using the effect-ts/effect ecosystem. Covers Effect<A, E, R> type, error management, dependency injection via Layers, observability (logging, metrics, tracing), concurrency with Fibers, retry/scheduling, Schema validation, Streams, and Sinks.
tools
Complete E2E (end-to-end) and integration testing skill for TypeScript/NestJS projects using Jest, real infrastructure via Docker, and GWT pattern. ALWAYS use this skill when user needs to: **SETUP** - Initialize or configure E2E testing infrastructure: - Set up E2E testing for a new project - Configure docker-compose for testing (Kafka, PostgreSQL, MongoDB, Redis) - Create jest-e2e.config.ts or E2E Jest configuration - Set up test helpers for database, Kafka, or Redis - Configure .env.e2e environment variables - Create test/e2e directory structure **WRITE** - Create or add E2E/integration tests: - Write, create, add, or generate e2e tests or integration tests - Test API endpoints, workflows, or complete features end-to-end - Test with real databases, message brokers, or external services - Test Kafka consumers/producers, event-driven workflows - Working on any file ending in .e2e-spec.ts or in test/e2e/ directory - Use GWT (Given-When-Then) pattern for tests **REVIEW** - Audit or evaluate E2E tests: - Review existing E2E tests for quality - Check test isolation and cleanup patterns - Audit GWT pattern compliance - Evaluate assertion quality and specificity - Check for anti-patterns (multiple WHEN actions, conditional assertions) **RUN** - Execute or analyze E2E test results: - Run E2E tests - Start/stop Docker infrastructure for testing - Analyze E2E test results - Verify Docker services are healthy - Interpret test output and failures **DEBUG** - Fix failing or flaky E2E tests: - Fix failing E2E tests - Debug flaky tests or test isolation issues - Troubleshoot connection errors (database, Kafka, Redis) - Fix timeout issues or async operation failures - Diagnose race conditions or state leakage - Debug Kafka message consumption issues **OPTIMIZE** - Improve E2E test performance: - Speed up slow E2E tests - Optimize Docker infrastructure startup - Replace fixed waits with smart polling - Reduce beforeEach cleanup time - Improve test parallelization where safe Keywords: e2e, end-to-end, integration test, e2e-spec.ts, test/e2e, Jest, supertest, NestJS, Kafka, Redpanda, PostgreSQL, MongoDB, Redis, docker-compose, GWT pattern, Given-When-Then, real infrastructure, test isolation, flaky test, MSW, nock, waitForMessages, fix e2e, debug e2e, run e2e, review e2e, optimize e2e, setup e2e
tools
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects.