Contributions to gitcoin could come in different forms. Some contribute code changes, others contribute docs, others help answer questions from users, help keep the infrastructure running,
We welcome all contributions from folks who are willing to work in good faith with the community. No contribution is too small and all contributions are valued.
Contributions to Gitcoin are governed by the Contributor Covenant version 1.4. All contributors and participants agree to abide by its terms. To report violations, shoot out an email to [email protected]
The Code of Conduct is designed and intended, above all else, to help establish a culture within the project that allows anyone and everyone who wants to contribute to feel safe doing so.
Open, diverse, and inclusive communities live and die on the basis of trust. Contributors can disagree with one another so long as they are done in good faith and everyone is working towards a common goal.
Issues in gitcoin/web
are the primary means by which bug reports and
general discussions are made. A contributor is allowed to create an issue,
discuss and provide a fix if needed.
As Gitcoin is still at its early stages, drop by gitcoin.co/slack and say hi to know what's next / to get your answers cleared up.
Pull Requests are the way in which concrete changes are made to the code and documentation.
You must install pre-commit in order to enable our
precommit hooks and pre-commit install
from your gitcoinco/web
root directory.
Fork the project on GitHub and clone your fork locally.
$ git clone [email protected]:username/web.git
$ cd web
$ git remote add upstream https://github.com/gitcoinco/web.git
$ git fetch upstream
It's always better to create local branches to work on a specific issue. Makes
life easier for you if you are the kind who enjoys multiple things parallely.
These should also be created directly off of the master
branch.
$ git checkout -b my-branch -t upstream/master
As of now, we don't have any sort of design style / lint to validate things. So we ask you to ensure all these are met before you shoot out a PR.
- Avoid trailing whitespace & un-necessary white lines
- Indentation is as follows
- 1 tab = 2 spaces for
.html
files - 1 tab = 4 spaces for everything else
- Linters will be added to make this easier.
- 1 tab = 2 spaces for
-
List all your changes as a list if needed else simply give a brief description on what the changes are.
-
All lines at 100 columns.
-
If your PR fixed an issue, Use the
Fixes:
prefix and the full issue URL. For other references useRefs:
.Examples:
Fixes: https://github.com/gitcoinco/web/issues/87
Refs: https://github.com/gitcoinco/web/issues/91
-
Sample commit A
if you can write down the changes explaining it in a paragraph which each line wrapped within 100 lines. Fixes: https://github.com/gitcoinco/web/issues/87 Refs: https://github.com/gitcoinco/web/issues/91
Sample commit B
- list out your changes as points if there are many changes - if needed you can also send it across as - all wrapped within 100 lines Fixes: https://github.com/gitcoinco/web/issues/87 Refs: https://github.com/gitcoinco/web/issues/91
-
Squashing and Merging your commits to make our history neater is always welcomed.
Ensure you neat description on what your PR is for, so that it's easier for folks to understand the gist of it before jumping to the the code / doc.
As a best practice, once you have committed your changes, it is a good idea
to use git rebase
(not git merge
) to ensure your changes are placed at the
top. Plus merge conflicts can be resolved
$ git fetch upstream
$ git rebase upstream/master