From 9f4c5e9d0a9ea4b0d0daef254df691132f03f0c8 Mon Sep 17 00:00:00 2001 From: Jeromy Date: Sat, 3 Oct 2015 10:33:30 -0700 Subject: [PATCH] add some notes on how to hack on go-ipfs License: MIT Signed-off-by: Jeromy --- contribute.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/contribute.md b/contribute.md index ad1381fe1..729ef6dbe 100644 --- a/contribute.md +++ b/contribute.md @@ -4,7 +4,7 @@ go-ipfs is MIT licensed open source software. We welcome contributions big and small! Take a look at the [community contributing notes](https://github.com/ipfs/community/blob/master/contributing.md). Please make sure to check the [issues](https://github.com/ipfs/go-ipfs/issues). Search the closed ones before reporting things, and help us with the open ones. -Guidelines: +General Guidelines: - see the [dev pseudo-roadmap](dev.md) - please adhere to the protocol described in [the main ipfs repo](https://github.com/ipfs/ipfs), [paper](http://static.benet.ai/t/ipfs.pdf), and [specs](https://github.com/ipfs/specs) (WIP). @@ -14,4 +14,15 @@ Guidelines: - run `go fmt` before pushing any code - run `golint` and `go vet` too -- some things (like protobuf files) are expected to fail. - if you'd like to work on ipfs part-time (20+ hrs/wk) or full-time (40+ hrs/wk), contact [@jbenet](https://github.com/jbenet) -- have fun! \ No newline at end of file +- have fun! + +A short intro to the Go development workflow: + +- Ensure you have [Go installed on your system](https://golang.org/doc/install). +- Make sure that you have the environment variable `GOPATH` set somewhere, e.g. `$HOME/gopkg` +- Clone ipfs into the path `$GOPATH/src/github.com/ipfs/go-ipfs` + - NOTE: This is true even if you have forked go-ipfs, dependencies in go are path based and must be in the right locations. +- You are now free to make changes to the codebase as you please. +- You can build the binary by running `go build ./cmd/ipfs` from the go-ipfs directory. + - NOTE: when making changes remember to restart your daemon to ensure its running your new code. +