# @gaunt-sloth/eval-reporter-junit

> JUnit XML (Ant-JUnit flavor) reporter for `gth eval` — the first member of the @gaunt-sloth/eval-reporter-* plugin family

Latest version **0.1.0** (published 2026-07-22) · MIT license · 0 weekly downloads

## Install

```sh
npm install @gaunt-sloth/eval-reporter-junit
pnpm add @gaunt-sloth/eval-reporter-junit
yarn add @gaunt-sloth/eval-reporter-junit
bun add @gaunt-sloth/eval-reporter-junit
```

## Health

**Score 65/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.1.0 |
| Published | 2026-07-22 |
| First published | 2026-07-22 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 16.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 14 |
| Author | Andrew Kondratev |
| Maintainers | andruhon |
| Keywords | ai, agent, llm, eval, junit, reporter, cli |

## Links

- npm: https://www.npmjs.com/package/@gaunt-sloth/eval-reporter-junit
- Repository: https://github.com/pukeko-robotics/gaunt-sloth
- Homepage: https://github.com/pukeko-robotics/gaunt-sloth/tree/main/packages/eval-reporter-junit#readme
- Issues: https://github.com/pukeko-robotics/gaunt-sloth/issues
- npm.io page: https://npm.io/package/@gaunt-sloth/eval-reporter-junit

## Alternatives

- [@expo/fingerprint](https://npm.io/package/@expo/fingerprint.md) — 6.2M weekly downloads
- [@azure/monitor-opentelemetry-exporter](https://npm.io/package/@azure/monitor-opentelemetry-exporter.md) — 850.0K weekly downloads
- [@azure/monitor-opentelemetry](https://npm.io/package/@azure/monitor-opentelemetry.md) — 624.0K weekly downloads
- [@posthog/ai](https://npm.io/package/@posthog/ai.md) — 423.3K weekly downloads
- [fakefilter](https://npm.io/package/fakefilter.md) — 63.9K weekly downloads

## Recent versions

- 0.1.0 (latest) — 2026-07-22

## README

# @gaunt-sloth/eval-reporter-junit

JUnit XML reporter for `gth eval` — the first member of the `@gaunt-sloth/eval-reporter-*`
plugin family.

## Show eval results in your CI server

You want your CI server (TeamCity, Jenkins, GitLab, …) to display a `gth eval` run as test
results. This reporter writes an Ant-JUnit-flavored `results.xml` (one `<testcase>` per
`case × identity` cell) alongside the always-on `results.json`, consumable by TeamCity's XML
Report Processing and generic JUnit readers.

It ships with the CLI — `gaunt-sloth` depends on it, so there is nothing extra to install:

```bash
npm install -g gaunt-sloth@alpha
gth eval prompts.eval.yaml --reporter junit
```

`results.xml` is written into the eval output directory (`-o <dir>` to choose it). When you run
many suites at once (files or a directory), each suite writes its own
`<output>/<suite-name>/results.xml`, so a CI glob like `eval/out/**/*.xml` collects them all.
Failure bodies keep multi-line judge rationale and assertion reasons; ANSI escapes and other
XML-1.0-invalid control bytes are stripped, so strict libxml2-based readers accept the file.

See the [`gth eval` docs](https://github.com/pukeko-robotics/gaunt-sloth/blob/main/docs/COMMANDS.md)
for suites, judges, and the three-way exit-code contract.

## As a reference for writing your own reporter

The package implements the public `EvalReporter` contract exported by
[`@gaunt-sloth/batch`](https://www.npmjs.com/package/@gaunt-sloth/batch) and the CLI registers it
through the same seam a config-declared reporter uses (`reporters` in `.gsloth.config.*`, mapping
a name to a module whose default export is `() => EvalReporter`) — so this package doubles as the
reference proof that the plug-in contract works from outside core:

```js
import { createJUnitReporter, JUNIT_REPORTER_NAME } from '@gaunt-sloth/eval-reporter-junit';
```

This package is versioned independently of the synced `@gaunt-sloth/*` set: its version moves
only when the reporter itself changes.

## Related packages

- [`@gaunt-sloth/batch`](https://www.npmjs.com/package/@gaunt-sloth/batch) — the batch / eval /
  workflow runtime that defines the reporter contract
  ([source](https://github.com/pukeko-robotics/gaunt-sloth/tree/main/packages/batch))
- [`gaunt-sloth`](https://www.npmjs.com/package/gaunt-sloth) — Main CLI application
  ([source](https://github.com/pukeko-robotics/gaunt-sloth/tree/main/packages/app))

---
_Source: https://npm.io/package/@gaunt-sloth/eval-reporter-junit · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
