Migrate or align frontend repositories to the stock VitePlus workflow. Use when standardizing package or monorepo repos around `vp`, `voidzero-dev/setup-vp`, `vite-plus/test`, and VitePlus-native CI, test, and packaging flows, including updating scripts, test config, CI setup, and packaging commands.
98
100%
Does it follow best practices?
Impact
97%
1.73xAverage score across 6 eval scenarios
Passed
No known issues
Move a frontend repo closer to the stock VitePlus toolchain without blindly deleting repo-specific release or runtime logic. VitePlus is in alpha — verify behavior against installed vp --version and the latest release notes rather than memorized command shapes.
Default to this destination unless a repo-specific boundary clearly blocks it. If you keep an old command shape, document the reason.
voidzero-dev/setup-vp@v1; the action owns Node and package-manager bootstrap, then runs vp install, vp check, vp test, vp buildvite-plus/test (and vite-plus/test/browser/context for browser mode)vp test, vp test watch, vp test run --coverage, vp pack, vp build, vp update, and vp run <script> (or vpr <script>) over direct package-manager, raw Vitest, or tsdown wiringvp config, .vite-hooks, and vp staged instead of custom Husky or lint-stagedvite.config.ts: no parallel vitest.config.ts, .oxlintrc*, .oxfmtrc*, or tsdown.config.tsvp commands in the same changevp create, vp migrate), local guidance-file discovery, and validation path.vite.config.ts, test imports, hooks, and packaging together. Verify with vp check && vp test before moving on.vp upgrade (global), then vp update vite-plus @voidzero-dev/vite-plus-core @voidzero-dev/vite-plus-test (project). Confirm with vp outdated.vp env current && vp install && vp check && vp test, then verify vp build artifacts, vp test run --coverage, and vp staged on a staged change.Concrete examples:
- uses: voidzero-dev/setup-vp@v1
with:
node-version-file: ".node-version"
cache: true
- run: vp install
- run: vp check
- run: vp test
- run: vp buildimport { defineConfig } from 'vite-plus'
export default defineConfig({
lint: {
options: { typeAware: true, typeCheck: true },
},
staged: {
"*.{js,ts,tsx,vue,svelte}": "vp check --fix",
},
})# package.json scripts
-"test": "vitest run --coverage",
-"test:watch": "vitest",
+"test": "vp test run --coverage",
+"test:watch": "vp test watch",vp create / vp migrate --agent <name> --editor <name> over hand-rolling agent or editor config.vp check is not running type-aware lint or type checks, confirm lint.options.typeAware and lint.options.typeCheck in vite.config.ts, and check for compilerOptions.baseUrl in tsconfig.json — tsgolint does not support baseUrl and VitePlus silently skips type-aware checks when it is present.See references/known-issues.md for current upstream caveats (hook runners, single-file vp check --fix, SSR instanceof failures, Cloudflare Workers tests, @vitest/coverage-v8 mixed-version warnings).