Community Involvement


Community Involvement

Join our community on or other Locations.

Simply building Cayley

mkdir -p ~/cayley && cd ~/cayley
export GOPATH=`pwd`
export PATH=$PATH:~/cayley/bin
mkdir -p bin pkg src/
cd src/
git clone
cd cayley
curl | sh
glide install
go build ./cmd/cayley

Then cd to the directory and give it a quick test with:

./cayley repl --dbpath=data/testdata.nq

To run the web frontend, replace the “repl” command with “http”

./cayley http --dbpath=data/testdata.nq

Hacking on Cayley

First, you’ll need Go (version 1.6.x or greater) and a Go workspace. This is outlined by the Go team at and is sort of the official way of going about it.

Cayley should compile on Go 1.4-1.5, but it’s not officially supported.

If you just want to build Cayley and check out the source, or use it as a library, a simple go get will work!

But suppose you want to contribute back on your own fork (and pull requests are welcome!). A good way to do this is to set up your $GOPATH and then…

mkdir -p $GOPATH/src/
cd $GOPATH/src/
git clone$GITHUBUSERNAME/cayley

…where $GITHUBUSERNAME is, well, your GitHub username :slight_smile: You’ll probably want to add

cd cayley
git remote add upstream

So that you can keep up with the latest changes by periodically running

git pull --rebase upstream

With that in place, that folder will reflect your local fork, be able to take changes from the official fork, and build in the Go style.

For iterating, it can be helpful to, from the directory, run

curl | sh
glide install
go build ./cmd/cayley && ./cayley <subcommand> <your options>

Which will also resolve the relevant static content paths for serving HTTP.

Reminder: add yourself to CONTRIBUTORS and AUTHORS.