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
| Component | Description |
|---|---|
| Compute | From Ona Cloud or your own runner |
| Dev Container | Image, tools, extensions, and workspace setup. See Container configuration |
| Tasks & services | Databases, servers, watchers. See Startup tasks & services |
| Dotfiles | Personal shell and editor customization. See Dotfiles |
| Editor access | Browser, 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
- Container configuration: image, tools, mounts, editor customizations
- Startup tasks & services: long-running processes and one-off tasks
- Dotfiles: personal shell and editor setup
- Multi-repository environments: work across multiple repos