# `Nous.Eval.Reporter`
[🔗](https://github.com/nyo16/nous/blob/v0.17.1/lib/nous/eval/reporter.ex#L1)

Report generation for evaluation results.

## Example

    {:ok, result} = Nous.Eval.run(suite)

    # Print to console
    Nous.Eval.Reporter.print(result)

    # Generate JSON
    json = Nous.Eval.Reporter.to_json(result)

    # Write to file
    Nous.Eval.Reporter.to_file(result, "report.json")

# `print`

```elixir
@spec print(
  Nous.Eval.SuiteResult.t(),
  keyword()
) :: :ok
```

Print results to console.

# `print_detailed`

```elixir
@spec print_detailed(
  Nous.Eval.SuiteResult.t(),
  keyword()
) :: :ok
```

Print detailed results (including failures) to console.

# `to_file`

```elixir
@spec to_file(Nous.Eval.SuiteResult.t(), String.t()) :: :ok | {:error, term()}
```

Write report to JSON file.

# `to_json`

```elixir
@spec to_json(Nous.Eval.SuiteResult.t()) :: String.t()
```

Generate JSON report.

# `to_markdown`

```elixir
@spec to_markdown(Nous.Eval.SuiteResult.t()) :: String.t()
```

Generate markdown report.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
