# Manifest schema

> The yalla.toml fields that describe projects, environments, and services.

A project is described by a `yalla.toml` manifest. The hierarchy is **organization → project → environment → service**.

## Example manifest

**yalla.toml**

```toml
[project]
name = "billing-api"

[[service]]
name = "api"
kind = "application"
port = 8080

[[service]]
name = "cache"
kind = "database"
engine = "redis"
```

## Service kinds

| kind | Description |
| --- | --- |
| application | A built-from-source app or prebuilt image. |
| database | A managed stateful service. |
| compose | A multi-container compose service. |

> [!WARNING]
> Never commit secret values to the manifest. Reference variables by name and set them with `yalla variables set`.
