Skip to content

Latest commit

 

History

History
62 lines (40 loc) · 1.89 KB

CONTRIBUTING.md

File metadata and controls

62 lines (40 loc) · 1.89 KB

Contributing

Everyone is welcome to get involved, may it be a pull request, suggestion, bug report, or a textual improvement! : )

The language applied in this repository is British English.

Contributions

Contributions to hey_listen should be first discussed up via an issue and then implemented via pull request. Issues display development-plans or required brainstorming, feel free to ask, suggest, and discuss! The master-branch contains the latest release.

Comments & Documentation Style

  • Comments are placed the lines before the related code line, not on the same line.

  • Write full sentences in British English.

  • unsafe must always be reasoned and their soundness must be proven via a comment.

  • Use Rust intra-doc-links paths to refer Rust items in documentation: [name](crate::module::struct::method).

  • If code ends up difficult, try to simplify it, if unavoidable, explain code with comments. Prefer explicit variable naming instead of abbreviations.

Commit Style

Write full sentences in British English.

Commits should describe the action being peformed.

Example:

  • Fix deadlock for events.
  • Correct grammar in command-example.

Pull Request Checklist

  • Make sure to open an issue prior working on a problem or ask on existing issue be assigned.

  • If a pull requests breaks the current API, use the breaking-changes-branch, otherwise stable-changes.

  • Commits shall be as small as possible, compile, and pass all tests.

  • Make sure your code is formatted with rustfmt and free of lints, run cargo fmt and cargo clippy.

  • If you fixed a bug, add a test for that bug. Unit tests belong inside the same file's mod named tests, integrational tests belong inside the tests-folder.

  • Last but not least, make sure your planned pull request merges cleanly, if it does not, rebase your changes.

If you have any questions left, please reach out via the issue system : )