Thank you for your interest in contributing to aniwatch-api. We appreciate whatever form of contribution you are willing to make. Every contribution counts ✨
- Types of contributions we are looking for
- Ground Rules & Expectations
- How To Contribute
- Prerequisites
- Commit Messages
In short, we welcome any sort of contribution you are willing to make as each and every contribution counts. We gladly accept contributions such as:
- Documentation improvements: from minor typos to major document overhauls
- Helping others by answering questions in pull requests.
- Fixing known bugs.
Before we begin, here are a few things we anticipate from you and that you should expect from others:
- Be respectful and thoughtful in your conversations around this project. Each person may have their own views and opinions about the project. Try to listen to each other and reach an agreement or compromise.
If you'd like to contribute, start by searching through the issues and pull requests to see whether someone else has raised a similar idea or question.
If you don't see your idea listed, and you think it fits into the goals of this guide, you may do one of the following:
- If your contribution is minor, such as a typo fix or new provider, consider opening a pull request.
- If your contribution is major, such as a major refactor, start by opening an issue first. That way, other people can weigh in on the discussion before you do any work.
To contribute to this project, you must know the following:
- NodeJS
- TypeScript
- Web Scraping
- Fork the repository
- Clone your fork to your local machine using the following command (replace <your_username> with your actual GitHub username)
git clone https://github.com/<your_username>/aniwatch-api
- Creating a new branch
Replace <new-branch-name> with any of the following naming conventions:
feature/<branch-name>
- for adding new featuresbug/<branch-name>
- for fixing known bugsmisc/<branch-name>
- for anything other than bug or features
git checkout -b <new-branch-name>
-
src
directory contains all the source code required for this projectcontrollers
directory contains all the controller logictypes
directory contains all types & interfaces used for this projectparsers
directory contains all the parsing aka scraping logicroutes
directory contains all the routersutils
directory contains handy utility methods and propertiesconfig
directory contains api configuration related filesextractors
directory contains anime streaming url extractor files
-
test
directory contains all the tests that needs to be evaluated
When you've made changes to one or more files, you have to commit that file. You also need a message for that commit.
We follow Conventional Commit Messages.
A brief overview:
feat
: A feature, possibly improving something already existingfix
: A fix, for example of a bugperf
: Performance related changerefactor
: Refactoring a specific section of the codebasestyle
: Everything related to styling code like whitespaces, tabs, indenting, etc.test
: Everything related to testingdocs
: Everything related to documentationchore
: Code maintenance
Examples:
docs: fixed typo in readme
feat: added a new category parser
fix: fixed search results bug