> ## Documentation Index
> Fetch the complete documentation index at: https://niceeval.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# niceeval.config.ts

> Project configuration reference for niceeval.

`niceeval.config.ts` holds project-wide defaults. Run identity belongs to `experiments/` files, not to the root config.

```ts theme={null}
import { defineConfig } from "niceeval";

export default defineConfig({
  judge: { model: "gpt-5.4-mini" },
  sandbox: "auto",
  maxConcurrency: 4,
  timeoutMs: 300_000,
});
```

<ParamField body="judge" type="JudgeConfig">
  Default model and endpoint for `t.judge.autoevals.*`.
</ParamField>

<ParamField body="reporters" type="Reporter[]">
  Optional custom reporters. Use `--junit <path>` for a one-off JUnit report from the CLI.
</ParamField>

<ParamField body="maxConcurrency" type="number">
  Maximum attempts to run concurrently.
</ParamField>

<ParamField body="timeoutMs" type="number">
  Per-attempt timeout in milliseconds.
</ParamField>

<ParamField body="sandbox" type="SandboxOption">
  Default sandbox backend. Files are not uploaded automatically; sandbox evals call `t.sandbox.uploadDirectory(...)`, `uploadFiles(...)`, or `writeFiles(...)` in `test(t)`.
</ParamField>
