Skip to content

Latest commit

 

History

History
68 lines (47 loc) · 2.12 KB

CONTRIBUTING.md

File metadata and controls

68 lines (47 loc) · 2.12 KB

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.

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:

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:

cd examples && cargo test

Commit messages

Sylvia requires the commit messages to follow the Conventional Commits 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 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 scheme.