Skip to contents

Please contribute!

We love collaboration. In fact, this was one of the main ideas to start the work on this package. This includes suggestions or even implementations of new landscape metrics. Of course, you are also welcome to suggest general improvements to the package structure or to whatsoever. We appreciate any contribution and collaboration.

Code of Conduct

Please note that the landscapemetrics project is released with a Contributor Code of Conduct. By contributing to this project you agree to abide by its terms.

How to contribute

Ask a question ⁉️

Browse the documentation to see if you can find a solution. Still stuck? Open an issue on GitHub on GitHub. We’ll try to do our best to address it, as questions often lead to better documentation or the discovery of bugs.

If you want to ask a question in private get in contact by mhk.hesselbarth<at> or

Please try to include a reproducible example using for example the reprex package.

Propose an idea 💡

Take a look at the documentation and issue on GitHub list to see if it isn’t included or suggested yet. If not, please open a new issue!

While we can’t promise to implement your idea, it helps to:

  • Explain in detail how it would work.
  • Keep the scope as narrow as possible.

Report a bug 🐛

Report it as an issue on GitHub so we can fix it. A good bug report makes it easier for us to do so, so please include:

  • The content of utils::sessionInfo().
  • Any details about your local setup that might be helpful in troubleshooting.
  • Detailed steps to reproduce the bug

Again, please try to include a reproducible example using for example the reprex package.

Improve the documentation 📖

Good documentation makes all the difference, so your help to improve it is very welcome!

We use roxygen2, with Markdown syntax, for documentation.

Pull request process ↕️

We try to follow the GitHub flow for development.

  1. Fork the repo and clone it to your computer. To learn more about this process, see this guide. Don’t forget to pull all new changes before starting to work!

  2. Open the RStudio project file (.Rproj) and install all development dependencies with (e.g., using devtools::install_dev_deps()). Make sure the package passes R CMD check by running devtools::check().

  3. Create a new Git branch and use a name that briefly describes the proposed changes.

  4. Make your changes:

    • Write your code.
    • Test your code (bonus points for adding unit tests using the testthat package).
    • Document your code (see function documentation above).
    • Check your code with devtools::check() and aim for 0 errors, warnings and notes.
  5. Commit and push your changes.

  6. Submit a pull request.

New code should follow the tidyverse style guide.


This is adapted from here and here.