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

# geval check

> Evaluate one or more contracts against a signals file — the primary CI entrypoint.

## Synopsis

```bash theme={null}
geval check --contract <path> [--contract <path> ...] --signals <path> [options]
```

**Required**

* **`--contract` / `-c`** — Contract YAML. Repeat for **multiple contracts** in one run (e.g. multiple teams’ gates on one PR).
* **`--signals` / `-s`** — Signals JSON file shared across those contracts.

## Common options

| Option                | Description                                                               |
| --------------------- | ------------------------------------------------------------------------- |
| `--signals` / `-s`    | Path to signals JSON.                                                     |
| `--contract` / `-c`   | Contract path; repeat for each contract.                                  |
| `--combine-contracts` | How to merge outcomes **across** contracts (`worst_case` default).        |
| `--env` / `-e`        | Optional environment label (e.g. `prod`); forwarded where reports use it. |
| `--json`              | Print structured JSON to stdout instead of a human report.                |

## Examples

**Single contract**

```bash theme={null}
./geval check --contract .geval/contract.yaml --signals .geval/signals.json
```

**Multiple contracts**

```bash theme={null}
./geval check \
  -c team-a/contract.yaml \
  -c team-b/contract.yaml \
  --signals signals.json
```

**JSON for automation**

```bash theme={null}
./geval check -c contract.yaml --signals signals.json --json
```

## Exit codes

| Code | Outcome               |
| ---- | --------------------- |
| `0`  | **PASS**              |
| `1`  | **REQUIRE\_APPROVAL** |
| `2`  | **BLOCK**             |

Non-zero process exit from Geval on parse/load errors follows normal shell conventions (see [Exit codes](/integration/exit-codes)).

## Artifacts

Successful runs write a decision artifact under **`.geval/decisions/`** — see [Decision artifacts](/reference/decision-artifacts).

## See also

[explain](/cli/explain) · [validate-contract](/cli/validate-contract) · [GitHub Actions](/integration/github-actions)
