Conventions and folder layout
Why conventions
Conventions are how ERun stays frictionless. The Agent shouldn't have to guess where Dockerfiles live or how the build plan is wired — and you shouldn't have to write that wiring once per project. ERun looks for a small, predictable layout; when it finds it, every command (build, push, deploy, release) just works. Explicit overrides exist, but the more you stay on the path, the less typing — for you and the Agent.
This page is the spec for what ERun looks for, where it looks, and how it behaves when you run commands from different directories.
The expected project layout
Here's the layout the erun repository itself uses. Your project follows the same shape with your project name replacing erun:
erun/ # Git repo root. .git lives here.
├── .erun/
│ └── config.yaml # Per-project config (committed).
├── VERSION # Default version (fallback).
├── build.sh # Optional top-level build script.
│
├── erun-devops/ # The DevOps module (`<tenant>-devops`).
│ │ # Owns every Docker build context and every helm chart.