Skip to content
Permalink
latest
Switch branches/tags
Go to file
PR-URL: #3216
Credit: @mrmlnc
Close: #3216
Reviewed-by: @darcyclarke
12 contributors

Users who have contributed to this file

@isaacs @darcyclarke @watilde @snopeks @reggi @timoxley @mrmlnc @zkat @chowkapow @dylanzt @danielleadams @pavanbellamkonda

Contributing

Code of Conduct

All interactions in the npm organization on GitHub are considered to be covered by our standard Code of Conduct.

Development

1. Clone this repository...

$ git clone git@github.com:npm/cli.git npm

2. Navigate into project & install development-specific dependencies...

$ cd ./npm && npm install

3. Write some code &/or add some tests...

...

4. Run tests & ensure they pass...

$ npm run test

5. Open a Pull Request for your work & become the newest contributor to npm! 🎉

Test Coverage

We expect that every new feature or bug fix comes with corresponding tests that validate the solutions. We strive to have as close to, if not exactly, 100% code coverage.

You can find out what the current test coverage percentage is by running...

$ npm run check-coverage

Performance & Benchmarks

We've set up an automated benchmark integration that will run against all Pull Requests; Posting back a comment with the results of the run.

Example:

image

You can learn more about this tool, including how to run & configure it manually, here

Dependency Updates

It should be noted that our team does not accept third-party dependency updates/PRs. We have a release process that includes checks to ensure dependencies are staying up-to-date & will ship security patches for CVEs as they occur. If you submit a PR trying to update our dependencies we will close it with or without a reference to these contribution guidelines.

Reporting Bugs

When submitting a new bug report, please first search for an existing or similar report & then use one of our existing issue templates if you believe you've come across a unique problem. Duplicate issues, or issues that don't use one of our templates may get closed without a response.