|
| 1 | +# Contributing |
| 2 | +This project welcomes contributions and suggestions. Most contributions require you to agree to a |
| 3 | +Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us |
| 4 | +the rights to use your contribution. For details, visit https://cla.microsoft.com. |
| 5 | + |
| 6 | +When you submit a pull request, a CLA-bot will automatically determine whether you need to provide |
| 7 | +a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions |
| 8 | +provided by the bot. You will only need to do this once across all repos using our CLA. |
| 9 | + |
| 10 | +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). |
| 11 | +For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or |
| 12 | +contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. |
| 13 | + |
| 14 | +## Getting started |
| 15 | +First, clone the repository and `cd` into the project. |
| 16 | + |
| 17 | +Install [lerna](https://github.com/lerna/lerna): |
| 18 | +```shell |
| 19 | +npm install --global lerna |
| 20 | +``` |
| 21 | + |
| 22 | + |
| 23 | +Bootstrap lerna to install all dependencies: |
| 24 | +```shell |
| 25 | +lerna bootstrap |
| 26 | +``` |
| 27 | + |
| 28 | +## Commit message format |
| 29 | +FAST-design follows [conventional commits](https://conventionalcommits.org/) for commit messages. Additional types are heavily inspired by Angular's [commit message format](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#commit). |
| 30 | + |
| 31 | +Per conventional commits 1.0.0, a commit message should be structured as follows: |
| 32 | +``` |
| 33 | +<type>[optional scope]: <description> |
| 34 | +
|
| 35 | +[optional body] |
| 36 | +
|
| 37 | +[optional footer] |
| 38 | +``` |
| 39 | + |
| 40 | +### Types |
| 41 | +The following types are supported: |
| 42 | +- **build**: Changes that affect the build system |
| 43 | +- **docs**: Documentation only changes |
| 44 | +- **feat**: Adding a new feature |
| 45 | +- **fix**: Fixing an issue / bug |
| 46 | +- **perf**: Performance related changes |
| 47 | +- **refactor**: Refactoring existing features |
| 48 | +- **test**: Changes specific to tests |
| 49 | + |
| 50 | +### Description |
| 51 | +Commit message descriptions should be concise and must conform to the following: |
| 52 | +- use the imperative, present tense. (fix - not fixes) |
| 53 | +- single sentence without sentence casing (fix - not Fix) |
| 54 | +- no period at the end |
| 55 | + |
| 56 | +### Body |
| 57 | +The body is optional. It should be used to provide clarity and context to the description. |
| 58 | + |
| 59 | +### Footer |
| 60 | +The footer should provide additional metadata about the pull request such as issue fixing (fixes #19). |
0 commit comments