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 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.

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, triage issues and take an even bigger part in shaping the project's future. Individuals identified by the TSC as making significant and valuable contributions across any Node.js repository may be made Collaborators and given commit access to the project. Activities taken into consideration include (but are not limited to) the quality of:

  • code commits and pull requests
  • documentation commits and pull requests
  • comments on issues and pull requests
  • contributions to the Node.js website
  • assistance provided to end users and novice contributors
  • participation in Working Groups
  • other participation in the wider Node.js community

If individuals making valuable contributions do not believe they have been considered for commit access, they may log an issue or contact a TSC member directly.