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 bde695d
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 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.

0 comments on commit bde695d

Please sign in to comment.