ml-opensource / admin-panel-template-reactjs

25 stars 10 forks source link

add CONTRIBUTING.md #94

Closed yukinoda closed 2 years ago

yukinoda commented 3 years ago

add CONTRIBUTING.md for future contributors

Deprecated material-ui contributing guide: https://github.com/monstar-lab-oss/admin-panel-template-reactjs/blob/material-ui-deprecated/CONTRIBUTING.md

yukinoda commented 3 years ago

OLD CONTRIBUTING.md

yukinoda commented 3 years ago

Contribution guide

Project tools

Branch rules:

  1. Following branches should be used for primary code management

    1. master there can be only this branch. This hold all the latest already released code.
    • in case we are doing tag based release, master can be used as stable bleeding edge releasable code.
  2. {type}/{GithubIssueNo}-issue-one-liner should be the format for branch naming

    1. See Type section for branch {type}.
    2. Find {GithubIssueNo} in Github.

Pull requests

Pull requests are the only way to propose a value you want to add. Following is a general workflow for submitting any requests.

  1. Clone the repo and create your branch from master.
  2. If you've added code that should be tested
  3. Ensure that your code doesn't fail to build
  4. Make pull request to master branch
  5. Assign respective develops to review and merge pull request

Commit Message Guidelines

We have very precise rules over how our git commit messages can be formatted. This leads to more readable messages that are easy to follow when looking through the project history. But also, we use the git commit messages to generate the changelog.

Commit message format

Each commit message consists of a header, a body and a footer. The header has a special format that includes a type, a scope and a subject:

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

The header is mandatory and the scope of the header is optional.

Any line of the commit message cannot be longer 74 characters! This allows the message to be easier to read on GitHub as well as in various git tools.

Type

Must be one of the following:

Scope

The scope could be any module name of the commit change. For example Compiler, ElementInjector, etc.

Subject

The subject contains succinct description of the change:

Body

Just as in the subject, use the imperative, present tense.

Footer

The footer should contain any information about Breaking Changes and is also the place to reference Github issues that this commit Closes.

Breaking Changes should start with the word BREAKING CHANGE: with a space or two newlines. The rest of the commit message is then used for this.