This document provides a set of guidelines that aim to streamline the collaborative aspect of this project.
Thank you for your interest in contributing to the CARN project. We welcome contributions from everyone. To make the process smooth and efficient, please follow these guidelines.
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
Ensure you have the following tools installed:
- git
To begin working on CARN you MUST pull the repository from the designated current upstream source.
git pull [email protected]:Reproducible-Bioinformatics/CARN.git
When the pull is complete, you can begin working with the repository.
cd CARN
We use a dev
branch as the base for all feature development.
Contributions MUST be made through feature branches and MUST be
integrated via pull requests.
Ensure you are on the dev
branch and the local branch is up-to-date with
the upstream.
git checkout dev
git fetch origin
git rebase origin/dev
Create a new feature branch.
git checkout -b <username>/<feature-name>
You MUST replace <username>
with your GitHub username and <feature-name>
with a concise description of the feature or fix.
You MUST follow the Conventional Commits specification. Use the following format for your commit messages.
<type>[(<optional scope>)]: <description>
[optional body]
[optional footer(s)]
Common types include:
fix
: A bug fixfeat
: A new featurechore
: Changes to the build process or auxiliary tools.docs
: Changes affecting documentation.
It is RECOMMENDED to refer to Conventional Commits specification.
Examples:
feat(dimensions): add dimensions function
docs(dimensions): add dimensions documentation
fix: change logic in argument parsing
You MUST rebase your feature branch to incorporate changes from the dev
branch.
git fetch origin
git rebase origin/dev
It is RECOMMENDED to open an issue before starting to work on a feature or an issue to avoid duplicate efforts.
You MUST push your feature branch before opening a pull request.
git push origin <username>/<feature-name>
Then you MUST go to CARN repository, and you should see a prompt to open a pull request. You MUST ensure the PR targets the dev branch of the original repository. It is RECOMMENDED to provide a clear and descriptive title and description for your PR, linking to the relevant issue(s) if applicable.
The maintainers will review your PR and may request changes or improvements.
Once your PR is approved, a maintainer will merge it into the dev
branch.