Skip to content

Commit

Permalink
chore: Add CONTRIBUTING.md
Browse files Browse the repository at this point in the history
  • Loading branch information
jawoznia committed Dec 4, 2024
1 parent e698156 commit 7f42a64
Showing 1 changed file with 68 additions and 0 deletions.
68 changes: 68 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Contributing to Sylvia

Sylvia welcomes contributions 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 clarify 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 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 manually running `cargo publish`, merge the automatic PR generated by this action, which will take care of the rest.

## Versioning

Sylvia follows the [Semantic Versioning](https://semver.org/) scheme.

0 comments on commit 7f42a64

Please sign in to comment.