Validate and lint PHP Composer composer.json files for structure, dependencies, autoload configuration, and best practices.
bash
python3 scripts/composer_json_validator.py lint composer.json
python3 scripts/composer_json_validator.py lint composer.json --strict
python3 scripts/composer_json_validator.py lint composer.json --format json
python3 scripts/composer_json_validator.py lint composer.json --format markdown
bash
python3 scripts/composer_json_validator.py dependencies composer.json
python3 scripts/composer_json_validator.py dependencies composer.json --format json
bash
python3 scripts/composer_json_validator.py scripts composer.json
python3 scripts/composer_json_validator.py scripts composer.json --format markdown
bash
python3 scripts/composer_json_validator.py validate composer.json
python3 scripts/composer_json_validator.py validate composer.json --strict --format json
FlagDescription--strictExit code 1 on warnings (CI-friendly)--format textHuman-readable output (default)--format jsonMachine-readable JSON--format markdownMarkdown report
name, description, typevendor/package)type value ( library, project, metapackage, composer-plugin)license field present and valid SPDX identifierrequire and require-dev^, ~, >=, etc.)require (phpunit, mockery, etc.)* versionsrequireext-* dependencies are explicit (not *)\\ (PSR-4 convention)autoload-dev separate from autoloadscripts section presentpost-install-cmd/ post-update-cmd executing arbitrary URLsconfig.sort-packages enabledminimum-stability explicit when not stableprefer-stable set when minimum-stability is not stableCodeMeaning0No errors (warnings allowed unless --strict)1Errors found (or warnings in --strict mode)2Invalid arguments / file not found
text
composer.json lint results
==========================
[ERROR] name: Package name must match vendor/package format
[WARN] dependencies: phpunit/phpunit found in require (should be in require-dev)
[WARN] autoload: config.sort-packages not enabled
[INFO] scripts: scripts section present
Summary: 1 error(s), 2 warning(s), 1 info