# Geval > Policy-as-code release gates for AI systems — contracts, policies, signals, deterministic outcomes. ## Docs - [geval approve & geval reject](https://docs.geval.io/cli/approve-reject.md): Record human approval or rejection for audit trails when policy outcomes require human review. - [geval check](https://docs.geval.io/cli/check.md): Evaluate one or more contracts against a signals file — the primary CI entrypoint. - [geval demo](https://docs.geval.io/cli/demo.md): Run the built-in demo contract and signals — no YAML files required. - [geval explain](https://docs.geval.io/cli/explain.md): Print a detailed human-readable explanation for the same inputs as geval check — ideal for PR comments or logs. - [geval init](https://docs.geval.io/cli/init.md): Scaffold contract.yaml, policies, signals.json, and README in a folder — safe to run beside application code. - [geval validate-contract](https://docs.geval.io/cli/validate-contract.md): Validate contract YAML and load every referenced policy — fail fast before CI. - [How Geval works](https://docs.geval.io/concepts/how-geval-works.md): Contracts, policies, signals, combination rules, and outcomes — the full mental model. - [Signals and rules](https://docs.geval.io/concepts/signals-and-rules.md): Evidence formats, operators, priorities, presence-only matching, and rule outcomes. - [Contracts and policies](https://docs.geval.io/configuration/contract-and-policies.md): Contract YAML lists policy files; each policy file contains rules. Paths, combine behavior, and init layout. - [Policy rules](https://docs.geval.io/configuration/policy-rules.md): Policy YAML structure — rules, when blocks, then actions, priorities. - [Versioning](https://docs.geval.io/configuration/versioning.md): Version contracts, policies, and signals for auditability — nothing should change without a version story. - [Example — CI merge gate](https://docs.geval.io/examples/ci-gate.md): Validate contracts, run geval check, and choose committed vs generated signals. - [Example — Multiple contracts on one PR](https://docs.geval.io/examples/multi-contract.md): Evaluate several team gates against the same signals file with geval check. - [Example — Safety-focused gate](https://docs.geval.io/examples/safety-gate.md): Block risky releases when hallucination or retrieval metrics cross thresholds. - [Geval](https://docs.geval.io/index.md): Decision orchestration for AI changes — policy-as-code, signals in, PASS / REQUIRE_APPROVAL / BLOCK out. - [Installation](https://docs.geval.io/installation.md): Install Geval as a single binary — no runtime, no npm, no pip. - [Exit codes](https://docs.geval.io/integration/exit-codes.md): geval check and geval demo exit codes — PASS, REQUIRE_APPROVAL, BLOCK — for CI and scripts. - [GitHub Actions](https://docs.geval.io/integration/github-actions.md): Run the Geval binary in GitHub Actions — use committed or generated signals, gate PRs with exit codes, optional PR comments. - [GitLab CI](https://docs.geval.io/integration/gitlab-ci.md): Run Geval in GitLab CI/CD with the release binary and contract-driven exit codes. - [Quickstart](https://docs.geval.io/quickstart.md): Run Geval in under a minute — demo, then a real contract from geval init. - [Decision artifacts](https://docs.geval.io/reference/decision-artifacts.md): JSON artifacts written under .geval/decisions when you run geval check — audit and automation. - [Troubleshooting](https://docs.geval.io/reference/troubleshooting.md): Common Geval issues — wrong binary, wrong flags, path resolution, and validation. - [Config generator (web UI)](https://docs.geval.io/tools/config-generator.md): Generate Geval-compatible contract.yaml and policy YAML in the browser — config.geval.io ## Optional - [Website](https://geval.io) - [GitHub](https://github.com/geval-labs/geval) - [Config generator](https://config.geval.io) - [Demo video](https://youtu.be/v6LuxIshgDU)