CONTRIBUTING.md

Contributing to RDS-R

We would love for you to contribute to RDS-R and help make it even better than it is today! As a contributor, here are the guidelines we would like you to follow:

Code of Conduct

Help us keep RDS-R open and inclusive. Please read and follow our Code of Conduct.

Got a Question or Problem?

Do not open issues for general support questions as we want to keep GitHub issues for bug reports and feature requests. You've got much better chances of getting your question answered through our help desk.

Gitflow

This repository follows the Gitflow workflow. We believe this will make the rds-r package easier to use in through devtools::install_github("mtna/rds-r") as master should always be the latest stable released version.

The main branches to be aware of are:

Found a Bug?

If you find a bug in the source code, you can help us by submitting an issue to our GitHub Repository. Even better, you can submit a Pull Request with a fix.

Missing a Feature?

You can request a new feature by submitting an issue to our GitHub Repository. If you would like to implement a new feature, please submit an issue with a proposal for your work first, to be sure that we can use it. Please consider what kind of change it is:

Submission Guidelines

Submitting an Issue

Before you submit an issue, please search the issue tracker, maybe an issue for your problem already exists and the discussion might inform you of workarounds readily available.

We want to fix all the issues as soon as possible, but before fixing a bug we need to reproduce and confirm it. In order to reproduce bugs, we will systematically ask you to provide a minimal reproduction. Having a minimal reproducible scenario gives us a wealth of important information without going back & forth to you with additional questions.

A minimal reproduction allows us to quickly confirm a bug (or point out a coding problem) as well as confirm that we are fixing the right problem.

We will be insisting on a minimal reproduction scenario in order to save maintainers time and ultimately be able to fix more bugs. Interestingly, from our experience, users often find coding problems themselves while preparing a minimal reproduction. We understand that sometimes it might be hard to extract essential bits of code from a larger codebase but we really need to isolate the problem before we can fix it.

Unfortunately, we are not able to investigate / fix bugs without a minimal reproduction, so if we don't hear back from you, we are going to close an issue that doesn't have enough info to be reproduced.

Submitting a Pull Request (PR)

Before you submit your Pull Request (PR) consider the following guidelines:

  1. Search GitHub for an open or closed PR that relates to your submission. You don't want to duplicate effort.
  2. Be sure that an issue describes the problem you're fixing, or documents the design for the feature you'd like to add. Discussing the design up front helps to ensure that we're ready to accept your work.
  3. Fork the mtna/rds-r repo.
  4. Make your changes in a new feature branch:

shell git checkout -b feature/my-new-feature develop

  1. Write your code, including appropriate test cases.
  2. Follow our Coding Rules.
  3. Commit your changes using a descriptive commit message.

shell git commit -a

Note: the optional commit -a command line option will automatically "add" and "rm" edited files.

  1. Push your branch to GitHub:

shell git push origin feature/my-new-feature

  1. In GitHub, send a pull request to rds-r:develop.

  2. If we suggest changes then:

  3. Make the required updates.

  4. Rebase your branch and force push to your GitHub repository (this will update your Pull Request):

    shell git rebase develop -i git push -f

That's it! Thank you for your contribution!

After your pull request is merged

After your pull request is merged, you can safely delete your branch and pull the changes from the main (upstream) repository:

shell git push origin --delete feature/my-new-feature

shell git checkout develop -f

shell git branch -D feature/my-new-feature

shell git pull --ff

Coding Rules

To ensure consistency throughout the source code, keep these rules in mind as you are working:



mtna/rds-r documentation built on July 30, 2023, 3:25 a.m.