Add composer.json support