Skip to main content

Feature: CI Quality Gates

Purpose

  • Feature name: CI quality gates
  • Why this feature exists: Block merges that violate formatting, linting, or type safety standards.

Scope

In scope

  • lint, format, and typecheck gates
  • audit policy for high/critical vulnerabilities
  • required checks naming stability

Out of scope

  • unit and E2E test execution (covered in separate features)
  • deployment checks and promotion

Prereqs / Inputs

  • CI workflow configured for quality checks
  • pnpm scripts for lint, format, and typecheck

Procedure / Content

Feature summary

  • Feature name: CI quality gates
  • Feature group: Testing and quality gates
  • Technical summary: Enforces linting, formatting, typechecking, and audit policy on every PR.
  • Low-tech summary: Prevents low-quality changes from merging.

Feature in action

  • Where to see it working: GitHub Actions checks on PRs and main.

Confirmation Process

Manual

  • Steps: Run pnpm lint, pnpm format:check, and pnpm typecheck locally.
  • What to look for: Commands exit successfully with zero warnings.
  • Artifacts or reports to inspect: CI job logs in GitHub Actions.

Tests

  • Unit tests: None specific.
  • E2E tests: None specific.

Potential behavior if broken or misconfigured

  • Checks not required due to renamed jobs.
  • Lint or format drift allowed into main.

Long-term maintenance notes

  • Keep check names stable to avoid ruleset drift.
  • Update documentation when scripts change.

Dependencies, libraries, tools

  • ESLint
  • Prettier
  • TypeScript
  • pnpm

Source code references (GitHub URLs)

ADRs

  • None.

Runbooks

Additional internal references

Validation / Expected outcomes

  • Quality checks run on every PR and block merge on failure.

Failure modes / Troubleshooting

  • Check name drift: update rulesets and documentation.
  • Local failures: fix lint/format/type errors and re-run.

References

  • None.