# Contributing

If you wish to contribute to Cacti, the process is very easy. The first step is to register for a GitHub account. Once you have a GitHub account, you then need to learn about their community guidelines and familiarize yourself with how to create a pull request. Pull requests are how we accept submissions from the community for Code and Documentation.

Pull requests are always created against the develop branch, unless otherwise instructed. Detailed guide on how to create Pull Requests on Github under Standards-Patch-Creation section.

## Code Contributions

There are a few key points. First, if you want a feature, or find an issue, and the forums are leading you to GitHub, create an Issue, this issue can be tagged either an enhancement or a bug. Regardless of what it is, if you think you can create a fix for that, prepare a pull request with your changes.

When your code is submitted, basic checks are performed to ensure that the code is runnable but this does not guarentee that it will work. Please ensure that you have been able to test your code before submitting a fix.

In addition to testing, please try to keep your code to Cacti's standards:

- Code

- File System Layout

- SQL styling

  and

- Security

You can view all the repositories of code that Cacti publically shares on GitHub at this link, or to go specifically to the Cacti source code, issue tracker, and internal Wiki

## Documentation Contributions

As with Code contributions, if you wish to enhance or correct an issue with the current documentation, create an issue with the details and then link the Pull Request to it.

Unlike the various standards for coding depending on the type of code you are attempting to contribute, there is only one set of Documentation Standards at this time. Please try to ensure that your code confirms to this, as there are strict checks in place which will fail your submission if it fails these standards.

Copyright (c) 2018 Cacti Group