# `mix quality.init`
[🔗](https://github.com/riddler/ex_quality/blob/v0.15.0/lib/mix/tasks/quality/init.ex#L1)

Sets up ExQuality and recommended quality tools in your project.

## What it does

1. Detects which tools are already installed
2. Prompts for which tools to add (pre-selects credo, dialyzer, excoveralls)
3. Fetches latest versions from hex.pm
4. Adds dependencies to mix.exs near the :ex_quality dependency
5. Runs `mix deps.get`
6. Runs tool-specific setup commands
7. Creates .quality.exs config file (optional)

## Usage

    mix quality.init
    mix quality.init --skip-prompts  # Use defaults
    mix quality.init --no-config     # Don't create .quality.exs
    mix quality.init --all           # Install all tools

## Available Tools

- credo: Static code analysis
- dialyzer (dialyxir): Type checking
- doctor: Documentation coverage
- coverage (excoveralls): Test coverage
- audit (mix_audit): Security vulnerability scanning
- gettext: Internationalization

## Options

- `--skip-prompts` - Use recommended defaults without prompting
- `--no-config` - Don't create .quality.exs config file
- `--all` - Install all available tools

# `run`

```elixir
@spec run([String.t()]) :: :ok
```

Runs the quality.init task to set up ExQuality in your project.

Accepts command-line arguments to customize behavior.

---

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