Search by

qualimetrix / qualimetrix

FractalizeR

CLI tool for static analysis of PHP code - detects architectural mess and complexity issues

Package info

github.com/qualimetrix/qualimetrix

pkg:composer/qualimetrix/qualimetrix

Statistics

Installs: 939

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.27.0 2026-09-18 16:01 UTC

README

Static analysis tool for PHP code quality metrics.

Documentation | Quick Start | llms.txt

Features

  • Complexity Metrics: Cyclomatic (CCN), Cognitive, NPATH
  • Maintainability: Halstead metrics, Maintainability Index
  • Coupling: RFC, Instability, Abstractness, Distance from Main Sequence
  • Cohesion: TCC/LCC, LCOM4, WMC
  • Size: LOC, Class/Method/Property Count
  • Structure: DIT, NOC
  • Architecture: Circular Dependency Detection, Layer Policy Enforcement

Quick Start

# Install
composer require --dev qualimetrix/qualimetrix

# Analyze
bin/qmx check src/

# With specific format
bin/qmx check src/ --format=json

# Pre-commit hook
bin/qmx hook:install

Output Formats

Format Use Case
summary CLI, human-readable overview — the default
text CLI, one line per finding
json CI/CD integration
metrics Raw metric values for every symbol
health Health-score table with worst contributors
html Interactive treemap report (-o report.html)
checkstyle Jenkins, SonarQube
sarif GitHub Security, VS Code
gitlab GitLab Code Quality
github GitHub Actions inline PR annotations
suppressed Auditing what a run held back and why (--show-suppressed for a partial prose view)

Configuration

Create qmx.yaml (full format):

rules:
  complexity.ccn:
    callable:
      warning: 15
      error: 25

Or use CLI options:

bin/qmx check src/ --cyclomatic-warning=15 --cyclomatic-error=25

Git Integration

# Show violations in staged files only
bin/qmx check src/ --report=git:staged

# Show violations in changed files
bin/qmx check src/ --report=git:main..HEAD

Baseline Support

# Generate baseline for existing violations
bin/qmx baseline:generate baseline.json src/

# Use baseline
bin/qmx check src/ --baseline=baseline.json

Documentation

Requirements

  • PHP 8.4+
  • Composer

Development

composer install
composer test      # Run tests
composer phpstan   # Static analysis
composer check     # Full validation

License

MIT