## Contributing to Caddy Welcome! Our community focuses on helping others and making Caddy the best it can be. We gladly accept contributions and encourage you to get involved! ### Join us in chat Please direct your discussion to the correct room: - **Dev Chat:** [gitter.im/mholt/caddy](https://gitter.im/mholt/caddy) - to chat with other Caddy developers - **Support:** [gitter.im/caddyserver/support](https://gitter.im/caddyserver/support) - to give and get help - **General:** [gitter.im/caddyserver/general](https://gitter.im/caddyserver/general) - for anything about Web development ### Bug reports First, please [search this repository](https://github.com/mholt/caddy/search?q=&type=Issues&utf8=%E2%9C%93) with a variety of keywords to ensure your bug is not already reported. If not, [open an issue](https://github.com/mholt/caddy/issues) and answer the questions so we can understand and reproduce the problematic behavior. The burden is on you to convince us that it is actually a bug in Caddy. This is easiest to do when you write clear, concise instructions so we can reproduce the behavior (even if it seems obvious). The more detailed and specific you are, the faster we will be able to help you. Check out [How to Report Bugs Effectively](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html). Please be kind. :smile: Remember that Caddy comes at no cost to you, and you're getting free help. If we helped you, please consider [donating](https://caddyserver.com/donate) - it keeps us motivated! ### Minor improvements and new tests Submit [pull requests](https://github.com/mholt/caddy/pulls) at any time. Make sure to write tests to assert your change is working properly and is thoroughly covered. We'll ask most pull requests to be [squashed](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html), especially with small commits. ### Proposals, suggestions, ideas, new features First, please [search](https://github.com/mholt/caddy/search?q=&type=Issues&utf8=%E2%9C%93) with a variety of keywords to ensure your suggestion/proposal is new. If so, you may open either an issue or a pull request for discussion and feedback. The advantage of issues is that you don't have to spend time actually implementing your idea, but you should still describe it thoroughly. The advantage of a pull request is that we can immediately see the impact the change will have on the project, what the code will look like, and how to improve it. The disadvantage of pull requests is that they are unlikely to get accepted without significant changes, or it may be rejected entirely. Don't worry, that won't happen without an open discussion first. If you are going to spend significant time implementing code for a pull request, best to open an issue first and "claim" it and get feedback before you invest a lot of time. ### Collaborator status If your pull request is merged, congratulations! You're technically a collaborator. We may also grant you "Collaborator status" which means you can push to the repository and merge other pull requests. We hope that you will stay involved by reviewing pull requests, submitting more of your own, and resolving issues as you are able to. Thanks for making Caddy amazing! ### Vulnerabilities If you've found a vulnerability that is serious, please email me: Matthew dot Holt at Gmail. If it's not a big deal, a pull request will probably be faster. ## Thank you Thanks for your help! Caddy would not be what it is today without your contributions.