Contributing

If you would like to contribute to the project, please do not hesitate to get involved! Here you can find how best to get started.

Contributing to Errbot itself

Clone Errbot

All development on Errbot happens on GitHub. If you'd like to get involved, just fork the repository and make changes in your own repo. When you are satisfied with your changes, just open a pull request with us and we'll get it reviewed as soon as we can! Depending on our thoughts, we might decide to merge it in right away, or we may ask you to change certain parts before we will accept the change.

Run Errbot from source

Clone you github fork repo locally and install errbot in development mode from the root of the repo with:

pip install -e .

From there, anytime you execute errbot it will run from the checked out version of Errbot with all your local changes taken into account.

Preparing your pull request

In order to make the process easy for everyone involved, please follow these guidelines as you open a pull request.

  • Make your changes on a separate branch, preferably giving it a descriptive name.
  • Split your work up into smaller commits if possible, while making sure each commit can still function on its own. Do not commit work-in-progress code - commit it once it's working.
  • Run the test-suite before opening your pull request, and make sure all tests pass. You can run the tests with ./run_tests.py in the root of the repository.
  • If you can, please add tests for your code. We know large parts of our codebase are missing tests, so we won't reject your code if it lacks tests, though.

Contributing documentation & making changes to the website

errbot.io is created using Sphinx, which also doubles as a generator for our (API) documentation. The code for it is in the same repository as Errbot itself, inside the docs folder. To make changes to the documentation or the website, you can build the HTML locally as follows:

# Change directory into the docs folder
cd docs/
# Install the required extra dependencies
pip install -r requirements.txt
# Generate the static HTML
make html
# Then, open the generated _build/html/index.html in a browser

To submit your changes back to us, please make your change in a separate branch as described in the previous section, then open a pull request with us.

Note

You must do this with Python 3, Python 2 is unsupported.

Issues and feature requests

Please report issues or feature requests on the issue tracker on GitHub.

When reporting issues, please be as specific as possible. Include things such as your Python version, platform, debug logs, and a description of what is happening. If you can tell us how to reproduce the issue ourselves, this makes it a lot easier for us to figure out what is going on, as well.

Getting help

For general help with Errbot, we'd prefer you post in our Google Plus community or even better directly on the chat from the link below.