CodeVetter · Repo Unpack · Contributor handoff
vitest-dev/vitest
Tests and CI were inspected, not executed, and this brief must not be treated as a passing validation record. Begin edits with the nearest instructions and the implementing runtime boundary, then choose the corresponding test project. Built distribution files, generated documentation, helper defaults, and conditional skips are important interpretation traps. The present assignment authorizes source inspection only; development commands below describe future workflows requiring appropriate task authorization.
- Read AGENTS.md and CONTRIBUTING.md before contribution work; external PRs, issues, or comments require manual operator approval, and contribution policy requires real-person ownership and AI disclosure.
- Use repository pnpm scripts and the declared Node range; package.json pins pnpm@11.28.2 and exposes build, lint, typecheck, unit, e2e, coverage, and browser checks.
- For core changes, first read create.ts, resolveConfig.ts, and the relevant core.ts lifecycle; worker changes require runtime/runBaseTests.ts and runner/run.ts because scheduling and test callbacks live in different processes.
- Rebuild before executing tests against package changes: public exports resolve dist, mocker is not inlined, runtime workers are built separately, and watch builds omit declaration bundling.
- Choose the smallest relevant filtered test command without an extra --; root test covers the unit threads selection, whereas browser execution has a separate test:browser:playwright script.
- Use runInlineTests for mutable multi-file setups; runVitest defaults cache off, one worker, watch off, verbose reporting, and NO_COLOR, with $cliOptions applied as overrides.
- Root typecheck does not cover all test trees or UI client code; CLI option edits require regenerating cli-generated.md, and CI checks stale build artifacts plus separate UI typechecking.
- Keep mutable fixtures isolated, use test-utils edits for watch tests, serialize Git-dependent fixtures, normalize Windows paths, and check focused tests manually; formatting uses oxfmt and fixture trees are excluded.