> ## 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.

# Quickstart

> Run Geval in under a minute — demo, then a real contract from geval init.

## 1. Get the binary

Download the latest release for your OS from **[GitHub Releases](https://github.com/geval-labs/geval/releases)** (Linux x86\_64, macOS Apple Silicon, Windows). See [Installation](/installation) for `curl` one-liners and PATH tips.

<Warning>
  If `geval --help` shows different commands (e.g. an `--eval` flag) or comes from **npm**, you are not running this binary. Use `./geval` from the download folder or put the release binary first in `PATH`.
</Warning>

## 2. Run the demo (no files)

From the directory that contains your `geval` binary:

```bash theme={null}
./geval demo
```

You get a human-readable report and a deterministic outcome. The demo uses built-in signals and a built-in policy.

Use `./geval demo --json` for machine-readable output.

Prefer a guided tour first? **[Watch the Geval demo on YouTube](https://youtu.be/v6LuxIshgDU)**.

## 3. Scaffold a real workspace

```bash theme={null}
./geval init
```

This creates a **`.geval/`** folder (by default) with:

* **`contract.yaml`** — names your gate and lists policy paths
* **`policies/`** — starter policies with **clear filenames** (`safety-and-blocking.yaml`, `quality-and-approval.yaml`)
* **`signals.json`** — example metrics to replace with yours
* **`README.md`** — what to edit next

Use `./geval init path/to/dir` for a different folder; `./geval init --force` overwrites existing template files.

## 4. Run a check

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

* Exit **0** → PASS
* Exit **1** → REQUIRE\_APPROVAL
* Exit **2** → BLOCK

Details: [Exit codes](/integration/exit-codes).

## Next steps

* [How Geval works](/concepts/how-geval-works) — mental model
* [Signals and rules](/concepts/signals-and-rules) — operators, priorities, presence
* [geval check](/cli/check) — flags, multiple contracts, JSON output
* [Decision artifacts](/reference/decision-artifacts) — what gets written under `.geval/decisions/`
