# Source Code Contributions¶

## Initial Preparation¶

The following examples will be split into two sections, one for the Go projects (drep-chain, etc), and one for projects that do not use Go (drepDocs, etc). In all cases, be sure to check out the README.md in each project if you need help setting the particular project up.

## Go¶

For projects using Go, ensure you have either the latest Go release or the one prior installed. All Go code changes for Drep must be compliant with the latest version of Go and the one prior to it.

Below is an example procedure for drep.

### One time setup¶

• Run the following commands to obtain drep, all dependencies, and install it:
$mkdir -p$GOPATH/src/github.com/drep-project/
$git clone https://github.com/drep-project/drep-chain.git$GOPATH/src/github.com/drep-project/drep-chain
$cd$GOPATH/src/github.com/drep-project/drep-chain
$go mod trdy$ go install . ./cmd/...


## Other projects¶

For projects not written in Go, the initial setup will depend on the project. I will use drepdocs as an example here, but the basic steps are the same for any of the projects. Specific setup can be seen in the project README.md (for example how to install mkdocs to work on drepdocs or electron for brower).

### One time setup¶

• Fork drepdocs on GitHub
• Run the following commands to obtain drepdocs:
$mkdir -p code/drepdocs$ cd code/drepdocs
$git clone https://github.com/drep-project/drepdocs$ cd drepdocs