# Config — tested.dev docs

Project file written by `tested setup` / `tested init`.

## Location

`.tested.yaml` at the repo root (or package root you run the CLI from).

## Minimal example

```yaml
# https://tested.dev/docs/config
base: origin/main
testRunner: pnpm test -- --coverage
thresholds:
  patch: 80
  project: 60
ignores:
  - "**/*.generated.ts"
  - "**/dist/**"
```

## Fields

| Key | Meaning |
|-----|---------|
| `base` | Default git base for diff/check (override with `--base`) |
| `testRunner` | Shell command used by `tested run` |
| `thresholds.patch` | % of new executable lines that must be covered |
| `thresholds.project` | Overall project floor |
| `thresholds.paths` | Optional globs. Independent floors per path. Omitted `patch` / `project` inherit the global floors. A glob with no files this run is skipped (not 0%). Not flags |
| `ignores` | Globs excluded from the gate |
| `coverage.path` | Optional; default `coverage/coverage-final.json` |

## Path floors

Optional `thresholds.paths` globs. `tested check` fails when any matched path is under its floor. `--json` adds a `paths` array. No per-path GitHub check slugs. Coverage stays the only PR gate.

```yaml
thresholds:
  patch: 80
  project: 90
  paths:
    - glob: src/api/**
      patch: 90
      project: 90
    - glob: src/cli/**
      patch: 70
      project: 70
```

Create with `tested setup` or `tested init`. See [Install](https://tested.dev/docs/install).
