Skip to main content
Install the package:
Create an eval folder in your project:
By default, the runner discovers files with these suffixes:
  • *.dataset.ts
  • *.test-case.ts
  • *.evaluator.ts
  • *.run-config.ts

Create a Dataset

Datasets do not contain cases directly. They select discovered TestCase exports by tags and/or file paths.
name is the stable id used by discovery and CLI commands. Use displayName for a human-facing label.

Add Test Cases

Test cases provide typed input, optional expected output, and optional tags.
You can export one case at a time or export an array of TestCase.describe(...) results.

Add an Evaluator

Evaluators receive the resolved case input, optional expected output, middleware context, and run metadata. Return scores and optional metrics.
Use createError(...) inside evaluate when a failed evaluator should include structured error details in the artifact.

Add a Run Config

Run configs group one or more dataset/evaluator jobs under a stable name.

Run It

Useful options:
  • --concurrency, -c N limits concurrent test-case executions.
  • --experiment <name> adds meta.experimentName to every evaluator call.
  • --ci exits with code 1 when any test case fails.
Results are written to .eval-results unless you override the artifact directory.