# Rack::Attack: Contributing Thank you for considering contributing to Rack::Attack. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Code of Conduct](CODE_OF_CONDUCT.md). ## How can I help? Any of the following is greatly appreciated: * Helping users by trying to answer their [questions](https://github.com/rack/rack-attack/discussions/categories/questions-q-a) * Helping users troubleshoot their [error reports](https://github.com/rack/rack-attack/issues?q=is%3Aissue+is%3Aopen+label%3A%22type%3A+error+report%22) to figure out if the error is caused by an actual bug or some misconfiguration * Giving feedback by commenting in other users [ideas](https://github.com/rack/rack-attack/discussions/categories/ideas-proposals) or [general discussions](https://github.com/rack/rack-attack/discussions/categories/general) * Open a [new issue](https://github.com/rack/rack-attack/issues/new) if you are experiencing an error and know the 'Steps to reproduce' * Start a [new discussion](https://github.com/rack/rack-attack/discussions/new) if you have an idea you think it would be useful for many users * Start a [new discussion](https://github.com/rack/rack-attack/discussions/new) if you have a question * If you want to work on fixing an actual issue and you don't know where to start, those labeled [good first issue](https://github.com/rack/rack-attack/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) may be a good choice ## Style Guide As an effort to keep the codebase consistent, we encourage the use of [Rubocop](https://github.com/bbatsov/rubocop). This tool helps us abstract most of the decisions we have to make when coding. To check your code, simply type `bundle exec rubocop` in the shell. The resulting output are all the offenses currently present in the code. It is highly recommended that you integrate a linter with your editor. This way you receive real time feedback about your code. Most editors have some kind of plugin for that.