<!--
@page contributing How to Contribute
@parent guides 4

@body
-->

Thank you for contributing to CanJS!  If you need any help setting up a CanJS development environment and fixing CanJS bugs, please reach out to us on the [canjs/canjs Gitter channel](https://gitter.im/canjs/canjs) or email (contact@bitovi.com).  We will happily walk you through setting up your environment, creating a test, and submitting a pull request. Here is a video showing how to contribute to CanJS:

<iframe width="662" height="372" src="https://www.youtube.com/embed/PRuueWqnpIw" frameborder="0" allowfullscreen></iframe>

For more details we have the following more in-depth contribution guides:

 - [guides/contributing/bug-report Report a bug]
 - [guides/contributing/feature-suggestion Suggest a feature]
 - [guides/contributing/code Code changes]
 - [guides/contributing/documentation Documentation improvements]
 - [Create a plugin](https://donejs.com/plugin.html)
 - [guides/contributing/evangelism Evangelism - Blog, meetup and conference talks]
 - [guides/contributing/releases Releases - Maintaining CanJS]

## 3.0 Changes

In 3.0, nearly every module has its own repository.  All code changes should go there.  Issues can be submitted to `canjs/canjs`, but once we know the root of the issue, we will move it to a specific repository.  

