# Contributor Guidelines

Welcome! We're glad you're interested in contributing! We welcome contributions from people of all backgrounds who are interested in making great software with us.

## How to get help

For questions, clarifications, and general help please first search [Github
discussions](https://github.com/rust-gpu/rust-gpu/discussions) and then ask your question if you can't find the answer.

## Issues

### Feature Requests

If you have ideas or how to improve our projects, you can suggest features by opening a GitHub issue. Make sure to include details about the feature or change, and describe any uses cases it would enable.

Feature requests will be tagged as `enhancement` and their status will be updated in the comments of the issue.

### Bugs

When reporting a bug or unexpected behaviour in a project, make sure your issue describes steps to reproduce the behaviour, including the platform you were using, what steps you took, and any error messages.

### Wontfix

Issues will be closed and tagged as `wontfix` if we decide that we do not wish to implement it, usually due to being misaligned with the project vision or out of scope. We will comment on the issue with more detailed reasoning.

## Contribution Workflow

### Open Issues

If you're ready to contribute, start by looking at our open issues tagged as [`help wanted`](../../issues?q=is%3Aopen+is%3Aissue+label%3A"help+wanted") or [`good first issue`](../../issues?q=is%3Aopen+is%3Aissue+label%3A"good+first+issue").

You can comment on the issue to let others know you're interested in working on it or to ask questions.

[open-issue]: https://github.com/rust-gpu/rust-gpu/issues/new

### Pull Request Process

1. Fork the repository.
2. Create a new feature branch.
3. Make your changes. Ensure that there are no build errors by running the project with your changes locally.
4. Open a pull request with a name and description of what you did. You can read more about working with pull requests on GitHub [here](https://help.github.com/en/articles/creating-a-pull-request-from-a-fork).
5. A maintainer will review your pull request and may ask you to make changes.

## Licensing

This project is licensed under a dual MIT OR Apache-2.0 license, allowing licensees to chose either at their option.

## Code of Conduct

Please note that our project has a [Contributor Code of Conduct](CODE_OF_CONDUCT.md) to
ensure it is a welcoming place for everyone to contribute. By participating in this
project, you agree to abide by these terms.
