Contributing to lancer
Source:CONTRIBUTING.md
First of all, thanks for considering contributing to lancer
π! We hope that you have found the tool useful in your work π and we apologise for any mishaps π£ along the way.
lancer
is an open source project, maintained by people who care.
Acknowledgements π
This contributing file is based on a template from Peter Desmet released under CC0.
Versioning π’
Refer to the NEWS.md file to see what is being worked on as well as update to changes between back to back versions.
Software version numbers indicate following: MAJOR.MINOR.PATCH.DEVELOPMENT
.
Here are key steps to keep in mind:
The major version number generally do not increase unless the changes made affect a large group. Examples are moving the software to a new repository, changes to API, etcβ¦
When new features are added or (re)moved, we typically increase the minor version number.
Minimal, non breaking changes or bug fixes only are indicated by increasing the patch version number. Examples of minimal changes are are updating of documentations, fixing of typo in the software output and so on
Current development versions of our packages (i.e.Β main branch from GitHub) additionally have a development version number. The development version number is typically
9000
Code of conduct π©βπ«
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.
Improve the documentation π
Noticed a typo on the website? Think a function could use a better example? Good documentation makes all the difference, so your help to improve it is very welcome!
Function documentation
Functions are described as comments near their code and translated to documentation using roxygen2
. If you want to improve a function description:
- Go to
R/
directory in the code repository. - Look for the file with the name of the function.
-
Propose a file change to update the function documentation in the roxygen comments (starting with
#'
).
Contribute code π
Care to fix bugs π or implement new functionality for lancer
? Greatπ! Thank you for volunteering your time to help out. Have a look at the issue list and leave a comment on the things you want to work on. See also the development guidelines below.
Development guidelines π¨βπ»
README Documentation
For the README documentation, Rmarkdown is used together with R and RStudio IDE.
Here are some useful resources. * https://www.rstudio.com/resources/webinars/getting-started-with-r-markdown/ * https://rmarkdown.rstudio.com/github_document_format.html
RStudio was used because of its friendly user interface (more button clicks than command lines) to create markdown and html document and to use git. Based on past experiences, it is easier to guide beginners to create html documents and use git using RStudio than pure command line. In addition, most people in the lab uses R.
With the efforts made by the R for Data Science Online Learning Community, they have created a learning environment via their Slack account which make beginners more comfortable to ask question and share about R, RStudio, Rmarkdown, Git and GitHub issues. Give it a try to make your learning experience in R, Statistics, Git and GitHub a more fruitful experience that is worth sharing.
GitHub Workflow
We try to follow the GitHub flow for development.
- Fork this repo and clone it to your computer. To learn more about this process, see this guide.
- If you have forked and cloned the project before and it has been a while since you worked on it, pull changes from the original repo to your clone by using
git pull upstream main
. - Open the RStudio project file (
.Rproj
). - Make your changes:
- Write your code.
- Test your code (bonus points for adding unit tests) .
- Document your code so that others can understand.
- Check your code with
devtools::check()
and aim for 0 errors and warnings.
- Commit and push your changes.
- Submit a pull request.