A boilerplate to start building extension contracts alongside colonyNetwork!


  • Node >=10.13.0
  • Yarn >=1.12.0
  • Docker >=18.09.0

You may find it helpful to use Node Version Manager (nvm) to manage Node versions.

If you are using Linux, check out Linux Setup to ensure Yarn and Docker are set up accordingly.


Globally install the colony-cli package.

yarn global add @colony/colony-cli

Install the colony-starter-contract package.

colony build colony-starter-contract

Alternatively, you can use npx and kickstart the colony-starter-contract package in one line without having to globally add the colony-cli package:

npx -p @colony/colony-cli colony build colony-starter-contract

Start Ganache

Open a new terminal window and start Ganache:

yarn start-ganache

Deploy Contracts

Open a new terminal window and deploy the colonyNetwork contracts:

yarn deploy-contracts

Start TrufflePig

Once the contracts have been deployed, start TrufflePig:

yarn start-trufflepig

Colony Setup

Open a new terminal window and create a test colony:

yarn colony-setup

Truffle Commands

Run truffle commands using colony-cli:

yarn truffle [develop/compile/migrate/test]

Contract Versions

If you do not want to use the default version of the colonyNetwork smart contracts defined by the colony-cli package, you can update the "deploy-contracts" scripts property in your package.json file to use a specific version. This can be a branch name, a commit hash, or a version tag.

"deploy-contracts": "colony service deploy-contracts --specific glider",


Questions? Problems? Existential dilemmas? We’re here to help!

Improve this doc.

All improvements to documentation are welcome and encouraged. Submit a PR for documentation on GitHub.