Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contribution guidelines #22

Open
CraftedMods opened this issue May 12, 2018 · 1 comment
Open

Contribution guidelines #22

CraftedMods opened this issue May 12, 2018 · 1 comment
Labels
team coordination For coordination the work between developers

Comments

@CraftedMods
Copy link
Member

CraftedMods commented May 12, 2018

Now we are three coders and four collaborators, so basic rules are required for coordination. I propose the following:

General

  1. Nobody pushes directly to the master/development branch. All changes have to be reviewed by at least one developer - this will be done via pull requests. The PR then will be merged with the development branch. An exception are small modifications of the readme and changelog file.
  2. The master branch won't be modified directly. It only contains code for the current released version. If we decide to release a new version, we'll merge the development branch with the master branch.
  3. The branch development only contains code for the next planned version.
  4. Give your commits meaningful messages/descriptions, so that everyone knows what was done by just reading the commit message. This applies for commits in PRs too.
  5. If your changes are relevant for the server owners, include them into the changelog with the relevant commit

Issues and Milestones

  1. We really should use milestones and issues. So everything that has to be worked on should be an issue. The issue then will be assigned to a milestone. Milestones represent versions we plann to release. Issues should cover a small unit of work - not huge tasks.
  2. If one developer is assigned to an issue, it's the task of this person to work on the issue. No other developer should work on it simultaneously (collusions are possible of course).
  3. Developers can assign themself or other developers to currently unassigned issues.
  4. I've created a ton of labels. Use them. They make management a lot easier.

Pull Requests

  1. A PR should cover one specific feature.
  2. Nobody merges his/her own PR's without at least one review from another developer. For larger features, all developers should agree. To approve a PR, click review in the tab files changed and select approve changes. Only merge a PR if all developers involved accepted it.
  3. If a PR conflicts with the target branch, the conflicts have to be resolved by the author.
  4. A PR marked with needs testing or incomplete must not be merged until someone tested it or it was completed!
  5. When merging the PR, squash all commits of the PR into one when merging. Include a meaningful commit description.
  6. The person assigned to the PR will actually merge it. Nobody else does.
  7. As with issues, try to label your PRs.

Releases

  1. Full releases will be tagged via Github releases. The release includes the .jar of the released version.
  2. Pre-releases will be uploaded to the branch development but removed with the full release.

Features

  1. Only remove or rename commands if absolutely necessary - for compatibility reasons. This is because of the Forge Essentials permission nodes which are derived from the command names.

With developer I mean every collaborator (@VulcanForge @AlteOgre @mahtaran @CraftedMods)

@CraftedMods CraftedMods added the team coordination For coordination the work between developers label May 12, 2018
@mahtaran
Copy link
Contributor

Oops, didn't read this yet 🙄
I'll follow this in the future!

@CraftedMods CraftedMods pinned this issue Dec 22, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team coordination For coordination the work between developers
Projects
None yet
Development

No branches or pull requests

2 participants