IMHO this tool should work as the `Composer` - the bin file `composer.phar`. It can be installed globally and renamed to `gsh` and used in anywhere the user want.

I don't see any reason to have this tool in all my projects via `composer.json` when I can have it in my `$PATH` or `/usr/local/bin` folder and use wherever I want to.

Also it should have a `self-update` command to allow update it.