This directory owns repository-level dependency maintenance and clean-environment quality gates. Workflows call the public scripts in package.json; they must not grow a second, divergent implementation of a local check.
gate-lint.yml→ checklint→npm run lintandnpm run format:checkgate-typecheck.yml→ checktypecheck→npm run typecheckgate-unit-tests.yml→ checktest:unit→npm run test:unitgate-e2e.yml→ checktest:e2e→npm run test:e2egate-coverage.yml→ checktest:coverage→npm run test:coveragegate-build.yml→ checkbuild→npm run buildgate-security-scan.yml→ checksecurity:scan→ npm audit, blocking Trivy scan, and Trivy SARIF upload
Every workflow runs for pull requests, pushes to main, and manual dispatch. Jobs pin Node through .nvmrc, install with npm ci, have finite timeouts, cancel stale runs, and receive only the permissions they need.
IronNest has no browser application. The E2E gate runs the Nest/Fastify/Supertest suite in test/app.e2e-spec.ts. Do not add Playwright, browser installation, or Playwright report steps unless a separately approved frontend scope is introduced.
Do not configure branch protection until these files have been reviewed, pushed, and all seven checks have completed successfully at least once. Then follow runbooks/github-required-checks.md.
dependabot.yml checks npm dependencies and GitHub Actions weekly. Minor and patch npm updates are grouped to reduce review noise.
- Add or change the authoritative npm script first.
- Keep one stable required-check name per independent concern.
- Keep default permissions read-only; grant writes only to the step that needs them.
- Never use
continue-on-errorfor a required gate. - Update this file, quality-gate documentation, runbook, and branch-protection settings when a required check changes.