Evaluators and Datasets
Define evaluators, datasets, and datapoints as files and apply them to one project per run.
Charts and Alerts
Define charts and alerts as files and apply them to one or more projects.
Why config as code
- Reviewable: changes to an evaluator’s Python code or an LLM prompt go through the same PR review as the rest of your app.
- Reproducible: the resource definitions live next to the code they evaluate, pinned to a commit.
- Portable: the same files apply to staging and production projects by swapping the plane URLs and API keys.
- Agent-friendly: every command exposes its JSON Schema, so coding agents like Cursor and Claude Code can author and validate files without guessing.
One project or many
You can apply the same files to one project or to many. What changes is the key you use:Directory layout
A common convention is to keep one file per resource under.honeyhive/:
Discover the schema
Every CLI command that takes arguments supports two read-only flags:--show-file-schema, which prints the JSON Schema for the full request object (the exact shape--filenameaccepts).--show-argument-schema <flag-name>, which prints the JSON Schema for a single argument. Pass the kebab-case flag name without the leading--.
File schemas use the API field names (
snake_case or camelCase, matching the public OpenAPI spec) rather than the CLI’s --kebab-case flag names. The CLI’s --filename flag passes the parsed file straight through to the API with no field translation.