Skip to main content

Get started with EvalGate in 5 minutes

Start with the smallest useful version of EvalGate: one local gate that blocks test and eval regressions in CI. No account is required for that first path. Add the platform when you need dashboard traces, historical eval runs, LLM judge scoring, and review workflows.
Local gates do not need a provider key. Model-backed platform workflows use bring your own provider key (BYOK): EvalGate does not bundle inference credits, and your connected provider or gateway bills model usage directly.

Copy, run, see value

This path is the fastest proof that EvalGate is useful. It does not require an account, dashboard setup, or an API key.
The first command previews every file and command without writing or executing anything. The second creates the reviewed scaffold. The third runs the suite and accepts the first baseline only when the run is non-empty and passing. After setup, you should have:

Package handlers

Init detects npm, pnpm, Yarn Classic, Yarn Modern, Bun, Deno, pip, uv, Poetry, Pipenv, PDM, Conda, Mamba, Hatch, and Pixi as first-class handlers. The legacy yarn ID remains a compatibility alias. For a polyglot project, repeat the override so every declared handler is installed and tested from its owning directory:
Conflicting lockfiles stop the plan instead of silently selecting a winner. For an unsupported build tool, provide an explicit JSON argv command so spaces and quoting remain unambiguous:
From then on, one command is the daily path:
Make a tiny intentional break in an eval or test, run the gate again, and watch it fail. That is the first EvalGate loop: baseline -> change -> regression report -> CI gate. Upgrade to platform traces when you want real production failures to feed the same loop. If setup needs diagnosis, run npx @evalgate/sdk doctor --quick. It checks the local project without requiring cloud credentials.
Working in Next.js, FastAPI, LangChain, or RAG? Use the framework recipes after this proof so your first trace and CI gate match the runtime you actually ship.
No API key or EvalGate account is needed for local regression gating. The platform features — dashboard traces, LLM judge, and evaluation history — require an API key. See the manual setup section below.

Manual setup with the platform

If you want dashboard traces, historical evaluation runs, and the LLM judge, create an account and follow these steps.
Your EvalGate API key authenticates the SDK and REST API. It does not provide model access. LLM judges, synthesis, and other model-backed workflows also require a provider or gateway credential owned by your organization.
1

Create an API key

Sign in to your EvalGate account and navigate to the Developer Dashboard. Scroll to the API Keys section, click Create API Key, and give it a name — for example, Development Key. Select the scopes you need (start with all scopes for initial testing), then click Create Key.
Copy your API key immediately and store it securely. EvalGate shows it only once.
You’ll also see your Organization ID in the key creation dialog. Save that value alongside the key — you’ll need both.
2

Connect a model provider when needed

For LLM judges, synthesis, and governed model execution, open Settings → Provider Keys or Settings → Model Gateway and connect your organization’s provider credential. You can skip this step when you only need tracing, deterministic assertions, or local regression gates.Provider inference is billed by the connected provider, separately from your EvalGate plan. Follow Model providers and BYOK for the correct connection path, security boundary, and verification checklist.
3

Install the SDK

Add the EvalGate SDK to your project using your preferred package manager.
The Python CLI ships with the SDK: pip install evalgate-sdk.
4

Configure environment variables

Create a .env file in your project root and add your credentials:
.env
Add .env to your .gitignore immediately to avoid committing secrets:
The SDK reads both variables automatically — no additional configuration required.
5

Initialize the client

Import and initialize the SDK in your application code. Calling AIEvalClient.init() with no arguments auto-loads EVALGATE_API_KEY and EVALGATE_ORGANIZATION_ID from the environment.
6

Create your first trace

A trace represents a single LLM interaction. Spans within the trace capture the individual steps — the model call, tool use, retrieval, or any sub-operation you want to observe.
After running this code, the trace appears in your EvalGate dashboard under Traces.
7

Write your first eval

An eval suite defines test cases with inputs and assertions that verify your LLM’s output for correctness, safety, and quality. The suite runner handles execution, parallelism, and reporting.
EvalGate includes 20+ built-in assertions covering text content, safety and compliance, JSON structure, quality, and numeric thresholds. Each assertion in a failing case surfaces a precise failure reason in run artifacts, the dashboard, and GitHub annotations when you use the platform check --format github path.

Turn repository evidence into evaluation coverage

After the local gate is working and your GitHub connection is authorized, scan one immutable commit before installing recommended coverage:
Repository Intelligence reads the protected source tree without executing repository code. Review the evidence-linked findings first; installing a pack then creates governed Dataset Hub coverage and a release-gate evaluation.

Scan a repository

Inspect one exact commit, review completeness, and ask evidence-bounded questions.

Install an evaluation pack

Turn reviewed recommendations into versioned datasets and release coverage.

Add a CI regression gate

Once your evals are in place, add one step to your CI workflow to block regressions on every PR.
.github/workflows/evalgate.yml
The CI step discovers your eval specs automatically, runs all specs by default, writes run artifacts to .evalgate/, and compares results against the base branch when --base is provided. Add --impacted-only to run only specs affected by the current diff. With --format github, the command writes a GitHub step summary and emits annotations for failed or regressed specs. Exit codes: 0 for clean, 1 for regressions, 2 for a configuration issue.

What’s next

TypeScript SDK reference

Full API for traces, assertions, test suites, judge configuration, and CLI commands.

Python SDK reference

Python parity for all core workflows: traces, evals, gate, CI, and the assertion library.

CI/CD integration guide

Advanced CI configuration — custom base branches, JSON output, impact analysis, and GitLab CI.

Framework recipes

Copyable setup paths for Node, Next.js, Python, FastAPI, LangChain, and RAG applications.

Repository Intelligence

Scan one exact connected commit and inspect evidence-linked AI-system findings.

Evaluation packs

Install governed first-party coverage for coding, support, legal, healthcare, and finance.

Authentication

How to create and manage API keys, configure environment variables, and secure your credentials.