# Contributing to Helion
We want to make contributing to this project as easy and transparent as
possible.

## Pull Requests
We actively welcome your pull requests.

1. Fork the repo and create your branch from `main`.
2. If you've added code that should be tested, add tests.
3. If you've changed APIs, update the documentation.
4. Ensure the test suite passes.
5. Make sure your code lints (run `./lint.sh install && ./lint.sh`).
6. If you haven't already, complete the Contributor License Agreement ("CLA").

## Contributor License Agreement ("CLA")
In order to accept your pull request, we need you to submit a CLA. You only need
to do this once to work on any of Meta's open source projects.

Complete your CLA here: <https://code.facebook.com/cla>

## Issues
We use GitHub issues to track public bugs. Please ensure your description is
clear and has sufficient instructions to be able to reproduce the issue.

Meta has a [bounty program](https://bugbounty.meta.com/) for the safe
disclosure of security bugs. In those cases, please go through the process
outlined on that page and do not file a public issue.

## Coding Style
* Code is formatted and checked using [ruff](https://docs.astral.sh/ruff/formatter/).
* All files must be typed with [pyrefly](https://pyrefly.org/).
* Run `./lint.sh install && ./lint.sh` to check your code.  Many formatting issues can be fixed automatically.

## License
By contributing to Helion, you agree that your contributions will be licensed
under the LICENSE file in the root directory of this source tree.
