We would love to have your contribution to make ant-design-blazor better than it is today! You can contribute by reporting issues, participating in discussions on issues or submitting pull requests. When doing so, you are expected to follow the guidelines below:
Do not open issues for general support purposes as we want to keep GitHub issues for bug reports and feature requests only. You probably have already got your questions answered on [Segmentfault](https://segmentfault.com/t/ant-design-blazor) or [Stack Overflow](https://stackoverflow.com/tags/ant-design-blazor) where the questions should be tagged with tag `ant-design-blazor`.
Before you submit an issue, please search the issue tracker as there might be existing related issues for your problem and the discussion might inform you about workarounds readily available.
We want to fix all the issues as soon as possible, but before fixing a bug we need to reproduce and confirm it. In order to reproduce bugs we will systematically ask you to provide a minimal reproduction scenario using http://plnkr.co. Having a live, reproducible scenario gives us wealth of important information without going back & forth to you with additional questions like:
A minimal reproduce scenario using http://plnkr.co/ allows us to quickly confirm a bug (or point out a coding problem) as well as confirming that we are fixing the right problem. If plunker is not a suitable way to demonstrate the problem (for example, issues related to our npm packaging), please create a standalone git repository demonstrating the problem.
We will be insisting on a minimal reproduce scenario in order to save maintainers time and ultimately be able to fix more bugs. Interestingly, from our experience, users often find coding problems themselves while preparing a minimal plunk. We understand that sometimes it might be hard to extract essential bits of code from a larger code-base but we really need to isolate the problem before we fix it.
Unfortunately we are not able to investigate / fix bugs without a minimal reproduction, so if we don't hear back from you we will close your issue that doesn't have enough info to be reproduced.
Any line of the commit message cannot be longer than 100 characters! This allows the message to be easier read on GitHub as well as in various git tools.
Samples: (even more [samples](https://github.com/ant-design-blazor/ant-design-blazor/commits/master))
```
docs(changelog): update change log to beta.5
```
```
fix(release): need to depend on latest rxjs and zone.js
The version in our package.json gets copied to the one we publish, and users need the latest of these.
```
### Revert
If the commit reverts a previous commit, it should begin with `revert: `, followed by the header of the reverted commit. In the body it should say: `This reverts commit <hash>.`, where the hash is the SHA of the commit being reverted.
### Type
Must be one of the following:
* **build**: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
* **ci**: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
* **docs**: Documentation only changes
* **feat**: A new feature
* **fix**: A bug fix
* **perf**: A code change that improves performance
* **refactor**: A code change that neither fixes a bug nor adds a feature
* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
* **test**: Adding missing tests or correcting existing tests
The scope should be the name of the module affected (folder name or other meaningful words), and should have prefix *module:* (as perceived by person reading changelog generated from commit messages.
There are currently a few exceptions to the "use module name" rule:
* **packaging**: used for changes that change the npm package layout, e.g. public path changes, package.json changes, d.ts file/format changes, changes to bundles, etc.
* **changelog**: used for updating the release notes in CHANGELOG.md
**Breaking Changes** should start with the words `BREAKING CHANGE:` with a space or two newlines. The rest of the commit message is then used for this.