Skip to main content
A project connects a repository to Ona. It defines which runner provisions your environments, which environment classes are available, and what configuration files to use. Every environment and every Automation starts from a project.

Prerequisites

  • An Ona account on any plan
  • At least one runner in your organization. Ona Cloud includes a runner by default. If you’re self-hosting, deploy a runner on AWS or GCP first.
  • A repository URL (GitHub or GitLab)

Create the project

  1. From the Ona dashboard, click Projects in the sidebar.
  2. Click Create Project.
Create a project dialog with repository selector, project name, and environment classes
  1. Search for or browse to your repository.
  2. Enter a project name.
  3. Select at least one environment class. You can add up to 30 classes per project.
  4. Click Create.

Configure your environment

Every project reads two configuration files from your repository root. If a devcontainer.json doesn’t exist yet, Ona generates a default one. Adding your own makes the environment match your project’s needs.
  • devcontainer.json: defines the base image, language runtimes, tools, and VS Code extensions. This is the Dev Container standard, so the same file works in VS Code, GitHub Codespaces, and Ona. See configure your Dev Container for a walkthrough.
  • automations.yaml: defines startup tasks (install dependencies, seed databases) and long-running services (dev servers, databases). These run automatically when an environment starts. See tasks and services for examples.
By default, Ona looks for automations.yaml at the repository root. To use a different path (e.g. .ona/automations.yaml), set the Automations file path in your project settings. Every environment and every Automation launched from this project uses the same configuration.

Verify it works

  1. Open the project from your dashboard.
  2. Click Create Environment.
  3. Wait for the environment to build and start.
  4. Confirm your tools, dependencies, and services are available.
If the environment builds and your test suite passes, the project is ready for Automations.

What’s next