Contributor Guide#

Guidelines for Reporting an Issue/Feature#

So you’ve found a bug or have a great idea for a feature. Here are the steps you should take to help get it added/fixed in Borgia:

  • First, check to see if there’s an existing issue/pull request for the bug/feature. All issues are at borgia-app/Borgia#issues, and pull requests are at borgia-app/Borgia.

  • If there isn’t one there, please file an issue. The ideal report includes:

    • A description of the problem/suggestion.

    • How to recreate the bug.

    • If relevant, include the versions of your:

      • Python interpreter

      • Django

      • Borgia

      • Optionally, any other dependencies involved.

    • IDEALLY, create a pull request with a (failing) test case demonstrating what’s wrong. This makes it easy for us to reproduce and fix the problem.

Guidelines for Contributing Code#

If you’re ready to contribute code/docs, the process should look like this:

  • Fork the project on GitHub into your own account.

  • Clone your copy of Borgia.

  • Create a new branch in git and commit your changes there.

  • Push your new branch up to GitHub.

  • Again, ensure there isn’t already an issue or pull request out there for it. If there is and you feel you have a better fix, please take note of the issue number and mention it in your pull request.

  • Create a new pull request (based on your branch), including what the problem/feature is, versions of your software, and referencing any related issues/pull requests.

In order to be merged into Borgia, contributions must have the following:

  • A solid patch that:

    • is clear.

    • works across all supported versions of Python/Django.

    • follows the existing style of the code base (mostly PEP-8).

    • includes comments as needed to explain why the code functions as it does.

  • A test case that demonstrates the previous flaw that now passes with the included patch.

If your contribution lacks any of these things, they will have to be added by a core contributor before being merged into Borgia properly, which may take substantial time for the all-volunteer team to get to.