# Contributing to Lita

## Issues

Found a bug in Lita? Open an issue on [GitHub Issues](https://github.com/jimmycuadra/lita/issues). For general questions, feedback, and discussion, please visit [Google Groups](http://groups.google.com/group/litaio) or the `#lita.io` channel on the [Freenode IRC network](https://webchat.freenode.net/).

## Pull requests

Interested in contributing to Lita? That's great, and thank you for your interest!

In order to keep Lita's codebase from growing too large, you're encouraged to implement new functionality via a [plugin](https://www.lita.io/plugin-authoring). If you're not able to achieve what you want with a plugin, then a pull request may be in order. Out of respect for your time, open an issue to discuss any non-trivial changes you intend to make before starting to write code. If you are planning a pull request to improve documentation, fix a bug, or improve performance, then feel free to proceed without opening an issue for discussion.

To get your contributions accepted, make sure:

* All the tests pass. Run `rspec`.
* No code quality warnings are generated by [RuboCop](https://github.com/bbatsov/rubocop). Run `rubocop`.
* Any new code paths you've added are covered by tests.
* Any new classes or methods you've added have API documentation compatible with [YARD](http://yardoc.org/). If you've significantly changed the behavior of an existing class or method, you should also update any existing API documentation.
