Welcome to hypera.dev/lib
, first off, thank you for taking the time to consider
contributing!
All contributions to hypera.dev/lib
are extremely helpful and 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 guides for contributing to this project.
Table of Contents
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 [email protected].
Please do not use GitHub issues to ask questions. You will get a faster response 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.
There are many ways to contribute to hypera.dev/lib
, and they all help!
Here are the most common types of contributions:
If you have discovered a bug in hypera.dev/lib
, 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.
We take the security of hypera.dev/lib
and our users very seriously. As such, we encourage responsible
disclosure of security vulnerabilities in hypera.dev/lib
.
If you have discovered a security vulnerability in hypera.dev/lib
, please report it in accordance with
our Security Policy.
Never use GitHub issues to report a security vulnerability.
If you have an idea for something that could be added to hypera.dev/lib
, 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 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 hypera.dev/lib
by creating a Pull Request.
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.
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.
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.
slog/pretty
, when making changes in theslog/pretty
package.deps
, when adding, updating, or removing dependencies.
When using the type ci
, workflow names (.github/workflows/
files, excluding extensions) may be
used as the scope.
We have strict guidelines for merging pull requests to maintain code quality, and to prevent future problems:
- Pull requests must successfully build, pass all tests, and adhere to style guidelines. Any pull requests that fail to do so, will not be merged.
- Code contributions must be licensed under the MIT License.
- Modifications must be reviewed by the code owners for the respective files.
We value high code quality, which is why our pull request reviews are rigorous. This approach
ensures that problems or mistakes are caught before being merged into the main
branch.
If you receive numerous comments pointing out mistakes in your pull request, please don't take offense. Mistakes are normal, and you should not be ashamed of them.
If you spot issues in someone else's pull request, kindly leave a polite comment to make others aware of the problem before it gets merged. Your help in maintaining code quality is greatly appreciated.
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 hypera.dev/lib
!