Before every release a maintainer runs four local commands — npm run lint, npm test, npm run build, and npm run audit:data — and all must pass. They are dependency-free and run entirely locally: no secrets, no remote calls, no servers. The release is only committed once all four are green.
- lint, test, build, audit:data — all green before committing.
- Local and dependency-free; no secrets or remote calls.
- The full release process: /methodology/release-checklist.
The release gate
Run these four, in any order; all must pass:
npm run lint
npm test
npm run build
npm run audit:dataValidation tiers
Validate at the depth the change needs — see the release checklist and docs/validation.md:
npm run validate:train # per train: lint + audit:data
npm run validate:batch # every ~5 trains, or after routing/export/snapshot/build changes
npm run validate:release # final / pre-push: lint + tests + audit:data + buildThe full suite is slow because the build prerenders thousands of static pages; the tiers avoid repeating it after every small commit. Final safety is unchanged — validate:release runs everything. For long autonomous sessions, the cadence and batched version-bump policy live in docs/marathon-train-policy.md (per train → batch every ~5 → release at the end; freeze one version per ~5–10 trains; hosted verification only after push).
What each command guards
| Command | What it does | What it guards |
|---|---|---|
npm run lint | Runs ESLint over the source. | Style and correctness lints; no unused vars, no raw anchors for internal links. |
npm test | Runs the full Vitest suite. | Every surface, schema, and the export shape; the current version pin. |
npm run audit:data | Runs the data-integrity test subset. | Sourcing, labeling, catalog reconciliation, and the no-overclaim audit. |
npm run build | Builds the static site with Next.js. | Type-checks and prerenders every static route. |
npm run dev | Starts the local dev server. | For local authoring only; not part of the release gate. |
npm start | Serves the production build locally. | Smoke-checks the built output before any deploy. |
Related
Maintainer index: /maintainers · release checklist: /methodology/release-checklist · validate a package: /developers/validate-package.