We love pull requests from everyone. By contributing to this repository, you agree to abide by the Code of Conduct.
-
First fork the repository and then clone it using:
git clone [email protected]:your-username/algot.git
-
After that create a branch for your changes. For example:
- feat-XXX if you will add new algorithms or data structures.
- fix-XXX if you will fix a bug on a certain algorithm or data structure.
- test-XXX if you wrote a test/s.
- doc-XXX if you added to or edited documentation or type doc.
You may contribute by:
- implementing new algorithms in the repo. Be sure to keep it under right section (e.g. sort, etc). Make a new section for it if it doesn't fall under any section. Make sure that your implementation works.
- optimizing or improving the existing algorithms.
- adding a different solution for the problem.
- finding and fixing bugs.
- adding examples to explain the algorithms better.
- adding test cases.
- improving documentation.
Push to your fork and submit a pull request.
We will review and may suggest some changes or improvements or alternatives. Some things that will increase the chance that your pull request is accepted:
- All algorithms should be written in Typescript.
- Write clean and understandable code.
- Properly comment the code and explain what the algorithm is doing, add time complexity, space complexity in the typedoc.
- You may also explain the output using a minimal example.
- Try to also include a test cases for the algorithm.
- Write a good commit message.
Submit a new issue if there is an algorithm to add, or if a bug was found in an existing algorithm. Before submitting a new issue please review the existing issues to avoid creating duplicates. Also, consider resolving current issues or contributing to the discussion on an issue.
You can ask for any help or clarifications from the collaborators. Aris Kemper