Contributing

Contributing to MSXHub

First off, thank you for considering contributing to MSXHub.

How can I contribute?

You don't need to know programming to contribute to this project. There are many different ways:

  • Creating a new package
  • Reporting a bug
  • Submitting a fix
  • Proposing new features

How to create a new package

A MSXHub package is just a YAML file. Creating new packages is very easy! Just follow these steps:

  1. Fork the msxhub-packages GitHub repository.
  2. Create a new YAML file in the packages/ directory.
  3. Create a pull request.

Once the pull request has been approved, it will be automatically available on the next day.

To generate the YAML file, the Package Builder tool can be used.

More information about creating packages can be found in the msxhub-packages GitHub repository.

How to report a bug

We use GitHub Issues to track public bugs. Report a bug by opening a new issue.

Please write the bug report with as many detail as possible. Make sure to include:

  • A quick summary and/or background
  • Your MSX computer model, operating system and Network Card. Add any other relevant information about your environment.
  • Steps to reproduce
    • Be specific!
    • Give sample code if you can.
  • What you expected would happen
  • What actually happens
  • Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)

How to contribute code

We use GitHub Flow, so all code changes happen through pull requests:

  1. Fork the repo and create your branch from master.
  2. If you've changed APIs, update the documentation.
  3. Verify your code compiles and works as expected.
  4. Issue that pull request!

When you submit code changes, your submissions are understood to be under the same GPL 3.0 License that covers the project. Feel free to contact the maintainers if that's a concern.

When adding code, make sure to follow the same code style:

  • 2 spaces instead of tabs

How to suggest a new feature

Use GitHub Issues and tag your issue with the label "enhancement".