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
- 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.
- 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.
- ESLint
- Prettier
- TypeScript
- pnpm
Source code references (GitHub URLs)
ADRs
Runbooks
Additional internal references
External reference links
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