-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
68 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
# Contributing to Sylvia | ||
|
||
Sylvia welcomes contribution from everyone in the form of suggestions, bug | ||
reports, pull requests, and feedback. This document gives some guidance if you | ||
are thinking of helping us. | ||
|
||
## Submitting bug reports and feature requests | ||
|
||
When reporting a bug or asking for help, please include enough details so that | ||
the people helping you can reproduce the behavior you are seeing. For some tips | ||
on how to approach this, read about how to produce a [Minimal, Complete, and | ||
Verifiable example](https://stackoverflow.com/help/mcve). | ||
|
||
When making a feature request, please make it clear what problem you intend to | ||
solve with the feature, any ideas for how Sylvia could support solving that | ||
problem, any possible alternatives, and any disadvantages. | ||
|
||
## Running checks | ||
|
||
Before submitting a pull request, please make sure that the following checks pass: | ||
|
||
```sh copy | ||
cargo test && cargo fmt --check && cargo clippy --all-features -- -D warnings | ||
``` | ||
|
||
If anything does not pass, typically it will be | ||
easier to iterate and fix it locally than waiting for the CI servers to run | ||
tests for you. | ||
|
||
You also have to run the tests in the `example` directory if your pull request affected the `sylvia-derive` crate: | ||
|
||
```sh copy | ||
cd examples && cargo test | ||
``` | ||
|
||
## Commit messages | ||
|
||
Sylvia requires the commit messages to follow the | ||
[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) | ||
specification. This convention makes it easier to understand the changes in the | ||
project and to automate the release process. | ||
|
||
Ideally the commit message should also reference the issue number that it aims to fix. | ||
|
||
Supported headers are: | ||
|
||
- feat | ||
- fix | ||
- revert | ||
- docs | ||
- test | ||
- refactor | ||
- chore | ||
- build | ||
|
||
``` | ||
feat: Support new type of message (#123) | ||
Additional valuable information about added functionality in the commit. | ||
``` | ||
|
||
## Releasing | ||
|
||
Sylvia uses the [release-plz](https://github.com/release-plz/release-plz) GitHub action to automate the release process. Instead of running `cargo publish` manually, simply merge the automatic PR generated by this action and it would take care of the rest. | ||
|
||
## Versioning | ||
|
||
Sylvia follows the [Semantic Versioning](https://semver.org/) scheme. |