# Create a new project

Create a new project when you want TestVibe to start a fresh GitHub repository for UI testing.

This is useful when your team wants a dedicated test repository or does not already have a repository prepared for TestVibe.

## Before You Start

Make sure you have:

| Requirement                       | Why it matters                                                                |
| --------------------------------- | ----------------------------------------------------------------------------- |
| Permission to create repositories | GitHub must allow your account or organization role to create the repository. |
| A project name                    | TestVibe uses the name to create a valid GitHub repository name.              |
| A target site URL                 | The default URL tells generated tests where to run.                           |
| AI agent choice                   | Generation uses the selected provider and model settings.                     |
| API key when required             | TestVibe stores required provider keys as repository secrets.                 |

## Steps

1. Sign in to TestVibe.
2. Select the installation and team or account that should own the repository.
3. Choose **New** or **Create project** from the repository selection flow.
4. Enter a clear project name.
5. Enter the default test URL for the app you want to test.
6. Choose the website framework if TestVibe asks for it.
7. Choose the AI agent.
8. Enter the API key if the selected agent requires one.
9. Create the project and wait for setup to finish.

TestVibe will create the repository and prepare it for TestVibe workflows.

## What TestVibe Adds

A new TestVibe project can include:

| Item                                | Purpose                                                               |
| ----------------------------------- | --------------------------------------------------------------------- |
| TestVibe project settings           | Stores default framework, agent, and runner choices.                  |
| GitHub Actions workflow setup       | Lets TestVibe start generation and run workflows.                     |
| Playwright project structure        | Provides the folders and files used by generated tests.               |
| Repository secret for the agent key | Lets workflows use the selected AI provider without exposing the key. |
| TestVibe repository metadata        | Helps TestVibe recognize the repository as a TestVibe project.        |

## Naming Tips

Use a name that makes the repository purpose obvious. For example:

| Good name                  | Why it works                                              |
| -------------------------- | --------------------------------------------------------- |
| `customer-portal-ui-tests` | Tells the team which app the tests cover.                 |
| `billing-playwright-tests` | Names the product area and test type.                     |
| `qa-automation`            | Works when the repository is a broader testing workspace. |

Avoid temporary names unless you truly intend to replace the project.

## After Creation

Open the new workspace and confirm:

* the repository appears in TestVibe
* the default site URL is correct
* the AI agent key is stored if needed
* the default runner can reach the target site

Then continue to [Create groups and tests](/create-tests/create-groups-and-tests.md) or return to the [Quickstart](/quickstart.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.testvibe.com/workspace/create-new-project.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
