Contributing to hyper

🎉 First off, thanks for taking the time to contribute!🎉 .

When you initially consider contributing to hyper you might be unsure about where to contribute. This should help. There are several places to contribute, if you have knowledge or passion about a particular service, then creating a service adapter would be a great place to contribute.

The following is a set of guidelines for contributing to hyper and its packages hosted in the hyper organization on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.

Code of Conduct

This project and all its participants are governed by theCode of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to tom@hyper.io.

I don't want to read this whole thing I just have a question!!!

We are a small project right now, just file an issue with your question tag, we will get you an answer as soon as possible. Before you ask, please check the FAQ and make sure it was not already asked and answered.

What should I know before I get started?

hyper⚡️ is a service framework consisting of an API, core, and services. Currently, API, ports, and core are in a single repository, with a goal to add more ports and more api options in the future. Each port adapter, maintained by the core team, is in its own repository with a goal to add more adapters in the future.

How can I contribute?

This is an open-source project, which welcomes all contributions and all development will occur in the open for interested parties to follow and comment. Please read this document along with the Code of Conductto fully understand the requirements and restrictions to be a part of this community.

Options to contribute

  • Look through open issues on our Contributions Board
  • Build your own adapter🔌- create an adapter for a given port
  • Build a port - You'll need to go through theHyper RFC process.
  • Write a client - create a client for your favorite language
  • Write an app interface - create your own interface to the hyper service framework
  • Documentation - update the documentation to be concise and clear
  • Examples - create an example implementation.
  • Report a bug 🪲
  • Suggest an enhancement with anHyper RFCs.

Your first code contribution

Unsure where to begin contributing? Look through the beginner and help-wanted issues on our Contributions Board. Beginner issues typically only require a few lines of code and a test or two. Help-wanted should be a bit more involved compared to beginner issues.

Build your own adapter

SeeBuilding your own adapter.

Design Decisions

All design decisions go through a "request for change" process which requires you to create an RFC document to encourage the community to think through the whole process. This will result in the gathering of several opinions and observations to create a sound decision for the future of the project.

SeeHyper RFCs.

Pull Requests

The process described here has several goals:

  • Maintain hyper's quality
  • Fix problems that are important to users
  • Engage the community in working toward the best possible hyper
  • Enable a sustainable system for hyper's maintainers to review contributions

Please follow these steps to have your contribution considered by the maintainers: 1. Follow all instructions in Pull Request Template 2. Follow the [styleguides](#styleguides) 3. After you submit your pull request, verify that all status checks are passing

What if the status checks are failing?

If a status check is failing, and you believe that the failure is unrelated to your change, please leave a comment on the pull request explaining why you believe the failure is unrelated. A maintainer will re-run the status check for you. If we conclude that the failure was a false positive, then we will open an issue to track that problem with our status check suite. While the prerequisites above must be satisfied prior to having your pull request reviewed, the reviewer(s) may ask you to complete additional design work, tests, or other changes before your pull request can be ultimately accepted.

Pull Request Template

Style Guide

SeeStyle Guide.