/welcome

💡 Info about the nice-registry project

Nice Registry

The nice registry is a collection of tools that make it easier to work with the npm package registry and learn things from it.

These projects seek to answer questions like:

Why?

There is a wealth of useful information in the npm registry, but it's difficult to access.

npm Incorporated does not have a public API for collecting or querying registry metadata. Back in early 2015, they created a private internal registry API that is accessible exclusively to the npm website and npm CLI, and after more than two years there are still no signs of that API becoming publicly available.

Datasets

Some of the projects in this org are not really tools, but datasets collected by conusming the entire registry and filtering for various criteria.

Code of Conduct

This project adheres to the Contributor Covenant, a code of conduct for open source projects.

be overt in our openness, welcoming all people to contribute, and pledging in return to value them as human beings and to foster an atmosphere of kindness, cooperation, and understanding.

Contributing

Projects in this organization follow the open open source contribution model:

Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project.

Many of these repos also adhere to the Scripts To Rule Them All pattern popularized by GitHub:

If your scripts are normalized by name across all of your projects, your contributors only need to know the pattern, not a deep knowledge of the application. This means they can jump into a project and make contributions without first learning how to bootstrap the project or how to get its tests to run.

The intricacies of things like test commands and bootstrapping can be managed by maintainers, who have a rich understanding of the project's domain. Individual contributors need only to know the patterns and can simply run the commands and get what they expect.

Automation

Many of the modules in this org are self-updating. They have release scripts that run hourly or daily using Heroku Scheduler, on dynos that have npm and GitHub authentication credentials baked in.

For more details on this automation technique, see the Sweet Sensation of Automation blog post.

Related Projects