You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
3.4 KiB
80 lines
3.4 KiB
# Contributing to Overseerr
|
|
|
|
All help is welcome and greatly appreciated. If you would like to contribute to the project the steps below can get you started:
|
|
|
|
## Development
|
|
|
|
### Tools Required
|
|
|
|
- HTML/Typescript/Javascript editor of choice. ([VSCode](https://code.visualstudio.com/) is recommended. Upon opening the project, a few extensions will be automatically recommended for install.)
|
|
- [NodeJS](https://nodejs.org/en/download/) (Node 12.x.x or higher)
|
|
- [Yarn](https://yarnpkg.com/)
|
|
- [Git](https://git-scm.com/downloads)
|
|
|
|
### Getting Started
|
|
|
|
1. [Fork](https://help.github.com/articles/fork-a-repo/) the repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device.
|
|
```
|
|
git clone https://github.com/YOUR_USERNAME/overseerr.git
|
|
cd overseerr/
|
|
```
|
|
2. Add the remote upstream.
|
|
|
|
```
|
|
git remote add upstream https://github.com/sct/overseerr.git
|
|
```
|
|
|
|
3. Create a new branch
|
|
|
|
```
|
|
git checkout -b BRANCH_NAME develop
|
|
```
|
|
|
|
- Its recommended to name the branch something relevant to the feature or fix you are working on.
|
|
- An example of this would be `fix-title-cards` or `feature-new-system`.
|
|
- Bad examples would be `patch` or `bug`.
|
|
|
|
4. Run development environment
|
|
|
|
```
|
|
yarn
|
|
yarn dev
|
|
```
|
|
|
|
- Alternatively you can run using [Docker](https://www.docker.com/) with `docker-compose up -d`. This method does not require installing NodeJS or Yarn on your machine directly.
|
|
|
|
5. Create your patch and run appropriate tests.
|
|
|
|
6. Follow the [guidelines](#contributing-code).
|
|
|
|
7. Should you need to update your fork you can do so by rebasing from upstream.
|
|
|
|
```
|
|
git fetch upstream
|
|
git rebase upstream/develop
|
|
git push origin BRANCH_NAME -f
|
|
```
|
|
|
|
### Contributing Code
|
|
|
|
- If you are taking on an existing bug or feature ticket, please comment on the [GitHub Issue](https://github.com/sct/overseerr/issues) to avoid multiple people working on the same thing.
|
|
- All commits **must** follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
|
|
- It is okay if you squash your PR down to be a single commit that fits this standard.
|
|
- PRs with commits not following this standard will not be merged.
|
|
- Please make meaningful commits, or squash them
|
|
- Always rebase your commit to the latest `develop` branch. Do not merge develop into your branch.
|
|
- It is your responsibility to keep your branch up to date. It will not be merged unless its rebased off the latest develop branch.
|
|
- You can create a Draft pull request early to get feedback on your work.
|
|
- Your code must be formatted correctly or the tests will fail.
|
|
- We use Prettier to format our codebase. It should auto run with a git hook, but its recommended to have a Prettier extension installed in your editor and have it format on save.
|
|
- If you have questions or need help, you can reach out in [GitHub Discussions](https://github.com/sct/overseerr/discussions) or in our [Discord](https://discord.gg/PkCWJSeCk7).
|
|
- Only open pull requests to `develop`. Never `master`. Any PR's opened to master will be closed.
|
|
|
|
## Translation
|
|
|
|
We use [Weblate](https://hosted.weblate.org/engage/overseerr/) for our translations so please feel free to contribute to localizing Overseerr!
|
|
|
|
## Attribution
|
|
|
|
This contribution guide was inspired by the [Next.js](https://github.com/vercel/next.js) and [Radarr](https://github.com/Radarr/Radarr) contribution guides.
|