Skip to content

Latest commit

 

History

History
114 lines (85 loc) · 5 KB

CONTRIBUTING.md

File metadata and controls

114 lines (85 loc) · 5 KB

Introduction

You are here to help on openAFRICA deployment? Awesome, feel welcome and read the following sections in order to know what and how to work on something. If you get stuck at any point you can create a ticket on GitHub.

All members of our community are expected to follow our Code of Conduct. Please make sure you are welcoming and friendly in all of our spaces.

Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.

Types of Contributions

You can contribute in many ways. For example, you might:

  • Add documentation and "how-to" articles in the README or the wiki
  • Suggest Enhancements
  • Fix issues
  • Submit Bug reports

Bug Reports

If you find a security vulnerability, DO NOT open an issue. Email security@codeforafrica.org instead.

If you're reporting a bug, please include:

  • Your operating system name and version
  • Any details about your local setup that might be helpful in troubleshooting.
  • If you can, provide detailed steps to reproduce the bug.
  • If you don't have steps to reproduce the bug, just note your observations in as much detail as you can. Questions to start a discussion about the issue are welcome.

To ease the process of reporting bugs and issues, consider using our issue template and don't forget to add an appropriate label to the issue.

Writing Documentation

Did you find a typo? Do you think that something should be clarified? Go ahead and suggest a documentation patch. The openAFRICA deployment could always use more documentation, whether as part of the official docs, in docstrings, or even on the web in blog posts, wiki, articles, and such.

Fixing Issues

Look through the GitHub issues for bugs. Anything tagged with "bug" is open to whoever wants to implement it.

Suggesting Enhancements

Before creating enhancement suggestions, please check the issues list as you might find out that you don't need to create one. When you are creating an enhancement suggestion fill out the issue template and label the issue as a new feature.

Your first contribution

Unsure where to begin contributing to openAFRICA? You can start by looking through these beginner and help-wanted issues:

  • Beginner issues - issues which should only require a few lines of code, and a test or two.
  • Help wanted issues - issues which should be a bit more involved than beginner issues.

Once your changes and tests are ready to submit for review:

  1. Test your changes

    Run the tests if you have any and at the bare minimum, test your changes manually.

  2. Rebase your changes

    Update your local repository with the most recent code from the main openAFRICA repository, and rebase your branch on top of the latest develop branch.

  3. Submit a pull request

    Push your local changes to your forked copy of the repository and submit a pull request. In the pull request, choose a title which sums up the changes that you have made, and in the body provide more details about what your changes do. Also mention the number of the issue where discussion has taken place. Preferably use our PR template.

    Then sit back and wait. There will probably be discussion about the pull request and, if any changes are needed, we would love to work with you to get your pull request merged into openAFRICA.

Code Style

Please adhere to the PEP8 Coding conventions for the Python language. This style guide evolves over time as additional conventions are identified and past conventions are rendered obsolete by changes in the language itself. Ensure to keep updated.

Ground Rules

The goal is to maintain a diverse community that's pleasant for everyone. That's why we would greatly appreciate it if everyone contributing to and interacting with the community also followed this Code of Conduct. The Code of Conduct covers our behavior as members of the community, in any forum, mailing list, wiki, website, Internet relay chat (IRC), public meeting or private correspondence.

Please see contribution-guide.org for details on what we expect from contributors. Thanks!