Lab: Quality Gates

Implement production quality enforcement with pmat.

Objectives

  • Configure quality thresholds
  • Implement pre-commit hooks
  • Enforce TDG scoring

Demo Code

See demos/course3/week5/quality-gates/

Lab Exercise

See labs/course3/week5/lab_5_5_quality_gates.py

Configuration

# .pmat-gates.toml
[gates]
min_tdg_score = "B"
max_cyclomatic = 30
max_cognitive = 25
min_line_coverage = 80
min_branch_coverage = 70

[pre_commit_checks]
checks = ["complexity", "dead-code", "security", "duplicates"]

Commands

# Repository health score
pmat repo-score

# Quality gate check
pmat quality-gate

# Rust project score
pmat rust-project-score

# Analyze complexity
pmat analyze complexity --path .