# The yeeted.yaml file

The Markdown copy of <https://yeeted.ai/docs/configuration.html>.

An optional file in your project's root that tells Yeeted exactly how to run your app.

Add an optional `yeeted.yaml` to your project's root to tell Yeeted exactly how to run your app,
instead of relying on auto-detection. Every field is optional. If you're using an AI agent, ask it to
“add a yeeted.yaml” and it will generate one for you.

```
name: my-app
port: 8000                 # the port your app listens on
service_type: development  # development (test preview - start here) or production (always-on)
replicas: 2                  # production instances (clamped to your plan; dev is always 1)

database:                  # request a managed database
  required: true
  engine: postgres         # postgres | mysql | mariadb | mongodb | redis

depends_on:                # other Yeeted projects this one needs (see Project dependencies)
  - my-api

env:                       # config injected into your app
  LOG_LEVEL: info

health_check:              # how Yeeted knows your app is healthy
  path: /healthz
  initial_delay_seconds: 5

git:                       # what a git push does (see Version control)
  deploy_main_on_push: true
```

When you deploy, Yeeted reads the file, creates any database you asked for and injects its connection
details, applies your env and port, and waits for your health check to pass before sending traffic. If the
file has a mistake, your agent gets a clear message telling it what to fix.

Four settings belong to the whole project rather than one deploy: `waf`, `depends_on`,
`repo` and custom domains. Only the owner or an admin applies a change to them; see
[Who can do what](https://yeeted.ai/docs/who-can-do-what.html#settings).
