code: def start_new_feature(**cc_kwargs):
      
      project = Project.from_path(pathlib.Path.cwd().resolve())
      contrib_dir = project.get('contrib', 'module_path')
  
      with tempfile.TemporaryDirectory() as tempdir:
          # render feature template
          output_dir = tempdir
          cc_kwargs['output_dir'] = output_dir
          rendered_dir = render_feature_template(**cc_kwargs)
  
          # copy into contrib dir
          src = rendered_dir
          dst = contrib_dir
          synctree(src, dst, onexist=_fail_if_feature_exists)
  
      logger.info('Start new feature successful.')
docs: Start a new feature within a ballet project
  
      Renders the feature template into a temporary directory, then copies the
      feature files into the proper path within the contrib directory.
  
      Args:
          **cc_kwargs: options for the cookiecutter template
  
      Raises:
          ballet.exc.BalletError: the new feature has the same name as an
              existing one