I welcome contributions large and small, and I'm happy to help new developers gets started working on public code.
If you have a feature idea or discover a bug, please open an issue so we can discuss it before you spend too much time trying to implement a solution.
If you have code the addresses an issue, please make a reference to the issue in a comment on your pull request so it is easy to see the connections. If you just want to refactor some code that is messier than it should be (again there is a lot of that) just go ahead and open a pull request when you're ready.
I have setup ESLint on this project to largely follow the airbnb standard. I'm not a fan on debating standards but I love having them, so I picked a popular one and I'm sticking it as fairly carefully. Try to make sure your code passes linting before you open your pull request. All the tools you need should be installed by npm when you setup the code base, and any good editor will have support for helping you find and fix errors. If you don't know how to do that, mention that in your comment, along with your editor and OS, and I'll try to find you directions.
I want to give contributors as much credit as reasonably possible, so I may provide you feedback on your pull request instead of just merging and fixing the issues myself. That's meant to be helpful, but if it gets frustrating please let me know and I'll try to find another way to move it forward.