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

# Create a project

> A project is one website under test, and the home for its runs, tests, environments and integrations.

A project represents **one website under test**. Everything else in Testorim
belongs to a project: its runs, its saved tests, its environments, its
variables, its schedule, its Slack channel, its GitHub repository.

## Creating one

On the dashboard, type the site's address into the address bar and press
**Start**.

* `https://` is already supplied, so type `shop.example.com`, not the scheme.
* If a project already exists for that address, you are taken to it rather
  than getting a duplicate.
* You land in the project's chat, ready to describe the first test.

The address you give becomes the project's **base address**. Every run starts
there, and a step that navigates to a relative path (`/checkout`) resolves
against it.

<Warning>
  Private and internal addresses are refused: `localhost`, loopback, RFC1918
  ranges, link-local and cloud metadata endpoints. The guard applies twice:
  once when you save the address, and again to every request the page makes
  during a run. Expose a local build through a tunnel and use the public URL.
</Warning>

## The project overview

`/project/<project-id>` is the project's home, showing:

* **Stats**: runs in the last 30 days, pass rate, number of saved tests, last run
* **Recent runs**: with their status, jumping to the full run page
* **Saved tests**: with replay counts and a Run button
* **Flakiness**: pass rate per test over a rolling window, worst first
* **Recent PR activity**: when a GitHub repository is linked
* **Integration chips**: a row under the address showing what is wired up: repository, Slack channel, email recipients, schedules, environments, variables, login reuse. Each one jumps to the setting it names.

The chat lives at `/project/<project-id>/chat` and the settings at
`/project/<project-id>/settings`.

## Settings

Project settings has one section per capability, each linked from the
integration chips:

| Section      | What it configures                                                                                       |
| ------------ | -------------------------------------------------------------------------------------------------------- |
| Environments | Alternate base URLs, headers and cookies. See [Environments](/projects/environments)                     |
| Variables    | `{{token}}` values substituted at run time. See [Variables and secrets](/projects/variables-and-secrets) |
| Performance  | LCP / FCP / TTFB budgets per saved test                                                                  |
| Schedules    | Cron expressions that replay a saved test                                                                |
| GitHub       | The repository whose pull requests trigger runs                                                          |
| Alerts       | Slack channel and email recipients for failures                                                          |
| Role probe   | The URL list for an access-boundary check                                                                |

## Reusing a login

If you save a sign-in flow as a procedure and mark it as the project's
login-setup test, a successful run captures the browser's storage state and
encrypts it onto the project. Later runs start already signed in and skip the
login flow.

See [Reusable flows](/test-creation/reusable-flows#login-and-auth-mode).

## Archiving

Deleting a project archives it. The project disappears from the dashboard, but
its historical runs are retained. A passing run from three weeks ago stays
readable, and its share links keep working.

## Who can do what

Projects belong to a workspace, and every query is scoped to it. A project in
one workspace is invisible from another, and asking for it by id returns *not
found* rather than *forbidden*.

| Role       | Can                                                                                        |
| ---------- | ------------------------------------------------------------------------------------------ |
| **viewer** | Read everything. No writes at all: no runs, no edits.                                      |
| **member** | Everything a viewer can, plus create projects, run tests and change settings.              |
| **admin**  | Everything a member can, plus invite, remove and re-role people, and rename the workspace. |
| **owner**  | Everything, plus billing and deleting the workspace.                                       |

Nobody can grant, change or remove a role above their own, and the last owner
can never be demoted or removed.


## Related topics

- [Projects](/projects/projects.md)
- [Create (or re-use) a project](/api-reference/projects/create-or-re-use-a-project.md)
- [Create your first test](/getting-started/first-test.md)
- [List projects](/api-reference/projects/list-projects.md)
- [Platform overview](/developers/platform-overview.md)
