code: def startproject_command(context, basedir, sourcedir, targetdir,
                           backend, config):
      
      logger = logging.getLogger("boussole")
  
      starter = ProjectStarter(backend_name=backend)
  
      # If not given, config file name is setted from backend default filename
      if not config:
          config = starter.backend_engine._default_filename
  
      try:
          results = starter.init(*(
              basedir,
              config,
              sourcedir,
              targetdir,
          ), cwd=os.getcwd())
      except SettingsInvalidError as e:
          logger.critical(six.text_type(e))
          raise click.Abort()
      else:
          logger.info(u"Project directory structure and configuration file have "
                      "been created.")
  
          logger.info(u"Now you should start to create some Sass sources into "
                      "'{}', then compile them "
                      "using:".format(results['sourcedir']))
  
          logger.info(u"    boussole compile "
                      "--config={}".format(results['config']))
docs: Create a new Sass project
  
      This will prompt you to define your project configuration in a settings
      file then create needed directory structure.
  
      Arguments 'basedir', 'config', 'sourcedir', 'targetdir' can not be empty.
  
      'backend' argument is optionnal, its value can be "json" or "yaml" and its
      default value is "json".
  
      If "backend" is given and 'config' is empty, this will change the default
      value for 'config' argument such as with "json" filename will be
      "settings.json" and for "yaml" it will be "settings.yml".