Plan/CONTRIBUTING.md

2.2 KiB

Writing a good issue report

In order to be useful for the maintainers issues should include as much information as possible about the issue.
The information is crucial for reproducing the issue.

  • Tickets about Exceptions should include a full stack trace if at all possible. (Usually found in the Errors.txt file or console logs)
  • Tickets about Visual issue such as wrong characters or typos should include a screenshot of the affected window as well as what should be displayed instead.
  • Tickets about odd behaviour should include a detailed turn of events how this issue occurred, if at all possible.

Additional information that might be useful:

  • Possible logs, debug logs, error logs
  • Plan and Server version & type
  • Database in use (SQLite / MySQL)
  • Possible config settings related to the issue
  • Information related to the issue in the database
  • Table structure in the database if related to the issue

Writing a good Pull Request

Good pull requests make the work of maintainers easier, which will make the approval of the pull requests quicker.

New code should be created in a new feature / bugfix / improvement branch. After done with the feature (Or prior) a PR can be opened.

Good practices that make PR easier to approve:

  • Commit often with detailed commit messages: Commits are cheap and can be easily reversed if neccessary.
  • Before marking an issue solved in a commit message ("Fixed #issueN.o.") it should be ensured that the issue is fixed. (By manual testing or with Unit Tests.)
  • Name PR related to what it is attempting to accomplish. "Implemented improved graph creation", "Bugfix PR for Version 4.0.2"
  • In case the feature in PR is not self explanatory an attempt to explain the feature should be made in the message / comments of the PR.
  • Code follows similar style as rest of the code and is easy to read. (Brackets used always, Classes with BigFirstLetter, variablesCamelCase)

PRs are never merged directly to the master-branch, and are instead merged into next version specific branch.
IF no version specific branch is available when making a PR, select master and notify in the comments about the fact - Maintainers will create a new version specific branch and change the branch of the PR.