Skip to main content

Local verification

CommandWhat success provesExcludes
pnpm run check:affectedStatic and policy checks selected for the branch and working tree passedTests, builds, unaffected scopes, and CI-only checks
pnpm run checkEvery script in package.json#scripts.check passedBuilds, browser and live-service tests, images, mutation analysis, and release security
pnpm run verifyThe complete credential-free local CI inventory passedLive-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 pathCommands
webapp/**check:webapp:affected
Handwritten server/**check:server:affected
Agent runtime or precompute TypeScriptcheck:agent-runtime
docs/**check:docs
docs/images/readme/**check:docs and check:webapp:affected
Shared tooling, instructions, generated artifacts, or any unclassified pathcheck

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.