Hey there, glad you are reading this, all contributions are welcome here!
If you are looking for ideas on what to help on check the issues tab.
Fork, then clone the repo:
$ git clone git@github.com:your-username/ssim.git
Set up your machine:
$ npm install && npm run build
Make sure the tests pass:
$ npm test
Now it's time to set up your editor.
This project requires following the linting style, full documentation and full unit test coverage. In order to make that easier, the following tasks that will let you know if anything is missing:
$ npm run lint
This task will run the linter (eslint). It's more convenient if you set up your editor to automatically highlight the rules for you. If you are using VSC you may want to use this extension. For Sublime, check out this one instead. Most editors will have an eslint plugin you can use.
$ npm run docs:check
This task will validate the documentation and give you pointers if any methods require more information. You can look at the rest of the code base for examples.
For any changes that add, modify or remove a feature you should add unit tests. In addition to that, if you are modifying the public API you should add end-to-end (e2e) tests. These are in the spec/unit
and spec/e2e
folders, respectively.
You can run unit tests with:
$ npm test
And integration ones with:
$ npm run e2e
If you are struggling to get CI to pass, just make a pull request and I'll help you sort out any issues.
- On your fork, create a new branch (
git checkout -b awesome-ssim-feature
) - Make your changes
- Add them (
git add -A
) - Commit them (
npm run commit
) - Follow the commitizen instructions
- Make a PR