First: if you're unsure or afraid of anything, just ask or submit the issue or pull request anyway. You won't be yelled at for giving your best effort. The worst that can happen is that you'll be politely asked to change something. We appreciate any sort of contributions, and don't want a wall of rules to get in the way of that.
However, for those individuals who want a bit more guidance on the best way to contribute to the project, read on. This document will cover what we're looking for. By addressing all the points we're looking for, it raises the chances we can quickly merge or address your contributions.
-
Make sure you test against the latest released version. It is possible we already fixed the bug you're experiencing.
-
Provide steps to reproduce the issue.
-
Please include logs, if relevant.
-
Please make sure there is an issue associated with the work that you're doing.
-
If you're working on an issue, please comment that you are doing so to prevent duplicate work by others also.
-
Squash your commits and refer to the issue using
fix #<issue-no>
orclose #<issue-no>
in the commit message, at the end. For example:resolve answers to everything (fix #42)
orresolve answers to everything, fix #42
-
Rebase master with your branch before submitting pull request.
-
Please make sure that your code is linted as per the rules in the project. To run an ESLint check, run
npm run eslint
from the root of the project. -
To run the tests locally, you will need to have a Hasura GraphQL engine URL. You can run the tests locally by passing the GraphQL Engine URL and the access key to the
npm test
command.$ GRAPHQURL_TEST_GRAPHQL_ENGINE_URL=<Hasura GraphQL Engine> \ GRAPHQURL_TEST_X_HASURA_ACCESS_KEY=<Access key> \ npm test
Tests will be run on the CI for every pull request.
-
The first line should be a summary of the changes - not execeeding 50 characters. Followed by an optional body which has more details about the changes. (https://github.com/erlang/otp/wiki/writing-good-commit-messages)
-
Use the imperative present tense: "add/fix/change", not "added/fixed/changed" nor "adds/fixes/changes".
-
Don't capitalize the first letter of the summary line.
-
Do not add a period/dot (.) at the end in the summary line.
(Credits: Some sections are adapted from https://github.com/PostgREST/postgrest/blob/master/.github/CONTRIBUTING.md)