So in the general case, there is nothing very unusual about such a situation. Not being published is not actually 'special', it is the default state. That being said, not all projects are automagically available through Composer – to make that happen, the author needs to register for a account and publish each project there first. I think it is perfectly reasonable to assume that it will have an obvious name by default. naneau/php-obfuscator, or that you will find the name by reading the project's "composer.json" file. It could be that the author assumed you will simply try the same name as in the GitHub address, i.e. (They sometimes have very non-obvious names there.) And the project is available through Composer, too, and has had a composer.json file since the beginning.Īlso, note that the author doesn't mention what the library is actually called in Composer, which I find extremely strange. However, it doesn't actually require some "git" stuff that's just what the project author describes in the README. The project's README seems to be written with the standalone bin/obfuscate tool in mind – it's very likely that the author did not plan on it being used as a library at all!
Why is this particular library special in that it requires some "git" stuff? The only answer is "It's what the project's author decided to put in the README", and unless you go and ask them directly, you will only get answers that try to guess at some unknown person's thought process
There is no 'technical' answer to your main question.