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