--- name: code-quality-gate description: Pre-commit and pre-merge code quality enforcement — lint, type-check, test, security scan, coverage threshold. Use when setting up CI gates, pre-commit hooks, or quality checks. --- # Code Quality Gate Combines patterns from ECC plankton-code-quality + AGENTS.md review standards. ## Gate Structure ### Level 1: Pre-Commit (Fast) - Lint (ESLint, ruff, golangci-lint) - Format check (Prettier, black, gofmt) - Type check (tsc, mypy) - No console.log / print statements ### Level 2: Pre-Test (Medium) - Unit tests - Static analysis / code quality scan - Dependency security audit - Build succeeds ### Level 3: Pre-Merge (Comprehensive) - All tests pass (unit + integration + E2E) - Code coverage meets threshold (> 80%) - Security scan passes (no Critical/High CVEs) - 3-tier review completed (self → peer → leader) - No merge conflicts - Documentation updated ## Implementation ### Pre-commit Hook (using pre-commit framework) ```yaml # .pre-commit-config.yaml repos: - repo: https://github.com/pre-commit/mirrors-eslint hooks: [id: eslint] - repo: https://github.com/charliermarsh/ruff-pre-commit hooks: [id: ruff] - repo: https://github.com/golangci/golangci-lint hooks: [id: golangci-lint] ``` ### CI Gate Script ```bash #!/bin/bash set -e echo "=== Quality Gate ===" echo "1. Lint..." npm run lint || { echo "FAIL: Lint"; exit 1; } echo "2. Type check..." npm run typecheck || { echo "FAIL: Type check"; exit 1; } echo "3. Unit tests..." npm test -- --coverage --coverageThreshold='{"global":{"lines":80}}' || { echo "FAIL: Tests"; exit 1; } echo "4. Security audit..." npm audit --audit-level=high || { echo "WARN: Security audit"; } echo "5. Build..." npm run build || { echo "FAIL: Build"; exit 1; } echo "=== All gates passed ===" ``` ## Quality Metrics to Track | Metric | Target | Fail if | |--------|--------|---------| | Test coverage (lines) | > 80% | < 70% | | Test coverage (branches) | > 70% | < 50% | | Critical paths coverage | 100% | Any missing | | Lint errors | 0 | > 0 | | Type errors | 0 | > 0 | | Security vulns (Critical/High) | 0 | > 0 | | Build time | < 5 min | > 10 min | ## Review Integration Quality gate must pass BEFORE review can start. - Self-review: Gate passes + manual checklist - Peer review: Self-review confirmed + peer reads diff - Leader review: Both reviews pass + leader approves