crclabs-hq/GateTest Quality Gate

120-module AI-powered quality gate with self-healing CI

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jul 10, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: crclabs-hq/gatetest@ddc2c3f7f28f9e9a01e880e66b828111d106f297 # v1.1.3

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
suiteWhich GateTest suite to run: quick (41 modules) / standard (45) / full (88) / nuclear (95). Unknown values fall back to standard.noquick
diff-onlyOn pull_request events, scan only the files the PR changes (vs the base branch). Keeps PRs from being flooded with pre-existing repo-wide findings. Set to false to scan the whole repo on every event. Non-PR events always scan the full repo.notrue
auto-fixWhen true and the gate blocks, run the AI CI-fixer to propose a patch (requires ANTHROPIC_API_KEY).nofalse
node-versionNode.js version to use (GateTest requires Node 20+).no22
working-directoryDirectory to scan. Defaults to the repository root.no.
report-formatReport format produced by the gate: console / json / sarif / junit.noconsole
fail-on-warningWhen true, warning-severity findings also block the gate (default is errors-only).nofalse
track-non-fixableOpen a GitHub Issue per error-severity finding the auto-fixer could not resolve. Idempotent — re-scans never duplicate. Default off.nofalse
thresholdMinimum acceptable letter grade (A/B/C/D) computed from the scan (same A-F scale as gatetest.ai/playground). When set, the gate ALSO fails if the computed grade is below this — on top of, not instead of, the `block`/`fail-on-warning` error-count gate. Default empty = grade never gates on its own.no""
summary-commentPost (and keep updated across re-runs) one PR comment with the grade, error/warning counts, and top findings. Default true on pull_request events.notrue
blockWhen true, the gate FAILS the workflow on any confident error finding. Default FALSE — fresh installs report findings as a PR comment but never block CI, so pre-existing rot in a mature codebase does not stop deploys on day 1. Flip to `true` once the team has triaged the baseline and wants the gate to actually enforce.nofalse
share-learningsOPT-IN: sync successful fix recipes (anonymised — no paths, no repo names, no source code outside the 2KB before/after snippet) to gatetest.ai so every other customer benefits from this fix. Default off. See https://gatetest.ai/trust for what is and is not shared.nofalse
recipe-store-urlHTTP endpoint to sync fix recipes to. Defaults to https://gatetest.ai/api/recipes when share-learnings is true. Set to your own URL for a private recipe store (the Action will sync there instead).no""
mutationRun mutation testing after the gate (Nuclear tier or opt-in). Requires the customer test suite to run.nofalse
chaosRun live-browser chaos / runtime checks against a URL (Nuclear tier or opt-in). Requires playwright.nofalse
chaos-urlLive URL to chaos-test (deployed staging or prod, NOT localhost). Required when chaos: true.no""
mutation-blocks-mergeWhen true, a failing mutation score blocks the merge. Default false — mutation is coaching, not a gate.nofalse
chaos-blocks-mergeWhen true, chaos / runtime failures block the merge. Default false — chaos surfaces resilience gaps as warnings.nofalse
namedescription
gate-statusThe gate verdict: "passed" or "blocked".
error-countNumber of error-severity findings from the scan.
warning-countNumber of warning-severity findings from the scan.
report-pathFilesystem path to the generated report (empty when report-format is "console").
gradeLetter grade (A/B/C/D/F) computed from the scan — same A-F scale as gatetest.ai/playground. Empty when no JSON report was produced.
scoreNumeric 0-100 score the grade above is derived from.