Skip to content

Latest commit

 

History

History
79 lines (61 loc) · 3.4 KB

CONTRIBUTING.md

File metadata and controls

79 lines (61 loc) · 3.4 KB

How to contribute

Support and contributions from the open source community are essential for keeping MERN up to date and always improving! There are a few guidelines that we need contributors to follow to keep the project consistent, as well as allow us to keep maintaining MERN in a reasonable amount of time.

Creating an Issue

Before you create a new Issue:

  • Check the Issues on Github to ensure one doesn't already exist.
  • Clearly describe the issue, including the steps to reproduce the issue.
  • If it's a new feature, enhancement, or restructure, Explain your reasoning on why you think it should be added, as well as a particular use case.

Making Changes

  • Create a topic branch from the master branch.
  • Check for unnecessary whitespace / changes with git diff --check before committing.
    • Also check that your code is formatted properly with spaces.
  • Keep git commit messages clear and appropriate
    • If possible, please "squash" your commits to as few commits as possible/reasonable such as one commit for implementation, one for tests, and one for documentation before finally squashing to one commit when getting the LGTM from a collaborator.
    • Follow the commit message guidelines below.
  • Make Sure you have added any tests necessary to test your code.
    • Run all the tests to ensure nothing else was accidentally broken.
    • Don't rely on the existing tests to see if you've broken code elsewhere; test the changes you made in a browser too!
  • Update the Documentation to go along with any changes in functionality / improvements in a separate pull request.

Commit Message Guidelines

Header
Blank Line
Body
Blank Line
Footer

The header should look like:
<type>(<scope>): <subject>

The body should have any necessary detailed info about the commit:
An example, references as to where this idea came from, etc.

The footer should have all the issues tagged:
Fixes #123, Fixes #456

So a commit should like like:
feat(users): Add new Yahoo authentication

Yahoo authentication idea proposed by @codydaig
Example implementation in file.js

Fixes #82
  • Types:
    • feat - Features, Enhancements, and overall Improvements
    • fix - Fixes, Bugs, HotFixes, etc...
    • doc - Changes to the Documentation and doesn't actually touch any code.
  • Scope:
    • The scope should be where the change took place.
    • Examples: users, core, config, articles
  • Subject:
    • The subject line should be clear and concise as to what is being accomplished in the commit.
  • General Rules:
    • No Line in the Commit message can be longer than 80 characters.
  • Refrence: Angular Conventions

Submitting the Pull Request

  • Push your changes to your topic branch on your fork of the repo.
  • Submit a pull request from your topic branch to the master branch on the MERN repository.
  • Be sure to tag any issues your pull request is taking care of / contributing to.
    • By adding "Closes #xyz" to a commit message will auto close the issue once the pull request is merged in.
  • Small changes are usually accepted and merged in within a week (provided that 2 collaborators give the okay)
  • Larger changes usually spark further discussion and possible changes prior to being merged in.

The code for the documentation and the website are located in the MERN repo in the README.md