# Contributing to Hey 🌸

👍🎉 Thank you for your interest in contributing to Hey! 🎉👍

Hey is an open-source project maintained by [Hey team](https://github.com/heyxyz). We appreciate your interest and efforts to contribute to Hey.

Anyone can be a contributor. Either you found a typo, or you have an awesome feature request you could implement, we encourage you to create a Merge Request.

All efforts to contribute are highly appreciated, we recommend you talk to a maintainer prior to spending a lot of time making a merge request that may not align with the project roadmap.

## Values

- **Be the change** - Don't wait for anything, if you want something ship it but make sure it is sustainable for the long term.
- **Pride in product** - We ask ourselves whether we will use the feature if it goes live before creating it.
- **Diversity** - We welcome differences, and listen before we speak. It proportionally leads to extraordinary results and experiences.

## Open Development & Community Driven

Hey is an open-source project. See the [LICENSE](https://github.com/heyxyz/hey/blob/main/LICENSE) file for licensing information. All the work done is available on GitHub.

The maintainers and the contributors send merge requests which go through the same validation process.

## Feature Requests

Feature Requests by the community are highly encouraged. Please feel free to create an [issue](https://github.com/heyxyz/hey/issues/new) or to upvote 👍 [an existing issue](https://github.com/heyxyz/hey/issues) in the GitHub.

## Code of Conduct

This project and everyone participating in it are governed by the [Code of Conduct](https://github.com/heyxyz/hey/blob/main/CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please read the [full text](https://github.com/heyxyz/hey/blob/main/CODE_OF_CONDUCT.md) so that you can read which actions may or may not be tolerated.

## Bugs

We are using [GitHub Issues](https://github.com/heyxyz/hey/issues) to manage our public bugs. We keep a close eye on this so before filing a new issue, try to make sure the problem does not already exist.

---

## Submitting a Merge Request

- Merge Requests should be raised for any change and it will be approved by a maintainer before merging.
- The latest changes are always in `main` branch, so please create your branch from `main`.
- If you’ve fixed a bug or added code that should be tested, add the tests and then link the corresponding issue in either your commit or your PR.
- Run `pnpm lint` before committing to make resolving conflicts easier (VSCode users, check out this extension to fix lint issues in development)
- We encourage you to test your changes, and if you have the opportunity, please make those tests part of the Merge Request.
- If you add new functionality, please provide the corresponding documentation as well and make it part of the Merge Request.
- The Merge Request should be raised against main branch.

## Contribution Prerequisites

- You have [Node](https://nodejs.org/en/) at >= v14.
- You are familiar with Git.

## Development Workflow

First of all, you need to check if you're satisfying the `Contribution Prerequisites`

Then, please follow the instructions in [LOCAL_DEVELOPMENT_GUIDE](docs/development.md).

---

## Happy Contributing 🥳
