Skip to content

Latest commit

 

History

History
133 lines (95 loc) · 5.5 KB

CONTRIBUTING.md

File metadata and controls

133 lines (95 loc) · 5.5 KB

Kani Contributing Guidelines

Welcome!

Welcome to the Kani Project, first off, thank you for taking the time to consider contributing!

All contributions to Kani are extremely helpful and will be greatly appreciated! We are trying our best to make this project as good as possible, but we're still improving things. This document contains a set of guidelines for contributing to this project.

Table of Contents

Code of Conduct

Please help keep this project open and inclusive for all.
Read and follow the Code of Conduct before contributing to this repository.

If you have encountered someone who is not following the Code of Conduct, please report them to oss@hypera.dev.

Questions

Please do not use GitHub issues to ask questions. You will get a response faster if you ask on Discord!

If you wish to ask a question, please contact us using Discord by joining the Hypera Development Discord server, and you will get a response as soon as someone is next available.

Contributing

There are many ways to contribute to Kani, and they all help!
Here are the most common types of contributions:

Bug reports

If you have discovered a bug in Kani, you can help us by creating an issue, or if you have the time and required knowledge, and really want to help this project, you can create a Pull Request with a fix.

Security vulnerabilities

We take the security of Kani and our users very seriously. As such, we encourage responsible disclosure of security vulnerabilities in Kani.

If you have discovered a security vulnerability in Kani, please report it in accordance with our Security Policy.
Never use GitHub issues to report a security vulnerability.

Suggesting features

If you have an idea for something that could be added to Kani, you can suggest it by creating an issue!
Before submitting a feature request, please be sure to check that it hasn't already been suggested.

Code contributions

Code contributions are often the most helpful way to contribute to this project, and all code contributions will be greatly appreciated!

You can contribute code changes that you have written for Kani by creating a Pull Request.

Testing

Adding test coverage is extremely helpful and highly recommended for any major changes you make.
Testing helps us catch problems early before they have the change to cause big issues in production.

Commit messages

Whilst not required for commits in pull requests, all commits made in the main branch must follow Conventional Commits. This allows for the Git history to be more readable and helps us generate changelogs automatically.

Allowed types
  • fix, when the commit fixes a bug or other issue.
  • feat, when adding a new feature.
  • refactor, when refactoring or improving existing code.
  • build, when modifying a build file.
  • ci, when modifying a GitHub Actions workflow.
  • docs, when changing documentation.
  • style, when correcting a code-style issue.
  • perf, when improving the performance of a feature.
  • test, when adding or improving tests.
  • chore, when doing something that does not fit into the types above.
Allowed scopes
  • deps, when adding, updating, or removing dependencies.
  • docker, when modifying Dockerfiles.

Code review

We will not merge any pull request that does not build, pass all tests, or have style violations. All code contributions must be licensed under the MIT License, and must be reviewed by the code owners for the file(s) you are editing.

All reviews will be strict to prevent problems or mistakes from being merged into the repository.
If you have spotted a problem or mistake in someone else's pull request, please feel free to leave a polite comment to make everyone else aware of the problem before it gets merged.

Supporting the Authors

If you wish to support this project in another way, the authors accept donations! These donations go towards enabling the authors to spend more time working on this project, paying for infrastructure/domains, etc. All donations are extremely appreciated! :D

Thank you to everyone who has donated or otherwise contributed to Kani!