Local verification
| Command | What success proves | Excludes |
|---|---|---|
pnpm run check:affected | Static and policy checks selected for the branch and working tree passed | Tests, builds, unaffected scopes, and CI-only checks |
pnpm run check | Every script in package.json#scripts.check passed | Builds, browser and live-service tests, images, mutation analysis, and release security |
pnpm run verify | The complete credential-free local CI inventory passed | Live-service integration and E2E tests, images, mutation analysis, and release security |
Run check:affected while working, check before pushing, and verify before requesting review. Each
success message names a different level of evidence.
Affected selection
The command compares committed, staged, unstaged, untracked, and deleted paths with the merge base of
origin/main. For another target, run pnpm run check:affected --base <revision>.
| Changed path | Commands |
|---|---|
webapp/** | check:webapp:affected |
Handwritten server/** | check:server:affected |
| Agent runtime or precompute TypeScript | check:agent-runtime |
docs/** | check:docs |
docs/images/readme/** | check:docs and check:webapp:affected |
| Shared tooling, instructions, generated artifacts, or any unclassified path | check |
The exact checks behind each scoped command are defined in the root package.json. Selection uses
git diff --no-renames, so both sides of a rename are evaluated. Git documents the underlying change
statuses in git diff.
Pre-push hook
The hook runs the read-only pnpm run check. For an emergency bypass,
HEPHAESTUS_SKIP_PRE_PUSH=1 git push prints an unverified result and the corrective command. Git's
standard git push --no-verify skips the hook without output.
Complete local verification
pnpm run verify adds the complete webapp test suites, Storybook browser tests and production build,
server unit and architecture tests with coverage, webapp build and generated-route comparison, and
docs build. The webapp build check restores the generated route file before it exits, so verification
never rewrites the working tree.
The live hosted-check inventory is documented in CI/CD. CI additionally owns checks that need browsers, services, images, release infrastructure, or credentials. Hosted CI performance is tracked in issue #1496.
Vite+ task cache
Use pnpm run check for the local quality gate and pnpm run verify for the complete local CI mirror.
Both enter the Vite+ task graph and reuse unchanged task results. Run vp run --last-details to
inspect the latest run or vp cache clean to discard the local task cache.
Node is pinned by package.json#devEngines.runtime; Vite+ does not manage the runtime.