For AI agents: the complete documentation index is available at https://viteval.dev/llms.txt, the full documentation bundle is available at https://viteval.dev/llms-full.txt, and this page is available as Markdown at https://viteval.dev/concepts/storage.md.
V1 release candidate available.Migration guide →
GitHub

Storage and results

Viteval separates execution from storage. Vitest runs the task and scorers. Providers store datasets or evaluation results. The JSON result destination saves a local snapshot of each completed run.

Dataset providers

Dataset providers store named case collections. The default JSON provider uses .viteval/datasets. Optional providers store cases in a database, object storage, or a hosted platform without changing the dataset API.

Evaluation providers

Evaluation providers persist run metadata and case outcomes. Configure datasets and evaluation results independently. For example, keep cases in local JSON and publish results to Braintrust.

S3 and Google Cloud Storage providers implement dataset storage only. Use a separate evaluation provider for results.

JSON reports and the dashboard

eval.results: ['json'] saves a combined run snapshot containing inputs, outputs, scores, final Vitest outcomes, and diagnostics. The local dashboard reads these JSON reports from .viteval/results.

A hosted provider and JSON can run together with results: ['json', 'braintrust']. The hosted provider publishes results while JSON keeps a local copy. Hosted results do not automatically appear in the local dashboard.

No runner reporter configuration is needed. An explicit destination array replaces inherited destinations; [] disables persistence.

Provider capabilities

ProviderDatasetsEvaluation results
JSON (default)Local filesLocal files
SQLiteLocal databaseLocal database
BraintrustHosted datasetsExperiments and case results
LangfuseCreate, read, and add itemsCase traces and scores
VoltOpsUpload versions and read itemsHosted experiments and case results
Amazon S3Versioned objectsUse a separate results provider
Google Cloud StorageVersioned objectsUse a separate results provider

Serialization and errors

Persist JSON-compatible values. Provider operations return Result values, and initialization or persistence failures fail the evaluation run. Backend capabilities differ, especially for updates, replacement, and historical reads.

See set up storage providers for backend setup and limitations, inspect results for the dashboard workflow, and Configuration for destination selection.