What if npm was capable of installing any git repo as a module?
If no package.json file was found, npm could attempt doing git describe master for a version number, and the name of the repo could be used as a name. These 2 data points are the only required items for package.json
git describe master
I think requiring that it have a package.json (or an index.js with a metadata comment) is reasonable. No.