You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
873 B
20 lines
873 B
#!/bin/sh
|
|
# The gate runs before anything leaves the machine (P0 fase B, audit
|
|
# 2026-08-26; completed by the closure plan's F5, 2026-09-17). `npm run gate`
|
|
# runs `lint` (prettier --check) first, then `check:gate` (src/ and scripts/
|
|
# owe zero type errors), the fast validators, `apps:check` (check + build +
|
|
# smoke of apps/base) and the vitest suite last. The browser-dependent
|
|
# validators that walk the frozen demo tree (morfo:check, perm:check, smoke,
|
|
# layer:check) stay manual — they need a dev server.
|
|
#
|
|
# Armed by copying it; the two copies stay byte-identical:
|
|
# cp scripts/hooks/pre-push .git/hooks/pre-push
|
|
#
|
|
# Skipping this hook (--no-verify) is forbidden by CLAUDE.md except when the
|
|
# user explicitly asks.
|
|
echo "pre-push: running npm run gate (lint, checks, apps, tests)..."
|
|
npm run gate || {
|
|
echo "pre-push: gate FAILED — push rejected."
|
|
exit 1
|
|
}
|