How to contribute to PMD
First off, thanks for taking the time to contribute!
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
You can find the code of conduct in the file code_of_conduct.md.
|NB: the rule designer is developed over at pmd/pmd-designer. Please refer to the specific contributor documentation if your issue, feature request or PR touches the designer.|
Please create your pull request against the
masterbranch. We will rebase/merge it to the maintenance branches, if necessary.
We use the issue tracker on Github. Please report new bugs at https://github.com/pmd/pmd/issues.
When filing a bug report, please provide as much information as possible, so that we can reproduce the issue:
- The name of the rule, that is buggy
- A code snippet, which triggers a false positive/negative or crash
- How do you execute PMD? (command line, ant, maven, gradle, other)
The documentation is generated as a Jekyll site, the source is available at: https://github.com/pmd/pmd/tree/master/docs. You can find build instructions there. For more on contributing documentation check https://pmd.github.io/pmd/pmd_devdocs_writing_documentation.html
There are various channels, on which you can ask questions:
On StackOverflow: Make sure, to tag your question with "pmd".
Create a issue for your question at https://github.com/pmd/pmd/issues.
Ask your question on Gitter https://gitter.im/pmd/pmd.
PMD uses checkstyle to enforce a common code style.