# ExQuality v0.16.0 - API Reference

## Modules

- [ExQuality](ExQuality.md): ExQuality - A parallel code quality checker for Elixir projects.
- [ExQuality.Aliases](ExQuality.Aliases.md): Detects when a project's Mix aliases shadow a task a stage shells out to.
- [ExQuality.Config](ExQuality.Config.md): Loads and merges configuration from multiple sources.
- [ExQuality.Custom](ExQuality.Custom.md): Project-defined stages, declared in `.quality.exs` under `custom:`.
- [ExQuality.Finding](ExQuality.Finding.md): A single actionable problem reported by a stage.
- [ExQuality.Init.DepInstaller](ExQuality.Init.DepInstaller.md): Adds dependencies to mix.exs programmatically.
- [ExQuality.Init.Prompter](ExQuality.Init.Prompter.md): Handles user interaction for tool selection.
- [ExQuality.Init.ToolSetup](ExQuality.Init.ToolSetup.md): Runs tool-specific setup commands after dependencies are installed.
- [ExQuality.Init.VersionResolver](ExQuality.Init.VersionResolver.md): Resolves latest package versions from hex.pm.
- [ExQuality.Json](ExQuality.Json.md): Reads a JSON document out of a command's output.
- [ExQuality.OutputCollector](ExQuality.OutputCollector.md): Collects command output without streaming to console.
- [ExQuality.Plt](ExQuality.Plt.md): Recognises PLT work in dialyxir's output.
- [ExQuality.Printer](ExQuality.Printer.md): Serializes output from parallel stages to prevent interleaving.
- [ExQuality.Report](ExQuality.Report.md): Builds the machine-readable form of a run.
- [ExQuality.Scope](ExQuality.Scope.md): Resolves *how much code* a stage runs over, as opposed to *which stages* run.
- [ExQuality.Shell.Stderr](ExQuality.Shell.Stderr.md): A `Mix.Shell` that writes informational output to stderr.
- [ExQuality.Stage](ExQuality.Stage.md): Type definitions for quality check stage results.
- [ExQuality.Stages.Command](ExQuality.Stages.Command.md): Runs a project's own check as a stage, described declaratively in
`.quality.exs`.
- [ExQuality.Stages.Compile](ExQuality.Stages.Compile.md): Compiles the project in both dev and test environments.
- [ExQuality.Stages.Credo](ExQuality.Stages.Credo.md): Runs Credo static analysis on the codebase.
- [ExQuality.Stages.Dependencies](ExQuality.Stages.Dependencies.md): Checks dependency health by running
- [ExQuality.Stages.Dialyzer](ExQuality.Stages.Dialyzer.md): Runs Dialyzer type checking on the codebase.
- [ExQuality.Stages.Diataxis](ExQuality.Stages.Diataxis.md): Checks that each page under a documentation quadrant reads as the kind of
page its folder says it is: a tutorial teaches, a how-to guide shows the
steps to a goal, a reference page describes, an explanation gives reasons.
- [ExQuality.Stages.DocLinks](ExQuality.Stages.DocLinks.md): Checks the relative links in a package's published Markdown against the
places they are published, where ExDoc mostly accepts a broken one silently.
- [ExQuality.Stages.Docs](ExQuality.Stages.Docs.md): Builds the documentation with `mix docs` and fails on any ExDoc warning.
- [ExQuality.Stages.Doctor](ExQuality.Stages.Doctor.md): Checks documentation coverage using the doctor package.
- [ExQuality.Stages.Format](ExQuality.Stages.Format.md): Auto-fixes code formatting by running `mix format`.
- [ExQuality.Stages.Gettext](ExQuality.Stages.Gettext.md): Checks translation completeness by reading the project's `.po` files.
- [ExQuality.Stages.Readme](ExQuality.Stages.Readme.md): Checks that a package's `README.md` keeps the shape of an introduction and a
map: what the package is, why it exists, how to install it, one basic-usage
snippet, and links to the rest grouped by the reader's question.
- [ExQuality.Stages.Sobelow](ExQuality.Stages.Sobelow.md): Runs Sobelow security static analysis on Phoenix applications.
- [ExQuality.Stages.Test](ExQuality.Stages.Test.md): Runs the test suite with optional coverage analysis.
- [ExQuality.Tools](ExQuality.Tools.md): Detects which quality tools are available in the project.
- [ExQuality.Umbrella](ExQuality.Umbrella.md): Umbrella awareness: which child apps exist, where they live, and what they
declare.

## Mix Tasks

- [mix quality](Mix.Tasks.Quality.md): Runs code quality checks in parallel with actionable feedback.
- [mix quality.init](Mix.Tasks.Quality.Init.md): Sets up ExQuality and recommended quality tools in your project.
- [mix quality.plt](Mix.Tasks.Quality.Plt.md): Builds the Dialyzer PLT ahead of a `mix quality` run.
- [mix quality.verify](Mix.Tasks.Quality.Verify.md): Runs `mix quality` and attests that what ran was the *full* gate.

