This is neat :)
I spent a lot of years in php, and the lack of a serious code-sharing story was certainly a pain point.
Using JSON (and being strict about it) is a good idea. If people really want to use Yaml, then they can write a composer.yaml, and have a build step that dumps it into composer.json. Courier does this for node projects that want to write their package metadata in coffeescript.