Skip to main content
Ona environments are isolated development workspaces for humans and agents. Each environment combines compute, storage, your repository, and your development tooling into a reproducible setup.

Key concepts

  • Projects: connect a repository to Ona with shared configuration, access controls, and secrets.
  • Environments: running workspaces for development, review, debugging, or focused tasks.
  • Agents: work inside environments with the same tools a developer would use.
  • Automations: create environments on triggers like PRs, schedules, or webhooks.

What’s inside an environment

ComponentDescription
ComputeFrom Ona Cloud or your own runner
Dev ContainerImage, tools, extensions, and workspace setup. See Container configuration
Tasks & servicesDatabases, servers, watchers. See Startup tasks & services
DotfilesPersonal shell and editor customization. See Dotfiles
Editor accessBrowser, VS Code, Cursor, JetBrains, CLI, or SSH. See Editors

Lifecycle

  • Create: start an environment from a project — choose a branch and environment class.
  • Provision: Ona sets up compute, starts your Dev Container, and runs setup hooks.
  • Work: you or an agent connect and start developing.
  • Stop: storage persists so you can resume later.
  • Archive: after inactivity, Ona archives and can auto-delete the environment.

Storage and isolation

Environments are isolated from each other. Storage persists across stops and starts of the same environment. Creating a new environment starts fresh from the project configuration and any available prebuild. See Persistent storage for what survives Dev Container rebuilds and how prebuilds interact with storage. To share a running service, use port sharing.

Faster starts

Prebuilds snapshot your Dev Container setup so new environments skip slow installation steps. On supported AWS runners, warm pools keep pre-initialized instances ready.

Configuration

New to Ona? Start with Set up your first environment.