# diagnostic

<!-- start description -->

`diagnostic` makes it easier to build command line tools with great error reporting.

<!-- end description -->

![demo screenshot showing an error message with a header, a message, and a list of errors](docs/_static/demo-light.svg#gh-light-mode-only)

![demo screenshot showing an error message with a header, a message, and a list of errors](docs/_static/demo-dark.svg#gh-dark-mode-only)

## Features

- Unique `code`s on every `Diagnostic`
- Tooling to help ensure all `code`s in the codebase are documented
- Fancy graphical output, built on top of [`rich`](https://github.com/Textualize/rich), with graceful fallbacks to ASCII and plain strings
- Present a causal chain if needed

## Documentation

See the [documentation](https://diagnostic.readthedocs.io/en/latest/) for more information.

## License

This project is licensed under the terms of the MIT license.
