Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Linting and Reports

mxcli includes an extensible linting framework that checks Mendix projects for best practice violations, security issues, naming conventions, and architectural anti-patterns. The framework combines built-in Go rules with extensible Starlark rules.

Overview

The linting system provides:

  • 14 built-in Go rules – Fast, compiled rules for common issues
  • 27 bundled Starlark rules – Extensible rules covering security, quality, architecture, design, and conventions
  • Custom rule support – Write your own rules in Starlark
  • Multiple output formats – Text, JSON, and SARIF for CI integration
  • Scored reports – Best practices report with category breakdowns

Rule Categories

CategoryPrefixFocus
MDLMDL001-MDL007Naming conventions, empty microflows, domain model size
SecuritySEC001-SEC009Access rules, password policy, demo users, PII exposure
ConventionCONV001-CONV017Best practice conventions, error handling
QualityQUAL001-QUAL004Complexity, documentation, long microflows
ArchitectureARCH001-ARCH003Cross-module data, entity business keys
DesignDESIGN001Entity attribute count

Quick Start

# Lint a project
mxcli lint -p app.mpr

# List available rules
mxcli lint -p app.mpr --list-rules

# JSON output for CI
mxcli lint -p app.mpr --format json

# Generate a scored report
mxcli report -p app.mpr