> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ellomas.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration

> Config file reference for seedling.yaml.

# Configuration File

All CLI flags can be expressed as a YAML config file. Supports `${ENV_VAR}` interpolation.

## File Location

By default, Seedling looks for `seedling.yaml` in the current directory. Use `--config` to specify a different path:

```bash theme={null}
seedling generate --config ./configs/staging.yaml
```

## Full Reference

```yaml theme={null}
database:
  dsn: "${DATABASE_URL}"

output:
  format: sql
  file: seed.sql
  batch_size: 1000
  use_copy: true

generation:
  count: 50000
  seed: 42
  verbose: true
  parallel: false

schema:
  file: schema.yaml

generators:
  file: overrides.yaml
```

## Sections

### `database`

| Field | Description                | Example                                    |
| ----- | -------------------------- | ------------------------------------------ |
| `dsn` | Database connection string | `postgres://user:pass@localhost:5432/mydb` |

### `output`

| Field        | Description                                      | Default    |
| ------------ | ------------------------------------------------ | ---------- |
| `format`     | Output format (`sql`, `csv`, `jsonl`, `parquet`) | `sql`      |
| `file`       | Output file path                                 | `seed.sql` |
| `batch_size` | Rows per batch                                   | `1000`     |
| `use_copy`   | Use Postgres COPY protocol                       | `false`    |

### `generation`

| Field      | Description                     | Default |
| ---------- | ------------------------------- | ------- |
| `count`    | Rows per root table             | `100`   |
| `seed`     | Deterministic seed (0 = random) | `0`     |
| `verbose`  | Progress bars and summary       | `false` |
| `parallel` | Generate tables in parallel     | `false` |

### `schema`

| Field  | Description      | Default       |
| ------ | ---------------- | ------------- |
| `file` | Schema file path | `schema.yaml` |

### `generators`

| Field  | Description                   |
| ------ | ----------------------------- |
| `file` | Generator overrides YAML file |

## Environment Variable Interpolation

```yaml theme={null}
database:
  dsn: "${DATABASE_URL}"

generation:
  seed: "${SEEDLING_SEED}"
```

Variables that are not set remain as literal strings (e.g., `${UNDEFINED_VAR}` stays as-is).
