# How to contribute

Anyone who is well-grounded in the subject of this library can speed things up!

At this moment contributors may help to make:

* Additional implementations for existing API sections. Here are by the way some features that current version misses: breadth-first traversal, lightweight array-based implementations of stacks and queues, circular doubly-linked list, 2-4 tree, additional comparators for certain practical cases.
* Better documentation (keeping docs up-to-date and with enough details takes a lot of time really :).

Every pull request that meets the [project structure](https://alex-myznikov.gitbook.io/adsjs/contribution-notes/project-structure) and satisfies the following rules will be considered for merging:

* 100% test coverage report.
* Passing `npm run lint` without errors and warnings.
* Descriptions in code are detailed: "function doSmthn() { } // Does something" will be rejected.

If you've found some bugs or mistakes please [open issues on GitHub](https://github.com/alex-myznikov/ads-js/issues).
