quality-gates

Automated quality checkpoints that ensure code meets standards before proceeding.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "quality-gates" with this command: npx skills add claudeforge/orchestrator/claudeforge-orchestrator-quality-gates

Quality Gates Skill

Automated quality checkpoints that ensure code meets standards before proceeding.

Gate Levels

  1. Pre-Commit Gate

Runs before code is committed.

TypeScript check

npx tsc --noEmit

Lint check

npx eslint . --max-warnings 0

Format check

npx prettier --check .

  1. Pre-Push Gate

Runs before code is pushed.

All pre-commit checks +

npm test -- --passWithNoTests

Build check

npm run build

  1. CI Gate

Runs in CI pipeline.

All previous checks +

npm test -- --coverage

Coverage threshold

Fail if coverage < 70%

  1. Pre-Deployment Gate

Runs before deployment.

All CI checks +

E2E tests

npx playwright test

Security audit

npm audit --audit-level=high

Performance check

npx lighthouse-ci

Gate Definitions

TypeScript Gate

// tsconfig.json { "compilerOptions": { "strict": true, "noImplicitAny": true, "strictNullChecks": true, "noUnusedLocals": true, "noUnusedParameters": true, "noImplicitReturns": true } }

Pass Criteria: Zero errors

ESLint Gate

// .eslintrc { "extends": [ "eslint:recommended", "@typescript-eslint/recommended", "@typescript-eslint/strict" ], "rules": { "@typescript-eslint/no-explicit-any": "error", "@typescript-eslint/no-unused-vars": "error", "no-console": "warn" } }

Pass Criteria: Zero errors, zero warnings

Prettier Gate

// .prettierrc { "semi": true, "singleQuote": true, "tabWidth": 2, "trailingComma": "es5" }

Pass Criteria: All files formatted

Test Gate

// vitest.config.ts export default defineConfig({ test: { coverage: { provider: 'v8', thresholds: { statements: 70, branches: 65, functions: 70, lines: 70, }, }, }, });

Pass Criteria:

  • All tests pass

  • Coverage meets thresholds

Build Gate

npm run build

Pass Criteria: Build succeeds without errors

Security Gate

Dependency vulnerabilities

npm audit --audit-level=high

Exit codes:

0 = No vulnerabilities

1 = Vulnerabilities found

Pass Criteria: No high/critical vulnerabilities

Gate Implementation

Husky Pre-Commit Hook

#!/bin/sh

.husky/pre-commit

npx lint-staged

// package.json { "lint-staged": { ".{ts,tsx}": [ "eslint --fix", "prettier --write" ], ".{json,md}": [ "prettier --write" ] } }

GitHub Actions Gate

name: Quality Gate

on: [push, pull_request]

jobs: quality: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4

  - name: Setup Node
    uses: actions/setup-node@v4
    with:
      node-version: '22'
      cache: 'npm'

  - name: Install
    run: npm ci

  - name: TypeScript
    run: npm run typecheck

  - name: Lint
    run: npm run lint

  - name: Test
    run: npm test -- --coverage

  - name: Build
    run: npm run build

Quality Metrics

Code Quality

Metric Threshold Tool

Type Coverage 100% TypeScript

Lint Errors 0 ESLint

Code Smells < 5 SonarQube

Duplications < 3% SonarQube

Test Quality

Metric Threshold Tool

Statement Coverage

70% Vitest

Branch Coverage

65% Vitest

Test Pass Rate 100% Vitest

Security

Metric Threshold Tool

Critical Vulns 0 npm audit

High Vulns 0 npm audit

Secrets 0 secretlint

Performance

Metric Threshold Tool

Bundle Size < 500KB vite

LCP < 2.5s Lighthouse

FID < 100ms Lighthouse

Gate Commands

Run all gates

npm run quality

Individual gates

npm run quality:types # TypeScript npm run quality:lint # ESLint npm run quality:test # Tests npm run quality:build # Build npm run quality:security # Security audit

Gate Failure Handling

TypeScript Errors

  • Read error message

  • Fix type issue

  • Re-run npx tsc --noEmit

Lint Errors

  • Try auto-fix: npx eslint . --fix

  • Manually fix remaining

  • Re-run lint

Test Failures

  • Check failed test output

  • Fix code or test

  • Re-run tests

Build Failures

  • Check build output

  • Fix import/config issues

  • Re-run build

Security Failures

  • Run npm audit

  • Update vulnerable packages

  • If can't update, document exception

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

project-planning

No summary provided by upstream source.

Repository SourceNeeds Review
General

error-recovery

No summary provided by upstream source.

Repository SourceNeeds Review
General

frontend-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
General

backend-patterns

No summary provided by upstream source.

Repository SourceNeeds Review