Contributing to ChatterBot

There are numerous ways to contribute to ChatterBot. All of which are highly encouraged.

  • Contributing bug reports and feature requests
  • Contributing documentation
  • Contributing code for new features
  • Contributing fixes for bugs

Every bit of help received on this project is highly appreciated.

Setting Up a Development Environment

To contribute to ChatterBot’s development, you simply need:

  • Python
  • pip
  • A few python packages:
pip install requirements.txt
pip install dev-requirements.txt
  • A text editor

Reporting a Bug

If you discover a bug in ChatterBot and wish to report it, please be sure that you adhere to the following when you report it on GitHub.

  1. Before creating a new bug report, please search to see if an open or closed report matching yours already exists.
  2. Please include a description that will allow others to recreate the problem you encountered.

Requesting New Features

When requesting a new feature in ChatterBot, please make sure to include the following details in your request.

  1. Your use case. Describe what you are doing that requires this new functionality.

Contributing Documentation

ChatterBot’s documentation is written in reStructuredText and is compiled by Sphinx. The reStructuredText source of the documentation is located in docs/.

To build the documentation yourself, run:

sphinx-build ./docs/ ./build/

You can then open the index.html file that will be created in the build directory.

Contributing Code

The development of ChatterBot happens on GitHub. Code contributions should be submitted there in the form of pull requests.

Pull requests should meet the following criteria.

  1. Fix one issue and fix it well.
  2. Do not include extraneous changes that do not relate to the issue being fixed.
  3. Include a descriptive title and description for the pull request.
  4. Have descriptive commit messages.