CLI & CI/CD Gatekeeper.
CLI Usage
Build this repository first. The CLI is included in the production build; no unpublished npm package is required.
npm ci
npm run build
# Hosted checks: create an API key in /account. Keep it in CI secrets.
export ZUTMCHECK_API_URL=https://zutmcheck.ytriple.dev
export ZUTMCHECK_API_KEY=YOUR_SECRET_KEY
node dist/cli/index.js audit https://acme.com/demo --mode=contract --target-type=hubspot_form --json
node dist/cli/index.js compare aud_before aud_afterWithout ZUTMCHECK_API_URL the CLI runs locally and requires Playwright Chromium and a writable SQLite path. Both report IDs must exist in that local database.
CLI Exit Code Protocol
0— VERIFIED, or a fully resolved comparison.1— BROKEN, regression or residual failure.2— INDETERMINATE or incomplete comparison.3— Invalid arguments, configuration or runtime error.
IMPROVED is not Verification Passed. All three consent states must be resolved.
GitHub Actions CI Example
Run from a checkout of this repository. Supply the hosted service URL and API key using repository secrets.
- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm ci && npm run build
- run: node dist/cli/index.js audit https://acme.com/demo --mode=contract
env:
ZUTMCHECK_API_URL: ${{ secrets.ZUTMCHECK_API_URL }}
ZUTMCHECK_API_KEY: ${{ secrets.ZUTMCHECK_API_KEY }}