## How to contribute to Spring Cloud AWS

#### **Did you find a bug?**

* **Do not open up a GitHub issue if the bug is a security vulnerability
  in Spring Cloud AWS**, and instead to refer to our [security policy](https://github.com/awspring/spring-cloud-aws/blob/main/SECURITY.md).

* **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/awspring/spring-cloud-aws/issues).

* If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/awspring/spring-cloud-aws/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, ideally with a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.

#### **Did you write a patch that fixes a bug?**

* Open a new GitHub pull request with the patch.

* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.

#### **Do you intend to add a new feature or change an existing one?**

* Suggest your change in the [Issues](https://github.com/awspring/spring-cloud-aws/issues).

* Start writing code once the issue got approved by project maintainers.

* In addition to actual implemented feature, remember to:

  * update reference docs
  * consider providing/updating one of the [sample applications](https://github.com/awspring/spring-cloud-aws/tree/main/spring-cloud-aws-samples)
  * each public class should have a Javadoc
  * code has to have tests
  * each package has to have `package-info.java` file definining nullability rules ([example](https://github.com/awspring/spring-cloud-aws/blob/main/spring-cloud-aws-core/src/main/java/io/awspring/cloud/core/package-info.java))
  * each nullable field, method parameter, method return value, if can be null, has to be annotated with `org.springframework.lang.Nullable`.

#### **Do you have questions about the source code?**

* Ask any question about how to use Spring Cloud AWS in the [Discussions](https://github.com/awspring/spring-cloud-aws/discussions).

#### **Using Gitpod**

To avoid setting up your local development environment, you can use [Gitpod](https://www.gitpod.io/) and develop directly in browser based Visual Studio Code, or [JetBrains Client via JetBrains Gateway](https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway).

[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)

**Note**: The above button does not work on Privacy oriented browsers, please [click here](https://gitpod.io/#https://github.com/awspring/spring-cloud-aws/)  to open the project on gitpod.

Thanks!
