From edb7654e4440cd451e92b804663fdeeaf086fe64 Mon Sep 17 00:00:00 2001 From: kyubisation Date: Mon, 27 May 2019 13:56:27 +0200 Subject: [PATCH] docs: add contribution guidelines (#8) closes #4 --- CONTRIBUTING.md | 146 ++++++++++++++++++ README.md | 13 ++ package.json | 2 +- projects/angular-showcase/package.json | 2 +- projects/sbb-esta/angular-business/README.md | 2 +- .../sbb-esta/angular-business/package.json | 2 +- projects/sbb-esta/angular-icons/README.md | 2 +- projects/sbb-esta/angular-icons/package.json | 2 +- projects/sbb-esta/angular-public/README.md | 2 +- projects/sbb-esta/angular-public/package.json | 2 +- tslint.json | 8 - 11 files changed, 167 insertions(+), 16 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..99a129c8f8 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,146 @@ +# Contributing + +We appreciate all kinds of contributions. As a contributor, here are the guidelines we would like you to follow: + + - [Issues and Bugs](#issue) + - [Feature Requests](#feature) + - [Submission Guidelines](#submit-pr) + - [Coding Rules](#rules) + - [Commit Message Guidelines](#commit) + - [Signing the CLA](#cla) + + +## Found an Issue? +If you find a bug in the source code or a mistake in the documentation, you can help us by +[submitting an issue](#submit-issue) to our [GitHub Repository][github]. Including an issue +reproduction (via StackBlitz, JsBin, Plunkr, etc.) is the absolute best way to help the team quickly +diagnose the problem. Screenshots are also helpful. + +You can help the team even more and [submit a Pull Request](#submit-pr) with a fix. + + +### Submitting an Issue +If your issue appears to be a bug, and hasn't been reported, open a new issue. +Providing the following information will increase the +chances of your issue being dealt with quickly: + +* **Overview of the Issue** - if an error is being thrown a non-minified stack trace helps +* **Angular and @sbb-esta/angular-public Versions** - which versions of Angular and @sbb-esta/angular-public are affected +* **Motivation for or Use Case** - explain what are you trying to do and why the current behavior + is a bug for you +* **Browsers and Operating System** - is this a problem with all browsers? +* **Reproduce the Error** - provide a live example (using StackBlitz or similar) or a unambiguous set of steps +* **Screenshots** - Due to the visual nature of @sbb-esta/angular-public, screenshots can help the team + triage issues far more quickly than a text description. +* **Related Issues** - has a similar issue been reported before? +* **Suggest a Fix** - if you can't fix the bug yourself, perhaps you can point to what might be + causing the problem (line of code or commit) + +You can file new issues by providing the above information [here](https://github.com/SchweizerischeBundesbahnen/sbb-angular/issues/new). + + +### Submitting a Pull Request (PR) +Before you submit your Pull Request (PR) consider the following guidelines: + +* Make your changes in a new git branch: + + ```shell + git checkout -b my-fix-branch master + ``` + +* Create your patch, **including appropriate test cases**. +* Follow our [Coding Rules](#rules). +* Test your changes with our supported browsers and screen readers. +* Run tests via `ng test @sbb-esta/angular-public` and ensure that all tests pass. +* Commit your changes using a descriptive commit message that follows our + [commit message conventions](#commit). Adherence to these conventions + is necessary because release notes are automatically generated from these messages. + + ```shell + git commit -a + ``` + Note: the optional commit `-a` command line option will automatically "add" and "rm" edited files. + +* Push your branch to GitHub: + + ```shell + git push my-fork my-fix-branch + ``` + +* In GitHub, send a pull request to `sbb-angular:master`. + + +## Coding Rules +This project uses [prettier](https://prettier.io/) and [tslint](https://palantir.github.io/tslint/) rules to enforce code style. +The max line length is 100 characters. + +A short introduction to the rules is as follows (Run `npm run lint` to check validity): + +``` +const NUMBER_VALUE = 3; +let stringValue = 'value'; +function nameOfTheFunction() { ... } + +class SpecialClass { + somePublicValue = true; + protected _protectedValue = 'some value'; + private _privateValue = 5; + + aPublicMethod() { ... } + protected _protectedMethod() { ... } + private _privateMethod() { ... } +} +``` + +## Commit Message Guidelines + +This project uses [Conventional Commits](https://www.conventionalcommits.org/) to generate the changelog. + +### Commit Message Format +``` +(): + + + +