/contributor-guide

Contributor Guide for CAMS

Creative Commons Zero v1.0 UniversalCC0-1.0

Contribution Guide

Technologies Used

CAMS is built with TerminusDB, the TerminusDB UI SDK, and React, the popular JS library. The maps are OpenStreetMap. JSON is the data-interchange format.

TerminusDB allows you to link JSON documents in a knowledge graph through a document API, so it is a kind of document graph. The UI SDK lets you build a UI from TerminusDB documents.

Finding an issue

Here's our current roadmap. We use GitHub issues associated mostly in the main CAMS-Dashboard repo to track the work associated with that project. That's where you can find things to work on.

We use of issue labels to designate the priority, status and beginner-friendliness of various issues. They should be fairly self-explanatory, but if you are in doubt ask! You do not need our permission to work on one of these issues.

Check the issue comments/labels to see whether someone else has indicated that they are working on it. If someone is already working on it and there has been activity within the last 7 days, you may want to find a different issue to work on.

Contribution process

Once you've found an issue you'd like to work on, please follow these steps to make your contribution:

  • Comment on it and say you're working on that issue. This is to avoid conflicts with others also working on the issue. If you've followed the guidelines above, you don't need to ask permission to start work on an issue.
  • Write your code and submit your pull request.
  • Wait for code review and address any issues raised as soon as you can.

A note on collaboration: We encourage people to collaborate as much as possible. We especially appreciate contributors reviewing each others pull requests, as long as you are kind and constructive when you do so.

Proposing a new issue or feature

If you want to work on something that there is no GitHub issue for, follow these steps:

  • Create a new GitHub issue associated with the relevant repository and propose your change there. Be sure to include implementation details and the rationale for the proposed change.
  • The issue will go into triage and will have to be pulled into the roadmap before you start working on it.
  • Once the issue is in the roadmap, you may start work on code as described in the "Contribution process" section above.

When in doubt, ask a question on our community slack.

Bug Reports

If you spot a bug, open an issue here and report it in the bugs channel in the community slack.

Once the issue is open and has been included on the roadmap board, you can squash that bug! All superheros do not wear capes.

Environment Set Up

The set up and getting started guide is over here. It is still a little complex, so if you want to rationalize, feel free to open an issue. It will be a priority and you will win much kudos.

Community

Remember - when in doubt, ask a question on our community slack.