docs: def create_project(name, include_examples=True):
          '''
          creates the initial project skeleton and files
          :param name: the project name
          :return:
          '''
  
          # from the start directory, create a project directory with the project name
          path = "{}/{}".format(os.getcwd(), name)
          if os.path.exists(path):
              return None, "path {} already exists".format(path)
  
          print(bright("creating new ezo project '{}".format(name)))
  
          # make project directory
          os.mkdir(path)
          print(bright("created project directory: '{}".format(path)))
  
          # create an empty contracts directory
          contracts_dir = "{}/{}".format(path, "contracts")
          os.mkdir(contracts_dir)
          print(bright("created contract directory: '{}".format(contracts_dir)))
  
          if include_examples:
              c = [(create_sample_contracts_1(), 'contract1.sol'), (create_sample_contracts_2(), 'contract2.sol')]
              for s in c:
                  c, fn = s
                  file_path = "{}/{}".format(contracts_dir, fn)
                  try:
                      with open(file_path, "w+") as outfile:
                          outfile.write(c)
                  except Exception as e:
                      print(bright("problem creating sample file: '{}".format(path)))
                      return None, e
                  print(bright("created sample contract: '{}".format(fn)))
  
          # create the handlers directory
          handlers_dir = "{}/{}".format(path, "handlers")
          os.mkdir(handlers_dir)
          print(bright("created handlers directory: '{}".format(handlers_dir)))
  
          # leveldb directory (created by level)
          leveldb = "{}/{}".format(path, "ezodb")
  
          # create the initial config.json file
          cfg = create_blank_config_obj()
  
          cfg["ezo"]["contract-dir"] = contracts_dir
          cfg["ezo"]["handlers-dir"] = handlers_dir
          cfg["ezo"]["project-name"] = name
          cfg["ezo"]["leveldb"] = leveldb
          print(bright("creating configuration: '{}".format(path)))
  
          # write the file to the root project dir
          config_file_path = "{}/{}".format(path, "ezo.conf")
          try:
              with open(config_file_path, "w+") as outfile:
                  json.dump(cfg, outfile, indent=2)
          except Exception as e:
              print(bright("problem creating configuration file: '{}".format(path)))
              return None, e
  
          return None, None