ergebnis/composer-normalize
A Composer plugin that normalizes composer.json, sorting and formatting it consistently so contributors don't argue over style. Install it as a dev dependency, allow the plugin, and run it locally or in CI to keep JSON clean and reduce merge conflicts.
composer.json formatting and key/package ordering across Laravel/PHP repositories as part of engineering hygiene, rather than treating it as ad hoc contributor preference.ergebnis/composer-normalize to Laravel app/package scaffolding, shared CI templates, and engineering standards so new repositories start consistent and existing repositories can be normalized incrementally.composer normalize --dry-run in CI to fail builds when composer.json is not normalized or when the lock file is stale, reducing review noise and merge conflicts around dependency changes.composer.json.composer.json changes frequently enough to create formatting noise, merge conflicts, or inconsistent package ordering.composer normalize --dry-run.allow-plugins controls, custom composer.json ordering requirements, or concerns about tooling writing lock-file hashes. The plugin is dev-only and low-risk, but it should still be approved and pinned deliberately.Executive summary: ergebnis/composer-normalize is a small, MIT-licensed developer-productivity tool that standardizes composer.json across Laravel/PHP repositories. It is not customer-facing and does not affect runtime behavior, but it reduces code-review friction, merge conflicts, onboarding time, and formatting-only diffs. Adoption cost is low: add it as a dev dependency, allow the Composer plugin where required, and enforce it in CI with a dry-run check.
For engineering: Add ergebnis/composer-normalize as a dev dependency, document the allow-plugins setting, run composer normalize locally, and gate CI with composer normalize --dry-run. Use the PHAR/PHIVE option where plugin installation is restricted. Pin the version, pilot it in one or two representative repositories, then roll it into the base Laravel template and shared CI pipeline.
Decision requested: Approve a time-boxed pilot in a small set of active Laravel/PHP repositories. Evaluate success by reduced composer.json review churn, fewer formatting-related comments, successful CI enforcement, and smoother onboarding. If the pilot is clean, standardize it across repositories through the scaffolding and CI templates.
How can I help you explore Laravel packages today?