---
title: Usher
editUrl: https://github.com/Cratis/Showrunner/edit/main/Documentation/Usher/index.md
description: Usher is the Showrunner support part - issue reporting and support conversations for applications built on Cratis.
---


Usher is the support part of Showrunner. It lets the users of an application report issues and hold support conversations with the people running it, without the application building that machinery itself.

Usher is a library, not a service. The application hosts it:

- `Cratis.Showrunner.Usher` adds Usher's commands, queries and events to the application's Arc host and Chronicle event store; see [Backend](/showrunner/usher/backend/).
- `Cratis.Showrunner.Usher.Contracts` holds the public events an application and a support desk exchange; see [Contracts](/showrunner/usher/contracts/).
- `@cratis/showrunner.usher` is the generated TypeScript proxies for Usher's commands and queries, and helpers for reporting errors; see [Frontend proxies](/showrunner/usher/frontend-proxies/).
- `@cratis/showrunner.usher.react` is the React components that drive them, built on `@cratis/components`; see [React components](/showrunner/usher/react/).

Usher covers the whole path of an issue: reporting one, capturing and fingerprinting errors, holding the conversation, letting the reporter grant support time-limited access, and publishing the facts to the desk. The pages below follow that path; start with [Backend](/showrunner/usher/backend/).
