Skip to main content
1

Install evalflow

Install evalflow with pip:
Verify the installation:
2

Initialize your project

Run evalflow init from your project root. It prompts you to choose a provider, model, and API key environment variable name:
evalflow init creates the following files:Non-interactive modeFor CI, Docker, or scripted environments, skip the prompts with --non-interactive:
To see all supported providers and their default models:
evalflow init stores the environment variable name, not the key value itself. Your API key never touches the config file.
3

Write your first test case

Open evals/dataset.json. The starter file already contains one example test case:
Each test case has the following fields:Add as many test cases to the test_cases array as you need. Each one is independent.
Start with 5–10 representative test cases that cover your most important tasks. You can always add more later.
4

Run the quality gate

Export your API key, then run the eval:
evalflow runs your test cases and prints a result for each one:
The first run saves a baseline. Subsequent runs compare against it — if scores drop below your configured thresholds, the quality gate fails.Useful flagsExit codes
Exit code 1 is intentional — CI pipelines treat any non-zero exit as a failure, so regressions block the pull request automatically.
5

Add to CI

Create .github/workflows/evalflow.yml to run the quality gate on every pull request that touches prompts or eval files:
Then add your API key as a repository secret:
If you use a different provider, set the matching variable — for example GROQ_API_KEY or ANTHROPIC_API_KEY — and update the env block in the workflow accordingly.Pull requests that cause a quality regression now fail CI automatically before they can be merged.
Run evalflow doctor locally before pushing to catch configuration issues early. The --no-provider-check flag in the workflow skips the live API connectivity check, which is handled by the eval step itself.