Hello there! First of all, thanks for being interested in spike-records and helping out. We all think you are awesome, and by contributing to open source projects, you are making the world a better place. That being said, there are a few ways to make the process of contributing code to spike-records smoother, detailed below:
If you are opening an issue about a bug, make sure that you include clear steps for how we can reproduce the problem. If we can't reproduce it, we can't fix it. If you are suggesting a feature, make sure your explanation is clear and detailed.
- Clone the project down
- Make sure nodejs has been installed and is above version
6.0.0
- Run
npm install
- Put in work
You can run the tests with npm test
. They are written using ava.
This project uses ES6 directly through node >= v6. To keep a consistent coding style in the project, we are using standard js. In order for tests to pass, all code must pass standard js linting. This project also uses an editorconfig. It will make life much easier if you have the editorconfig plugin for your text editor. For any inline documentation in the code, we're using JSDoc.
It's ok if you start out with a bunch of experimentation and your commit log isn't totally clean, but before any pull requests are accepted, we like to have a nice clean commit log. That means well-written and clear commit messages and commits that each do something significant, rather than being typo or bug fixes.
If you submit a pull request that doesn't have a clean commit log, we will ask you to clean it up before we accept. This means being familiar with rebasing - if you are not, this guide by github should help you to get started. And if you are still confused, feel free to ask!