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
+```
+():
+
+
+
+