#!/bin/sh
# Every read-only check in one run. Keeps going on failure and summarizes at
# the end, so a single run shows everything that is wrong - unlike the
# fail-fast individual commands would. Auto-fix what is fixable with
# scripts/fix; run the test suite with scripts/test.
#
# The pre-push hook runs this (plus scripts/test) before every push.
# CI runs the same tools as separate steps on purpose - per-step names, logs
# and timings in the Actions UI beat deduplication - keep the two lists in
# sync. zizmor runs offline here (no network in the gate); the security
# audits that need network access live in scripts/audit and CI.
. "$(dirname -- "$0")/lib.sh"

require_npm_tools

check uv run ruff check .
check uv run ruff format --check .
check uv run codespell .
check prettier --check .
check markdownlint-cli2
check uv run zizmor --offline .github/workflows/
check uv run mypy

summary
