Contributing
Thank you for your interest in contributing to Node.js! There are multiple ways and places you can contribute, and we're here to help facilitate that.
Asking for General Help
Because the level of activity in the nodejs/node
repository is so high, questions or requests for general help using Node.js should be directed at the Node.js help repository.
Reporting an Issue
If you have found what you believe to be an issue with Node.js please do not hesitate to file an issue on the GitHub project. When filing your issue please make sure you can express the issue with a reproducible test case, and that test case should not include any external dependencies. That is to say, the test case can be executed without anything more than Node.js itself.
When reporting an issue we also need as much information about your environment that you can include. We never know what information will be pertinent when trying to narrow down the issue. Please include at least the following information:
- Version of Node.js
- Platform you're running on (macOS, SmartOS, Linux, Windows)
- Architecture you're running on (32bit or 64bit and x86 or ARM)
The Node.js project is currently managed across a number of separate GitHub repositories, each with their own separate issues database. If possible, please direct any issues you are reporting to the appropriate repository but don't worry if things happen to get put in the wrong place, the community of contributors will be more than happy to help get you pointed in the right direction.
- To report issues specific to Node.js, please use nodejs/node
- To report issues specific to this website, please use nodejs/nodejs.org. Please check if issues have already been reported before creating a new one. The status page also reports any large-scale disruptions to the site and downloads.
Code contributions
If you'd like to fix bugs or add a new feature to Node.js, please make sure you consult the Node.js Contribution Guidelines. The review process by existing collaborators for all contributions to the project is explained there as well.
If you are wondering how to start, you can check Node Todo which may guide you towards your first contribution.
Becoming a collaborator
By becoming a collaborator, contributors can have even more impact on the project. They can help other contributors by reviewing their contributions, triaging issues and taking an even bigger part in shaping the project's future.
Existing collaborators may identify and nominate individuals who make significant and valuable contributions across any Node.js repository to be a new collaborator and give them commit access to the project. Activities taken into consideration include (but are not limited to) the quality of:
- Commits in the nodejs/node repository.
- Pull requests and issues opened in the nodejs/node repository.
- Comments on pull requests and issues in the nodejs/node repository
- Reviews on pull requests in the nodejs/node repository
- Help provided to end-users and novice contributors
- Pull requests and issues opened throughout the Node.js organization
- Comments on pull requests and issues throughout the Node.js organization
- Participation in other projects, teams, and working groups of the Node.js organization
- Other participation in the wider Node.js community
Collaborators might overlook someone with valuable contributions. In that case, the contributor may open an issue or contact a collaborator to request a nomination.