Development

Want to help us develop MOTECH? The step-by-step guide below will help you get started. Please let us know if you see something is missing or incorrect in these instructions. Our mailing list is populated with helpful people who will help you get going - and will get this documentation up to date with any issues you encounter.

Here is how to get started:

Mailing Lists and Accounts

  1. Sign up for the MOTECH Developer mailing list - this is the best place to get help with any questions about MOTECH development.
  2. Create an account on GitHub, our code repository and review system.
  3. Get a Jira account if you’ll be working on documentation tickets - there is no self-serve way to request a Jira account yet, so please just email the MOTECH Developer list and we’ll get you set up.

Dev Environment & Tools

  1. Configure your dev machine.
  2. Fork one of our GitHub repositories.
  3. Clone your repository locally and enter the motech directory.
  4. Familiarize yourself with our CI.

Finding Something to Work On

  1. We recommend that you find a community issue from our issue tracker These are bugs and user stories that we think are good introductory items for new MOTECH community members.
  2. If you’re already building your own system on top of MOTECH and you’d like us to incorporate your changes for an issue you’ve found and fixed, please first check whether the issue already exists in our issue tracker. If you are not sure, please email the mailing list and we’ll help you determine whether the issue is already known. Please track your work with a new issue so that we can evaluate it for inclusion in the platform.

Developing and Submitting Your Code

  1. If your fix will be nontrivial, please leverage the mailing list for feedback on your design before you get too far - we are a friendly bunch and can help ensure you are headed in the right direction.
  2. When you’re ready to push your changes, please squash your commits to keep the change history concise, and write a commit message that conforms to our guidelines.
  3. Generate a pull request from your forked repository and our team will review it.
  4. Please incorporate code review feedback and update your pull request as needed. Once your change has passed code review, one of the project maintainers will merge your change to the repo.
  5. Resolve the relevant issue(s) in Jira.