2022-02-22 12:33:23 +00:00
# Contributing to Cal.com
2022-07-05 01:41:22 +00:00
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated** .
2022-02-22 12:33:23 +00:00
- Before jumping into a PR be sure to search [existing PRs ](https://github.com/calcom/cal.com/pulls ) or [issues ](https://github.com/calcom/cal.com/issues ) for an open or closed item that relates to your submission.
2023-03-10 20:00:19 +00:00
## Priorities
2023-02-17 09:59:46 +00:00
< table >
< tr >
< td >
Type of Issue
< / td >
< td >
Priority
< / td >
< / tr >
< tr >
< td >
Minor improvements, non-core feature requests
< / td >
< td >
< a href = "https://github.com/calcom/cal.com/issues?q=is:issue+is:open+sort:updated-desc+label:%22Low+priority%22" >
< img src = "https://img.shields.io/badge/-Low%20Priority-green" >
< / a >
< / td >
< / tr >
< tr >
< td >
Confusing UX (... but working)
< / td >
< td >
< a href = "https://github.com/calcom/cal.com/issues?q=is:issue+is:open+sort:updated-desc+label:%22Medium+priority%22" >
< img src = "https://img.shields.io/badge/-Medium%20Priority-yellow" >
< / a >
< / td >
< / tr >
< tr >
< td >
Core Features (Booking page, availabilty, timezone calculation)
< / td >
< td >
< a href = "https://github.com/calcom/cal.com/issues?q=is:issue+is:open+sort:updated-desc+label:%22High+priority%22" >
< img src = "https://img.shields.io/badge/-High%20Priority-orange" >
< / a >
< / td >
< / tr >
< tr >
< td >
Core Bugs (Login, Booking page, Emails are not working)
< / td >
< td >
< a href = "https://github.com/calcom/cal.com/issues?q=is:issue+is:open+sort:updated-desc+label:Urgent" >
< img src = "https://img.shields.io/badge/-Urgent-red" >
< / a >
< / td >
< / tr >
< / table >
2022-02-22 12:33:23 +00:00
## Developing
The development branch is `main` . This is the branch that all pull
requests should be made against. The changes on the `main`
2022-03-03 09:54:51 +00:00
branch are tagged into a release monthly.
2022-02-22 12:33:23 +00:00
To develop locally:
1. [Fork ](https://help.github.com/articles/fork-a-repo/ ) this repository to your
own GitHub account and then
[clone ](https://help.github.com/articles/cloning-a-repository/ ) it to your local device.
2. Create a new branch:
```sh
git checkout -b MY_BRANCH_NAME
```
3. Install yarn:
```sh
npm install -g yarn
```
4. Install the dependencies with:
```sh
yarn
```
2023-05-17 22:11:28 +00:00
5. Set up your `.env` file:
2023-06-28 13:43:18 +00:00
- Duplicate `.env.example` to `.env` .
2023-05-17 22:11:28 +00:00
- Use `openssl rand -base64 32` to generate a key and add it under `NEXTAUTH_SECRET` in the `.env` file.
- Use `openssl rand -base64 24` to generate a key and add it under `CALENDSO_ENCRYPTION_KEY` in the `.env` file.
6. Start developing and watch for code changes:
2022-02-22 12:33:23 +00:00
```sh
yarn dev
```
## Building
You can build the project with:
```bash
yarn build
```
Please be sure that you can make a full production build before pushing code.
## Testing
2022-03-03 09:54:51 +00:00
More info on how to add new tests coming soon.
2022-02-22 12:33:23 +00:00
### Running tests
This will run and test all flows in multiple Chromium windows to verify that no critical flow breaks:
```sh
yarn test-e2e
```
## Linting
To check the formatting of your code:
```sh
yarn lint
```
2022-03-09 14:47:29 +00:00
If you get errors, be sure to fix them before committing.
2022-02-22 12:33:23 +00:00
## Making a Pull Request
- Be sure to [check the "Allow edits from maintainers" option ](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork ) while creating you PR.
2023-03-05 22:00:57 +00:00
- If your PR refers to or fixes an issue, be sure to add `refs #XXX` or `fixes #XXX` to the PR description. Replacing `XXX` with the respective issue number. See more about [Linking a pull request to an issue
2022-02-22 12:33:23 +00:00
](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue).
- Be sure to fill the PR Template accordingly.