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

# Project configuration

Projects connect a repository to runners with predefined configuration. Team members create environments from a project with one click and get the same setup every time.

## Prerequisites

* At least one runner in your organization
* By default, all organization members can create projects
* On the Enterprise tier, admins can restrict project creation to admins only via **Settings → Policies → Project policies → "Only admins can create projects"**

## Create a project

When you create a project, you become its admin. You can manage settings and share the project with other users and groups.

1. Go to your organization dashboard and navigate to the Projects page
2. Click **New Project**

<img src="https://mintcdn.com/gitpod-13c83c2b/5WZVG2ykORKKtocU/images/docs/ona/projects/new-project.png?fit=max&auto=format&n=5WZVG2ykORKKtocU&q=85&s=5fd00970c5d11a43fedc01d6baf4d287" alt="Create a project dialog with repository selector, project name, and environment classes" width="1436" height="1172" data-path="images/docs/ona/projects/new-project.png" />

3. Search for or browse to your repository
4. Enter a project name
5. Select at least one environment class

## Configuration options

| Option                                     | Description                                                                    |
| ------------------------------------------ | ------------------------------------------------------------------------------ |
| **Context URL** / **Repository Clone URL** | Repository cloned when creating environments                                   |
| **Repository branch**                      | Default branch checked out (e.g., `main`, `develop`)                           |
| **Environment classes**                    | Compute resources (CPU, memory, storage) and region. Min 1, max 30 per project |
| **Dev Container path**                     | Path to devcontainer configuration file                                        |
| **Automations file path**                  | Path to automation YAML file                                                   |
| **Recommended editors**                    | Editors and versions suggested for this project                                |

### Environment classes

An **environment class** is a named compute configuration provided by a [runner](/ona/runners/overview). Each class defines the CPU, memory, storage, and region used to run an environment, and is the unit of resource selection inside Ona. When someone starts an environment for a project, they pick from the project's allowed classes.

Each runner publishes its own set of classes (typically `Small`, `Regular`, `Large`, and sometimes specialized variants like GPU-enabled classes). The classes you select on a project determine which of those configurations are available to users creating environments for that project.

### Dev Container configuration

Controls the development environment setup: base image, VS Code extensions, environment variables, and port forwarding rules.

See [Dev Container configuration](/ona/configuration/devcontainer/overview) for details.

### Tasks and services

Define automations beyond Dev Container setup:

* **Services**: long-running processes (databases, servers)
* **Tasks**: one-off actions (test runs, builds)

See [Tasks and services](/ona/configuration/tasks-and-services/overview) for details.

### Recommended editors

Set which editors and versions appear as suggestions when team members open an environment.

See [Recommended editors](/ona/projects/recommended-editors) for the full list of editor aliases and version configuration.

## Manage projects

Select a project from your organization dashboard to open its detail page. The detail page has tabs for **Settings**, **Secrets**, and **Prebuilds**. From **Settings** you can modify environment classes, Dev Container and tasks/services paths, recommended editors, and [project secrets](/ona/projects/project-secrets).

<img src="https://mintcdn.com/gitpod-13c83c2b/RzXoaBUDMAkctDqB/images/docs/ona/projects/project-details.webp?fit=max&auto=format&n=RzXoaBUDMAkctDqB&q=85&s=522a3d71637c24b4c5cf6b8537f97853" alt="Project detail page with Settings, Secrets, and Prebuilds tabs" width="1637" height="1177" data-path="images/docs/ona/projects/project-details.webp" />

## Limitations

Multi-repo configurations are not built-in. See [Working with multiple repositories](/ona/configuration/multi-repository) for a workaround.

## Next steps

* [Create an environment](/ona/environments/overview) from your project
* [Share the project](/ona/organizations/sharing-resources) with your team
* [Add project secrets](/ona/projects/project-secrets)
