> ## Documentation Index
> Fetch the complete documentation index at: https://developer.upsun.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a project

> All you need to know about creating a new project with Upsun

export const VariableBlock = ({name}) => {
  return <var spellCheck={false} title={`Replace '${name}' with your own data`}>{name}</var>;
};

To create a new project on Upsun, you can take one of two paths:

<AccordionGroup>
  <Accordion title="Using the Console (recommended)">
    Open the [Upsun management console](https://console.upsun.com/-/create-project) to create your project.

    <Note>
      If you haven't done so already, you are prompted to create your first organization where your project will reside.
    </Note>

    <img src="https://mintcdn.com/upsun-c9761871/7cK3KMJBgO7MXm_y/images/console/create-project.png?fit=max&auto=format&n=7cK3KMJBgO7MXm_y&q=85&s=5e9f2a961605941b9850261215cd686b" alt="Create project options" width="832" height="691" data-path="images/console/create-project.png" />

    From the Console, what you do next entirely depends on where the "source of truth" of your codebase is located.
    In this guide, you will push your local repository to Upsun.
    That is, the only copy of your codebase you'd like to deploy is on your local computer.

    Click **Start from scratch** from the **Deploy with Git** option.

    <Info>
      <h4>Git integrations</h4>
      This guide does not specifically address integrating an Upsun project with a third party repository such as one on GitHub, even though the **Connect repository** option is available at this stage.

      For now, continue to work locally.
      Third party integrations will be addressed at the end of this guide.
    </Info>

    Add details about your project, such as:

    * The name of your project.
    * The default branch of your local repository.
    * Select the region where you want your project to be hosted.

    As suggested in the Console, connect the local copy of your repository to your project:

    ```bash theme={null}
    upsun project:set-remote <PROJECT_ID>
    ```

    Your local source code is automatically linked to your newly created Upsun project through the creation of a `.upsun/local/project.yaml` file.  This file contains the corresponding `<projectId>` and sets a Git remote to `upsun`.
  </Accordion>

  <Accordion title="Using the CLI">
    To create a new project with the Upsun CLI, use the following command and follow the prompts:

    ```bash Terminal theme={null}
    upsun project:create
    ```

    <Info>
      <h4>Default branches</h4>
      When creating a new project using the Upsun CLI command `project:create`, the default production branch is set to `main`. Change it if your default branch is different (*e.g.*: `master`).
    </Info>

    Then, you are asked if you want to set the local remote to your new project. Enter **Yes (y)**.

    Your local source code is automatically linked to your newly created Upsun project through the creation of a `.upsun/local/project.yaml` file.  This file contains the corresponding `<projectId>` and sets a Git remote to `upsun`.

    In this guide, you will push your local repository to Upsun.
    That is, the only copy of your codebase you'd like to deploy is on your local computer.

    <Info>
      <h4>Git integrations</h4>
      This guide does not specifically address integrating an Upsun project with a third party repository such as one on GitHub, even though you will notice the **Connect repository** option available at this stage.

      For now, continue to work locally.
      Third party integrations will be addressed at the end of this guide.
    </Info>

    So long as you chose `y` (yes) to the question `Set the new project <projectName> as the remote for this repository?` during the `project:create` command, your local project is already integrated to the Upsun project.
  </Accordion>
</AccordionGroup>
