1# Contributing to Curator 2 3All contributions are welcome: ideas, patches, documentation, bug reports, 4complaints, etc! 5 6Programming is not a required skill, and there are many ways to help out! 7It is more important to us that you are able to contribute. 8 9That said, some basic guidelines, which you are free to ignore :) 10 11## Want to learn? 12 13Want to write your own code to do something Curator doesn't do out of the box? 14 15* [Curator API Documentation](http://curator.readthedocs.io/) Since version 2.0, 16Curator ships with both an API and wrapper scripts (which are actually defined 17as entry points). This allows you to write your own scripts to accomplish 18similar goals, or even new and different things with the 19[Curator API](http://curator.readthedocs.io/), and the 20[Elasticsearch Python API](http://elasticsearch-py.readthedocs.io/). 21 22Want to know how to use the command-line interface (CLI)? 23 24* [Curator CLI Documentation](http://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html) 25 The Curator CLI Documentation is now a part of the document repository at 26 http://elastic.co/guide at 27 http://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html 28 29Want to lurk about and see what others are doing with Curator? 30 31* The irc channels (#logstash and #elasticsearch on irc.freenode.org) are good 32 places for this 33 34## Got Questions? 35 36Have a problem you want Curator to solve for you? 37 38* You are welcome to join the IRC channel #logstash (or #elasticsearch) on 39irc.freenode.org and ask for help there! 40 41## Have an Idea or Feature Request? 42 43* File a ticket on [github](https://github.com/elastic/curator/issues) 44 45## Something Not Working? Found a Bug? 46 47If you think you found a bug, it probably is a bug. 48 49* File it on [github](https://github.com/elastic/curator/issues) 50 51# Contributing Documentation and Code Changes 52 53If you have a bugfix or new feature that you would like to contribute to 54Curator, and you think it will take more than a few minutes to produce the fix 55(ie; write code), it is worth discussing the change with the Curator users and 56developers first! You can reach us via 57[github](https://github.com/elastic/curator/issues), or via IRC (#logstash or 58 #elasticsearch on freenode irc) 59 60Documentation is in two parts: API and CLI documentation. 61 62API documentation is generated from comments inside the classes and methods 63within the code. This documentation is rendered and hosted at 64http://curator.readthedocs.io 65 66CLI documentation is in Asciidoc format in the GitHub repository at 67https://github.com/elastic/curator/tree/master/docs/asciidoc. 68This documentation can be changed via a pull request as with any other code 69change. 70 71## Contribution Steps 72 731. Test your changes! Run the test suite ('python setup.py test'). Please note 74 that this requires an Elasticsearch instance. The tests will try to connect 75 to your local elasticsearch instance and run integration tests against it. 76 **This will delete all the data stored there!** You can use the env variable 77 `TEST_ES_SERVER` to point to a different instance (for example 78 'otherhost:9203'). 792. Please make sure you have signed our [Contributor License 80 Agreement](http://www.elastic.co/contributor-agreement/). We are not 81 asking you to assign copyright to us, but to give us the right to distribute 82 your code without restriction. We ask this of all contributors in order to 83 assure our users of the origin and continuing existence of the code. You 84 only need to sign the CLA once. 853. Send a pull request! Push your changes to your fork of the repository and 86 [submit a pull 87 request](https://help.github.com/articles/using-pull-requests). In the pull 88 request, describe what your changes do and mention any bugs/issues related 89 to the pull request. 90