This documentation is available as Markdown. For the complete index, see llms.txt. Skip to content

Ecosystem & packages

For the complete documentation index, see llms.txt

unotest is a small set of focused packages.

PackageRole
@unotest/webCLI · MCP server · runner · DSL engine (web)
@unotest/mobileCLI · MCP server · runner (iOS)
@unotest/viewerlocal results browser (HTTP + WS)
unotest studiodesktop app — bundles the viewer + runners, no Node or CLI
@unotest/judgeLLM-judge service behind assertJudgenpx @unotest/judge, or in-process
@unotest/dslscenario parser + vocab-agnostic validator
@unotest/protocolshared types across runners

How they fit

  • @unotest/web / @unotest/mobile are what you install. Each is a CLI and an MCP server and the runner.
  • @unotest/viewer reads run artifacts and drives runs through a runner adapter — web or iOS, selected by the TEST TARGET switcher.
  • @unotest/judge judges free-form text (a chat reply, generated content) against a natural-language rubric and returns a pass/fail verdict with reasoning; @unotest/web reaches it only through the Judge interface — the LLM providers (raw HTTP or a local process, no SDKs) live in the judge alone.
  • @unotest/dsl parses and validates scenarios; the web vocab contracts live in @unotest/web.
  • @unotest/protocol is pure types — the shared contract that lets the viewer drive any runner.
  • unotest studio is the desktop packaging of the viewer + runners — the same engines, with no Node or CLI to install. See The Studio.