Skip to content

Commit

Permalink
docs: update readme and contribution guide (#61)
Browse files Browse the repository at this point in the history
Co-authored-by: Michael Friis <[email protected]>
  • Loading branch information
VisualBean and mifriis authored Nov 24, 2022
1 parent fd873d0 commit d24226d
Show file tree
Hide file tree
Showing 6 changed files with 282 additions and 225 deletions.
30 changes: 18 additions & 12 deletions CONTRIBUTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,29 @@

This is great that you'd like to contribute to this project. All change requests should go through the steps described below.

## Submitting a pull request
## Pull Requests

1. Fork and clone the repository
1. Build solution to restore dependencies.
1. Create a new branch: `git checkout -b branch-name`
1. Make your change, add tests, and make sure the tests still pass
1. Push to your fork and [submit a pull request](https://github.com/LEGO/AsyncAPI.NET/pull/new)
1. Wait for your pull request to be reviewed and merged.
**Please, make sure you open an issue before starting with a Pull Request, unless it's a typo or a really obvious error.** Pull requests are the best way to propose changes to the specification.

Few tips to make good pull requests:
## Conventional commits

- Write tests.
- Keep your change as small as possible. Consider splitting your changes into multiple pull requests in case you change several independant areas of code.
- Write good commit messages and pull request descriptions. Consider squashing commits for clearer history.
Our repositories follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) specification. Releasing to GitHub and NuGet is done with the support of [semantic-release](https://semantic-release.gitbook.io/semantic-release/).

Pull requests should have a title that follows the specification, otherwise, merging is blocked. If you are not familiar with the specification simply ask maintainers to modify. You can also use this cheatsheet if you want:

- `fix: ` prefix in the title indicates that PR is a bug fix and PATCH release must be triggered.
- `feat: ` prefix in the title indicates that PR is a feature and MINOR release must be triggered.
- `docs: ` prefix in the title indicates that PR is only related to the documentation and there is no need to trigger release.
- `chore: ` prefix in the title indicates that PR is only related to cleanup in the project and there is no need to trigger release.
- `test: ` prefix in the title indicates that PR is only related to tests and there is no need to trigger release.
- `refactor: ` prefix in the title indicates that PR is only related to refactoring and there is no need to trigger release.

What about MAJOR release? just add `!` to the prefix, like `fix!: ` or `refactor!: `

Prefix that follows specification is not enough though. Remember that the title must be clear and descriptive with usage of [imperative mood](https://chris.beams.io/posts/git-commit/#imperative).

## Resources

- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
- [Using Pull Requests](https://help.github.com/articles/about-pull-requests/)
- [GitHub Help](https://help.github.com)
- [GitHub Help](https://help.github.com)
Loading

0 comments on commit d24226d

Please sign in to comment.