# Contributing

Welcome! We are excited that you are interested in contributing to Kuzu.
Before submitting your contribution though, please make sure to take a moment and read through the following guidelines.

Join our project's [Discord community](https://discord.gg/VtX2gw9Rug) for real-time communication with the core team and other contributors.
If you have a question or need help, feel free to ask in the appropriate channel or create an issue.

## Code of Conduct

This project and everyone participating in it is governed by a [Code of Conduct](CODE_OF_CONDUCT.md).
By participating, you are expected to uphold this code. 
Please report unacceptable behavior to [contact@kuzudb.com](mailto:contact@kuzudb.com).

## Agreeing to the Contributor Agreement
When you contribute code, you affirm that the contribution is your original work and that you have read and agreed to the project's [Contributor Agreement (CLA) document  here](CLA.md). 
Whether or not you state this explicitly, by submitting any copyrighted material via pull request, email, or other means you affirm that you agree to the [CLA](CLA.md) and warrant that you have the legal authority to do so.

## General Steps and Guidelines to Contribute
* Discuss your intended changes with the core team on Github or Discord, so we can assign appropriate issue(s) for you to work on.
* Do not commit/push directly to the master branch. Instead, create a fork and open a pull request.
* While you're working on the issue, please merge frequently with the master branch.
* All pull requests with new features and bug fixes should be covered by proper tests.
* Avoid large pull requests - they are much less likely to be merged as they are incredibly hard to review.
* We reserve full and final discretion over whether or not we will merge a pull request. Adhering to these guidelines is not a complete guarantee that your pull request will be merged.

Thank you for your contribution to Kuzu! We're grateful for your time and effort, and we look forward to working with you.
