Skip to content

How to Contribute

Evan Tann edited this page Jun 15, 2016 · 16 revisions

Abot is an active project, and we're always open to contributions from the community. To keep the quality of the code base high, code and git commit messages should follow the same style standards as set in the existing code base.

If you'd like to propose a new feature, please do that by bringing it up in the mailing group here: Abot Discussion Mailing Group. If you'd like to contribute, please feel free to fork the project and create a Pull Request.

If you're interested in contributing but would like a little help getting started, consider joining our Mentorship Program.

Issue labels can help you find things to work on as well. Look for "good first bug" or "mentor bug" as great places to get started. Feel free to comment on any mentor bug issue, and we'll have someone walk you through your first bugfix and contribution.

If you've found a security flaw, please email the founder Evan directly at admin@itsabot.org.

Contribution Ideas

Looking for ways to contribute to Abot? Whether you want to add new conversation topics, voice support, or analytics, there's plenty to do. See the list below ideas.

Plugins

One of the most impactful contributions to Abot is building a new plugin. Please see the following list of desired plugins for inspiration:

  • Stock search: Look up stocks by ticker symbol and provide some useful performance measures (e.g. P/E). "How is Apple's stock doing?"
    • Idea: Allow for stock purchases connected to various services
  • Shopping list: Remember things to buy and optionally sort them by store. "What do I need from Costco?"
  • Restaurant recommendations: Recommend restaurants based on a person's location. "Can you find me a good Indian restaurant?"
    • Idea: Improve and customize recommendations over time with feedback from the user.
    • Idea: Allow for searching based on restaurant qualities: e.g. quiet, date spot, great bar, great for sports, etc.]

Already working on a great new plugin or have an idea for one you'd love to use? Let the mailing list know, and we can provide support and feature your work for others!

Core

Want to contribute to Abot's core? There are tons of features we're building to make building digital assistants a breeze, and we'd love your help. Check the roadmap for a full list of features we're working on. If you see anything that interests you, or if you have a feature request you'd love to see built, claim it through the mailing list, and we can help you and provide support as needed.

Git Commit Template

To keep our git history clean, we enforce strict standards on the format of commit messages before merging a pull request. Note the example below with comments added to explain the significance.

# The subject
# - Starts with an imperative tense verb (Fix, Patch, Add, etc.).
# - Always begins with a capital letter.
# - Does not end with a period.
# - Fits on a single line.
# - Is always shorter than 50 characters.
Add settings panel to admin interface

# The body
# - Is optional and more thoroughly explains your change if needed.
# - Wraps lines at 72 characters.
# - Uses standard English grammar with complete sentences.
# - Is separated from the subject by an empty line.
The settings panel makes it possible to change plugin variables from the
UI, rather than requiring the user change their environment variables.