If you want to create such a registry yourself, you may want to take a look at npm, the package manager of Node.js, which is open-source and very similar in scope to want you describe. Npm is both:
- a central registry with metadata about each library:
- name, description, keywords, homepage, author, contributors
- version number, in principle complying with semantic versioning
- URL of source repository (svn, git, github, gitlab, bitbucket...)
- compatibility information (in this case it's about the versions of Node)
- license
- dependencies
- a command-line tool for:
- searching the registry
- downloading and installing packages, recursively following their dependencies
- publishing and updating your own packages on the registry.
See for example the page of a popular library, and the JSON file holding its metadata.