Skip to content

PayPal sandbox only. No real money moves.

BuildersBuilders

Run and test

Every package script, what runs in CI, and where heavy work belongs.

Verifiedbacked by a real run or committed evidence

Page last changed 7 Nov 2026 (from the git history)

Setup

Node 22 (pinned in .nvmrc) and npm. Install once at the repository root; do not run npm install inside a package.

git clone https://github.com/harshbhx/gavel-auction.git
cd gavel-auction
nvm use
npm ci

Copy .env.example to .env only when a task needs configuration, with PayPal sandbox values only.

Root scripts

ScriptPurpose
npm run buildtsc -b, all packages with project references
npm run typecheckRoot and per-package type checks
npm run lintESLint, zero warnings
npm run format:checkPrettier check (npm run format rewrites)
npm testUnit tests of every package (vitest run --project 'unit:*')
npm run test:pkg -- unit:engineUnit tests of one package: replace the project name
npm run test:coverageUnit tests with coverage, then the per-package floors
npm run test:propertyProperty tests (property:* projects)
npm run test:scenariosThe in-process scenarios (unit:e2e)
npm run test:toolsTests of the repository scripts and lint rules
npm run check:depsDependency rule, engine purity, payments dependencies
npm run check:secretsBuilds the web app with canary values and scans the bundle
npm run check:ascii, check:banned-words, check:live-host, check:ownership, check:audit, check:gates-resultThe repository checks described in Infra

test:e2e, test:e2e:sandbox, test:load and report at the root are placeholders that print "not implemented" and exit 1. The real commands are the package scripts under the e2e tab below.

Package scripts

CommandWhat it does
npm run test -w @gavel/sharedVitest
npm run typecheck -w @gavel/sharedtsc --noEmit

What CI runs

On every pull request

ci runs the checks that make up the required roll-up: typecheck, lint, format, unit, coverage floors, property, scenarios, dependency rules, secret scans, ASCII and banned words, docs format, commit messages, ownership, the voice checks, fixture validation, the Python reference tests, the differential test, tool tests, package checks and a production build of the server with a smoke run. A documentation-only change skips the build, test and type jobs.

On the paths a change touches

Path-filtered workflows run only when relevant: engine-readiness, server-postgres, payments-evidence, sim-multiday, load, voice-eval, voice-browser, browser-specs, ui-screens, interface-check, audit and docsite.

On a schedule and by hand

The nightly sandbox specs, the G3 probe, the judge smoke, the daily backup and the weekly checks run on a schedule. Gates and measurements run by hand. See the workflow tabs on Infra.

Reading CI results

gh pr checks <number>
gh run watch <run-id>
gh run view <run-id> --log-failed
gh run download <run-id> -n <artifact-name>

Screenshots, reports and evidence are uploaded as artifacts (for example ui-screens, docsite-shots and the nightly sandbox report).

Edit on GitHub

Last updated on