Tools for Node.js Contributors
Node contributions are managed under an open governance model. Everybody is welcome to contribute. Individuals making significant contributions aremade Collaborators and given commit-access to the project.
Automatically check your commit messages
Node has strict rules about the format of a commit message. So strict that it’s often hard to remember all of them. Luckily, there’s the handy core-validate-commit tool to help you (shoutout to Evan Lucas👏)
Install it and run it on every commit that you open a PR for and for every commit that you merge as a collaborator. core-validate-commit is invaluable for a smooth review process.
Filter pull requests
We merge pull requests manually. We currently have more than 300 open PRs. To work through them, it’s useful to filter for PRs that are ready to merge, i.e., approving reviews and passing CI. With the right search terms on GitHub, that’s easy:
is:pr is:open status:success review:approved
This results in 10 issues. Wait, only 10 out of 334? The CI is often flaky on specific architectures. We fall back to manually inspecting the CI results (11 out of 12 checks is usually good enough). Still, we can narrow the results and then happily approve, merge, and close away:
is:pr is:open review:approved -label:semver-major -label:"in progress"
We annotate every PR with metadata, the PR Url and reviewers. Use the node-review chrome extension and let it generate the metadata for you.
Filter email notifications
The Node repository has a lot of traffic, keeping up to date with all email notifications is impossible. I filter for notifications that specifically mention my GitHub handle and only skim the other notifications. Whatever your system, you probably need some kind of filtering to be effective with GitHub notifications.