fix: 100% valid composer.json