1
VALIDATION
Jonathan Miller edited this page 2026-06-09 16:54:59 +00:00

Validation

20+ validators in the validate/ directory.

Running

php bin/moko validate:module --path .   # All validators
php validate/check_changelog.php --path /repo  # Single validator
make validate                           # Via Makefile

Validators

Validator Checks
check_changelog.php CHANGELOG.md format (Keep a Changelog)
check_client_theme.php Client theme structure
check_composer_deps.php composer.json/lock, license audit
check_enterprise_readiness.php Enterprise readiness assessment
check_file_integrity.php File checksums
check_joomla_manifest.php Joomla XML manifest validity
check_language_structure.php .ini language files, matching keys
check_license_headers.php SPDX license headers in source
check_no_secrets.php No hardcoded tokens/passwords
check_paths.php Directory structure matches conventions
check_php_syntax.php PHP lint on all .php files
check_repo_health.php README, LICENSE, CHANGELOG, manifest
check_structure.php Layout matches platform template
check_tabs.php No tabs (spaces only)
check_version_consistency.php Version matches across files
check_wiki_health.php Wiki has required pages
check_xml_wellformed.php XML files parse correctly
scan_drift.php Configuration drift from org standards

Exit Codes

Code Meaning
0 All checks passed
1 One or more failed
2 Usage error

Writing New Validators

  1. Create validate/check_{name}.php
  2. Extend CliBase
  3. Accept --path argument
  4. Return 0 (pass) or 1 (fail)
  5. Register in validate:module