From eed435504e80e12d3f45aa1c3a1491ac882c00bb Mon Sep 17 00:00:00 2001
From: Nicolas Casajus
Date: Sun, 13 Aug 2023 10:55:34 +0200
Subject: [PATCH] doc: add contributor guidelines - fix #4
---
CONTRIBUTING.md | 142 ++++++++++++++++++++++++++++++++++++++++++++++++
README.Rmd | 21 ++++---
README.md | 20 ++++---
3 files changed, 166 insertions(+), 17 deletions(-)
create mode 100644 CONTRIBUTING.md
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..db61287
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,142 @@
+# Contributing to chessboard
+
+First off, thanks for taking the time to contribute!
+
+All types of contributions are encouraged and valued. See the [Table of contents](#table-of-contents) for different ways to help and details about how
+this project handles them. Please make sure to read the relevant section before
+making your contribution. It will make it a lot easier for us maintainers and
+smooth out the experience for all involved.
+
+
+## Table of contents
+
+- [Code of conduct](#code-of-conduct)
+- [Style guide](#style-guide)
+- [Commit messages](#commit-messages)
+- [Asking questions](#asking-questions)
+- [Reporting bugs](#reporting-bugs)
+- [Requesting features](#requesting-features)
+- [Contributing code](#contributing-code)
+
+
+
+## Code of conduct
+
+This project is released with a
+[Contributor Code of Conduct](https://github.com/FRBCesab/chessboard/blob/main/CODE_OF_CONDUCT.md).
+By participating, you are expected to uphold this code. Please report
+unacceptable behavior to .
+
+
+
+## Style guide
+
+We use the [Tidyverse style guide](https://style.tidyverse.org/) for writing R
+code. Functions are documented with the
+[roxygen2](https://roxygen2.r-lib.org/articles/roxygen2.html) syntax.
+`chessboard` uses the `lower_snake_case`.
+
+
+
+## Commit messages
+
+If you want to contribute by commiting changes, please try to use the
+[Conventional commits](https://www.conventionalcommits.org/en/v1.0.0/)
+specification.
+
+
+## Asking questions
+
+Before you ask a question, it is best to search for existing
+[Issues](https://github.com/FRBCesab/chessboard/issues) that might help you.
+In case you have found a suitable issue and still need clarification, you can
+write your question in this issue.
+
+If you then still feel the need to ask a question and need clarification, we
+recommend the following:
+
+- Open a new [Issue](https://github.com/FRBCesab/chessboard/issues/new).
+- Use the template [other_issue.md](https://github.com/FRBCesab/chessboard/blob/main/.github/ISSUE_TEMPLATE/other_issue.md).
+- Provide as much context as you can about what you're running into.
+- Provide project and platform versions (paste the output of `sessionInfo()`).
+
+We will then take care of the issue as soon as possible.
+
+
+### Reporting bugs
+
+#### Before submitting a bug report
+
+A good bug report shouldn't leave others needing to chase you up for more
+information. Therefore, we ask you to investigate carefully, collect information
+and describe the issue in detail in your report. Please complete the following
+steps in advance to help us fix any potential bug as fast as possible.
+
+- Make sure that you are using the latest version of `chessboard`.
+- Determine if your bug is really a bug and not an error on your side.
+- To see if other users have experienced (and potentially already solved) the
+same issue you are having, check if there is not already a bug report existing
+for your bug or error in the [bug tracker](https://github.com/FRBCesab/chessboard/issues?q=label%3Abug).
+
+
+#### How do I submit a bug report?
+
+We use [GitHub Issues](https://github.com/FRBCesab/chessboard/issues) to track
+bugs and errors. If you run into an issue with the project:
+
+- Open a new [Issue](https://github.com/FRBCesab/chessboard/issues/new).
+- Use the template [bug_report.md](https://github.com/FRBCesab/chessboard/blob/main/.github/ISSUE_TEMPLATE/bug_report.md).
+- Explain the behavior you would expect and the actual behavior.
+- Please provide as much context as possible and describe the
+*reproduction steps* that someone else can follow to recreate the issue on
+their own. This usually includes your code with a reproducible example.
+
+We will then take care of the issue as soon as possible.
+
+
+
+### Requesting features
+
+#### Before requesting a feature
+
+- Make sure that you are using the latest version of `chessboard`.
+- Read the [documentation](https://frbcesab.github.io/chessboard/)
+carefully and find out if the functionality is already covered.
+- Perform a [search](https://github.com/FRBCesab/chessboard/issues) to see if
+this enhancement has already been suggested. If it has, add a comment to the
+existing issue instead of opening a new one.
+
+
+#### How do I submit a feature request?
+
+Feature requests are tracked as
+[GitHub Issues](https://github.com/FRBCesab/chessboard/issues).
+
+- Open a new [Issue](https://github.com/FRBCesab/chessboard/issues/new).
+- Use the template [feature_request.md](https://github.com/FRBCesab/chessboard/blob/main/.github/ISSUE_TEMPLATE/feature_request.md).
+- Provide a clear and descriptive title for the issue to identify the suggestion.
+- Provide a step-by-step description of the suggested enhancement in as
+many details as possible.
+- Explain why this enhancement would be useful to most `chessboard` users.
+
+We will then take care of the issue as soon as possible.
+
+### Contributing code
+
+We use the [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow) to collaborate on this project:
+
+1. [Fork](https://docs.github.com/en/get-started/quickstart/contributing-to-projects) this repository.
+1. Clone your fork.
+1. Create a new branch.
+1. Create a new function in the folder `R/`.
+1. Document your function w/ the [roxygen2](https://roxygen2.r-lib.org/articles/roxygen2.html) syntax.
+1. Update the package documentation w/ `devtools::document()`.
+1. Implement [unit tests](https://r-pkgs.org/testing-basics.html#introducing-testthat) for your function in the `tests/ `folder.
+1. Test your function w/ `devtools::test()`.
+1. Check the integrity of the package w/ `devtools::check()`.
+1. Stage, commit and push your changes.
+1. Submit a [pull request](https://docs.github.com/en/get-started/quickstart/contributing-to-projects#making-a-pull-request).
+
+We will then review the PR as soon as possible.
+
+**Note:** depending on your contribution, the steps 4 to 8 can be adapted.
\ No newline at end of file
diff --git a/README.Rmd b/README.Rmd
index 1233232..6f52b5f 100644
--- a/README.Rmd
+++ b/README.Rmd
@@ -34,8 +34,8 @@ chessboard
Get started
• Long-form documentations
• Citation
+ • Contributing
• Acknowledgments
- • Code of Conduct
• References
@@ -148,6 +148,17 @@ R package version 0.1. URL: .
+## Contributing
+
+All types of contributions are encouraged and valued. For more information,
+check out our [Contributor Guidelines](https://github.com/FRBCesab/chessboard/blob/main/CONTRIBUTING.md).
+
+Please note that the `chessboard` project is released with a
+[Contributor Code of Conduct](https://contributor-covenant.org/version/2/1/CODE_OF_CONDUCT.html).
+By contributing to this project, you agree to abide by its terms.
+
+
+
## Acknowledgments
This package has been developed for the
@@ -161,14 +172,6 @@ margins.
-## Code of Conduct
-
-Please note that the `chessboard` project is released with a
-[Contributor Code of Conduct](https://contributor-covenant.org/version/2/1/CODE_OF_CONDUCT.html).
-By contributing to this project, you agree to abide by its terms.
-
-
-
## References
Blanchet FG, Legendre P & Borcard D (2008) Modelling directional spatial processes
diff --git a/README.md b/README.md
index 8bceed7..272831f 100644
--- a/README.md
+++ b/README.md
@@ -23,8 +23,8 @@ Check](https://github.com/frbcesab/chessboard/actions/workflows/R-CMD-check.yaml
Get started
•
Long-form documentations
•
Citation
•
+Contributing
•
Acknowledgments
•
-Code of Conduct
•
References
@@ -136,6 +136,17 @@ the package, please cite it as:
> connections based on chess moves. R package version 0.1. URL:
> .
+## Contributing
+
+All types of contributions are encouraged and valued. For more
+information, check out our [Contributor
+Guidelines](https://github.com/FRBCesab/chessboard/blob/main/CONTRIBUTING.md).
+
+Please note that the `chessboard` project is released with a
+[Contributor Code of
+Conduct](https://contributor-covenant.org/version/2/1/CODE_OF_CONDUCT.html).
+By contributing to this project, you agree to abide by its terms.
+
## Acknowledgments
This package has been developed for the
@@ -147,13 +158,6 @@ environmental factors in shaping the taxonomic and functional diversity
of plant communities established along river corridors, roadside
corridors and cultivated field margins.
-## Code of Conduct
-
-Please note that the `chessboard` project is released with a
-[Contributor Code of
-Conduct](https://contributor-covenant.org/version/2/1/CODE_OF_CONDUCT.html).
-By contributing to this project, you agree to abide by its terms.
-
## References
Blanchet FG, Legendre P & Borcard D (2008) Modelling directional spatial