layout: docs title: Development Setup permalink: /docs/devsetup.html

This document provides a best practice for general development setup, we suggest to use this practice on your first try for code contribution.

It is based on Docker and simple for preparation, no root privilege needed except for Docker and Git installation.

  $ git config --global user.name "<Your Name>"
  $ git config --global user.email "<Your Email Address>"
  $ cd <your_project_folder>
  $ git remote add upstream https://github.com/apache/mnemonic.git
  • Prepare Mnemonic Docker image on you system
  $ docker build -t mnedev https://github.com/apache/mnemonic.git#:docker/docker-CentOS
  $ # --------- OR --------- 
  $ docker build -t mnedev https://github.com/apache/mnemonic.git#:docker/docker-Ubuntu
  • Mount your host repo. to Docker container, this following command would hide the original Mnemonic project folder in container
  $ docker run -it -v <mnemonic_project_folder>:/ws/mnemonic mnedev
  • Open Mnemonic project in the IDE

After setup, you are able to edit project code on your host while compiling and test your code in isolated Docker environment. Please leave enough space for docker based compiling and testing (>30G for test running)