How to contribute

First of all, thanks for taking your time to contribute!

Please note that only questions on the framework will be answered here. For issue related with any channels, please contact their respective authors or post in their corresponding repositories.

Here is a simple guide on how you can file in an issue, or submit a pull request that is useful and effective.

If you need help, or want to talk to the authors, feel free to visit our GitHub Discussions forum, or chat with us at our Telegram support group.

Before you ask a question, please read and follow this guide as far as possible. Without doing so might lead to unfriendly or no response from the community, although we try to refrain from doing so.

Reporting bugs

Before submitting a bug report

  • Please ensure if your issue is about the framework itself, not about any module. Reports about modules should go to their respective issue trackers.

  • Read through the documentation to see if it has covered your question.

  • Check the current issue list to see if it’s been reported.

How Do I Submit A (Good) Bug Report?

  • Use a clear and descriptive title for the issue to identify the problem.

  • Describe the exact steps which reproduce the problem in as many details as possible.

  • Provide specific examples to demonstrate the steps.

  • Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior.

  • Explain which behavior you expected to see instead and why.

  • If the problem wasn’t triggered by a specific action, describe what you were doing before the problem happened and share more information using the guidelines below.

  • Provide log related to the issue. Use the verbose flag to start the logging process, and submit the entire log from the first step you performed.

Provide more context by answering these questions:

  • Did the problem start happening recently (e.g. after updating to the latest version) or was this always a problem?

  • Can you reliably reproduce the issue? If not, provide details about how often the problem happens and under which conditions it normally happens.

Include details about your configuration and environment:

  • What version of EFB are you using? You can get the version by using the flag --version.

  • What’s the name and version of the OS you’re using?


When submitting your log, please remember to hide your private information.

Suggesting enhancements

If you have any suggestions, feel free to raise it up in the issue list. Please try to provide as much details as you can, that includes:

  • Use a clear and descriptive title for the issue to identify the suggestion.

  • Give details on how the enhancement behave.

  • Provide specific examples to demonstrate the abstraction.

  • The enhancement to the framework must be applicable to considerably many IM platforms, not just for a single IM. Suggestions for a specific IM should be made to their relative channel.

    Adapted from Atom contribution guide by GitHub Inc.

Pull requests

When you have done some changes and want to submit it to us, fork it to your account and submit a GitHub pull request. Please write a detailed description for your pull request on:

  • What changes have you made?

  • What problem have you solved?

  • Which issue have you addressed if applicable.

Always write a clear log message for your commits. One-line messages are fine for small changes, but bigger changes needs a detailed description after the one-liner.

Adapted from OpenGovernment contribution guide by Participatory Politics Foundation