code: def prompt_for_project(ctx, entity):
      
      result = ctx.invoke(projects, entity=entity, display=False)
  
      try:
          if len(result) == 0:
              project = click.prompt("Enter a name for your first project")
              #description = editor()
              project = api.upsert_project(project, entity=entity)["name"]
          else:
              project_names = [project["name"] for project in result]
              question = {
                  'type': 'list',
                  'name': 'project_name',
                  'message': "Which project should we use?",
                  'choices': project_names + ["Create New"]
              }
              result = whaaaaat.prompt([question])
              if result:
                  project = result['project_name']
              else:
                  project = "Create New"
              # TODO: check with the server if the project exists
              if project == "Create New":
                  project = click.prompt(
                      "Enter a name for your new project", value_proc=api.format_project)
                  #description = editor()
                  project = api.upsert_project(project, entity=entity)["name"]
  
      except wandb.apis.CommError as e:
          raise ClickException(str(e))
  
      return project
docs: Ask the user for a project, creating one if necessary.