Contributing

check-oldies is open source and contributions are most welcome. You may propose ideas, report bugs, provide code or documentation. Typo and grammar fixes are warmly received as well.

You may report a bug or propose a change or a new feature by opening an issue on GitHub.

If you have some time at hand and the inclination to do so, you may directly open a pull request. It will be very much appreciated. Here are a few guidelines. Obviously, not everything is relevant if you are only fixing a typo in the documentation.

Note

tl;dr: run make test, run make quality, create a pull request on GitHub that clearly explains what your changes do and why you need it. Check the status of your branch on GitHub Action, be nice and be patient. :)

  1. Fork the Polyconseil/check-oldies repository on GitHub.

  2. Clone your fork locally.

  3. Set up a virtual environment and activate it.

  4. Install the development dependencies:

    $ pip install -r requirements_dev.txt
    
  5. Create a branch for your local development. Do your changes locally.

  6. Test your changes against the current tests:

    $ pytest
    
  7. If you are adding a feature or fixing a bug, it is good practice to add one (or more) specific test(s). Do not hesitate to ask for help if you are unsure how to do so.

  8. Along with tests, check whether the documentation should be changed or augmented.

  9. We use a few tools to try to keep an appropriate level of quality and style. Run them with:

    $ make quality
    
  10. Once they look good enough, commit your changes and push your branch to GitHub.

  11. Finally, create a pull request. Try to be clear in the purpose of your changes: what they are, why do we need those changes, whether there are shortcomings, etc. Remember to provide as much context as you can. And if something seems obvious to you, do not hesitate to mention it anyway: if it’s obvious, it will be easy and quick to explain. :) That can save time if the reader does not have the same context as you do, which is often the case.

  12. Tests and checks of each pull request are automatically run by GitHub Actions. You should make sure that the build pass.

Maintainers will try to answer in a timely fashion, but please be patient and understand that we may have more pressing issues.