Full-Stack Ruby on Rails application running the Pen&PaperBox
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.2 KiB

Contributing Guidelines

You want to contribute to the development of charXchange? That's great. But before you submit a pull request (PR), please make sure to read this guide.


Please make sure that you agree to terms and conditions stated in LICENSE.md before submitting a PR. When submitting a PR it will be assumed that you agree to sharing your code under these terms.

Branching Strategy

This project follows the Git Flow workflow. The master branch is the release branch and develop is the branch where the next release is developed. These two branches are protected, meaning most people won't be able to directly push onto them but must use pull requests.

Bugfix and feature branch's names should start with the ticket number, followed by a dash - and a short description of the ticket. For example: feature/42-some-feature.


Although charXchange has German and English translations, the project's main language for tickets, (commit) comments and so on should be English.

PR Acceptance Criteria


All automated tests must pass. See the Getting Started Guide on how to execute the tests locally.

If your PR changes backend behaviour there should be a meaningful test in your PR checking that behavior. Normally, the test should fail before the PR is applied and must pass after the patch is applied.


All texts that are presented to the user must be internationalized. English and German localizations must be present. If you are having trouble providing the German localization, please feel free to ask other developers for help.

Log messages (Browser JS console messages as well as Rails console messages) should be English only.

Commit messages

The used commit messages should adhere to the Conventional Commits standard. Although this is more of a best practise than a strictly enforced rule.

Tickets should be mentioned in the footer of the commit message, normally in the form: Refs: #123. See also Gitea automatically linked references.