# Contributing

## Prerequisites

Reviewing the following will prepare you for contributing

For code contributors:

* You need to be familiar with writing code in golang.  See the [golang tour](https://tour.golang.org/welcome/1) to familiarize yourself.
* Read the Developer [contribution page](https://github.com/kubevirt/kubevirt/blob/master/CONTRIBUTING.md) and the [getting started page](https://github.com/kubevirt/kubevirt/blob/master/docs/getting-started.md).

For all contributors:

* You need to be comfortable with git, GitHub workflow of fork, branch, commit, open pull request, reviewing changes, and merge to work effectively in the KubeVirt community.  If you're new to git git-scm.com very nice tutorials [here](https://git-scm.com/doc).
* Familiarize yourself with the various repositories of the [KubeVirt](https://github.com/kubevirt) GitHub organization.
* Try the Deploy KubeVirt on [minikube](https://kubevirt.io/quickstart_minikube/) or [kind](https://kubevirt.io/quickstart_kind/) quickstart lab.
* Try the [Using KubeVirt](https://kubevirt.io/labs/kubernetes/lab1.html) lab.
* See the other ways to contribute section

## Your first contribution

The following will help you decide where to start

* Check a repository issues list and label `good-first-issue` for issues that make good entry points.
* Open a pull request using GitHub to documentation.
* Review a pull request from other community members for accuracy and language.

## Other ways to contribute

* Visit the KubeVirt [community page](https://kubevirt.io/community/), participate on Twitter or Stack Overflow, learn about local meetups and events.
* Visit the KubeVirt [website repository](https://github.com/kubevirt/kubevirt.github.io) and submit a blog post, case study or lab.
