Skip to content

Latest commit

 

History

History
81 lines (53 loc) · 3.24 KB

File metadata and controls

81 lines (53 loc) · 3.24 KB

Contributing to CocktailBerry

Any input is welcome, whether it is:

  • Reporting a bug
  • Discussing the current state of the code
  • Submitting a fix
  • Proposing new features
  • Becoming a maintainer

Develop with Github

I use GitHub to host code, to track issues and feature requests, as well as accept pull requests.

All Code Changes Happen Through Pull Requests

Pull requests are the best way to propose changes to the codebase:

  1. Fork the repo and create your branch from master.
  2. If you've added code that should be tested, add tests.
  3. If you've changed APIs, update the documentation.
  4. Ensure the test suite passes.
  5. Run & Check UI changes to make sure everything works and looks good.
  6. Use pyqt ui files where possible (see dev notes)
  7. Make sure your code lints (ty & ruff).
  8. Issue that pull request!

You can use AI tools BUT

  1. It is expected that you review and test any code generated by AI tools.
  2. Make sure to understand the code and ensure it meets the project's quality standards.
  3. Do not blindly copy-paste AI-generated code without verification.
  4. Ensure that all test and quality checks pass before submitting your contribution.
  5. AI tends to add bloat, so make sure to keep the code clean and efficient.

Any contributions you make will be under the GPL-3.0 License

By submitting code changes to this project, you agree to license your contributions under the same GNU General Public License, version 3 (GPL-3.0) that governs the project.

In short:

  • Your contributions will inherit the GPL-3.0 terms, requiring any distributed modifications to remain open-source.
  • This ensures that the project and its derivatives continue to promote software freedom and openness.

If you have any concerns about this, feel free to contact the maintainers before contributing.

Report bugs using Github's issues

We use GitHub issues to track public bugs. Report a bug by opening a new issue; it's that easy!

Write bug reports with detail, background, and sample code

This is an example. Here's another example from Craig Hockenberry.

Great Bug Reports tend to have:

  • A quick summary and/or background
  • 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)

People love thorough bug reports.

Use a Consistent Coding Style

Best way is to use a Python auto formatter within your IDE and an according linting style.

  • autopep8 with 120 line length
  • ruff for linting and additional formatting
  • Try to make the linter 'happy': fix all warnings / errors shown

License

By contributing, you agree that your contributions will be licensed under its GPL-3.0 License.

References

This document was adapted from the open-source contribution guidelines for Facebook's Draft