Contribution Guide

Please contribute to improve Serrano 🌶️ helping make it better. Before opening an issue or submitting a pull request, please read through this guide.

Issue

Bugs

In repository pcpLiu/Serrano, only Bug issues are accepted. And please follow this Issue template to submit.

Other issues

All other issues, feature request, questions and general discussion. You can open issues at pcpLiu/SerranoExplore.

Pull Request

We are trying to keep it easy to contribute to Serrano. There are a few guidelines that you should follow so the community can keep track of changes.

Getting started

  • Submit an issue before you making a PR. As addressed before, the issue should be placed in the correct repository.
  • Writing code.

    • Read Coding Guidelines.
    • Commit message. Write meaningful and formated commit messages. Below is an example:

      Fixed #3223.

      The first line should be a brief statement describing what you done and if applicable should also include an issue number, prefixed with its hash.

  • Pull Request

    • Fill PR template 📋. When you open a pull request, please fill the PR template displayed
    • Keep history clean 🗑️. Please squash all your commits and rebase them properly making the git logs clean and easy to understand.
    • Add your name to CONTRIBUTORS.md 📝. Don't forget to add your names into CONTRIBUTORS.md

Docs Pull Request

For simple errors like typos or format issues in documentations, you can directly make a PR. You don't need to open an issue.

Coding Guidelines

We don't have very strict coding guidelines. Just few basic principles to follow:

  • Comments are required.
    • All classes, functions, structs etc. require header comment. Serrano automatically generates API reference via jazzy. You can check existing code to see how to write header comments, basically they are just Markdown.
    • Details are always better. If you are not sure if need to write down some comments here so that people could understand it, maybe you need to write it. Make sure the community could understand your logic quickly via the help of your comments.
  • Test code are required. Please add test cases or create a new test file according to your situation.
  • Code style. There's no strict code style. Just make sure your code conforms to the style around the whole project.