TShock/CONTRIBUTING.md
Lucas Nicodemus 45e3024c76 Add new PR guidelines
Read: Don't send PRs when devs are working on stuff internally.
2015-03-17 10:24:47 -06:00

2.8 KiB

Issue Guidelines

Please follow these simple requirements before posting an issue:

  • TShock version number
  • Any stack traces that may have happened when the issue occurred
  • How to reproduce the issue
  • Screenshots of the issue (if applicable)

TShock Additions

If something is better suited to be a plugin for TShock, rather than a TShock core feature, it should not be added!

Pull Request Dev Guidelines

These guidelines are for all contributors. Please join #pull-request on our Slack instance and ask about your idea first, if you're implementing a new feature, system, or changing an existing implementation. Pull requests that change large feature sets or swathes of code will be dissected for quality and purpose prior to approval, and requests that conflict with a team developer's work may be declined if the project is already being worked on internally, but not released. In addition, issues assigned to Nyx developers that are recent and fresh should be considered a no-go zone, while that developer works on their solution outside the scope of Github.

Required:

  • Push code to the general-devel branch. Do not push it anywhere else.
  • Use tabs, not spaces.
  • Use UpperCamelCase for public function names.
  • Prior to developing, make sure your clone is up to date with general-devel. This means that we don't get merge commits in your pull request.

Dev Team Guidelines

These guidelines are to be followed by all developers with commit level access to this repository:

  • Prior to posting any version on the website, you must tick the version in AssemblyInfo.cs. This is the versioning formula:
  • Major.Minor.Revision
  • Do not release any development builds on the forums without consulting another developer first.
  • This is not a professional software product. Your results may vary with code quality, buginess, etc. Do not complain about something -- just fix it and move on.
  • Do not force push the repo, or you will be removed.
  • Do not revert commits, unless you have sign-off from one other developer (the two-man rule), or you will be removed.
  • This is not a meritocracy.

Pull Request Acceptance Guidelines

  • Don't ruin someone's first time sending a pull request. They feel de-motivated, and then they won't want to push any more code for us.
  • Don't accept untested pull requests from the outside world. Bamboo and Travis will at least make sure that something compiles, but actual code and execution tests are required.
  • Pull request acceptance from internal contributors (anyone with write access) requires only one other approval to merge.
  • Pull request acceptance from external contributors (anyone without write access) requires the two-man rule to be followed. If another man/woman/child in the two-man rule cannot be found within seven days, then this requirement is exempted.