
Dialyzer Configuration
- 1 installs
- 186 repo stars
- Updated July 19, 2026
- thebushidocollective/han
Configure Dialyzer for Erlang/Elixir type checking, including ignore files, PLT settings, and mix.exs configuration.
About
Covers configuring Dialyzer static analysis for Erlang/Elixir with ignore files and mix settings. A developer uses it when setting up Dialyzer in an Elixir project.
- Ignore-warning file setup
- mix.exs Dialyzer configuration
Dialyzer Configuration by the numbers
- 1 all-time installs (skills.sh)
- Ranked #984 of 1,352 Code Review & Quality skills by installs in the Skillselion catalog
- Data as of Aug 1, 2026 (Skillselion catalog sync)
npx skills add https://github.com/thebushidocollective/han --skill dialyzer-configurationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 186 |
| Last updated | July 19, 2026 |
| Repository | thebushidocollective/han ↗ |
What it does
Configure Dialyzer for Erlang/Elixir type checking, including ignore files, PLT settings, and mix.exs configuration.
Files
Dialyzer Configuration
Dialyzer is a static analysis tool for Erlang and Elixir that identifies software discrepancies such as type errors, unreachable code, and unnecessary tests.
Configuration Files
dialyzer.ignore-warnings
# Ignore specific warnings
lib/my_module.ex:42:pattern_match_cov.dialyzer_ignore.exs
[
{"lib/generated_code.ex", :no_return},
{~r/lib\/legacy\/.*/, :unknown_function}
]mix.exs Configuration
def project do
[
app: :my_app,
dialyzer: [
plt_add_apps: [:mix, :ex_unit],
plt_core_path: "priv/plts",
plt_file: {:no_warn, "priv/plts/dialyzer.plt"},
flags: [:error_handling, :underspecs, :unmatched_returns],
ignore_warnings: ".dialyzer_ignore.exs",
list_unused_filters: true
]
]
endCommon Configuration Options
PLT Management
plt_add_apps: Additional applications to include in PLTplt_core_path: Directory for core PLT filesplt_file: Custom PLT file locationplt_add_deps: Include dependencies (:app_tree,:apps_direct,:transitive)
Analysis Flags
:error_handling- Check error handling:underspecs- Warn on under-specified functions:unmatched_returns- Warn on unmatched return values:unknown- Warn on unknown functions/types:overspecs- Warn on over-specified functions
Filter Options
ignore_warnings: File with warning patterns to ignorelist_unused_filters: Show unused ignore patterns
Best Practices
1. Incremental PLT Building: Use project-specific PLTs to speed up analysis 2. Gradual Adoption: Start with subset of checks, expand over time 3. CI Integration: Run Dialyzer in continuous integration 4. Type Specs: Add comprehensive @spec annotations 5. Warning Management: Document intentional ignores
Common Patterns
Conditional Analysis
if Mix.env() in [:dev, :test] do
{:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}
endCustom Check Script
#!/bin/bash
mix dialyzer --format githubGitHub Actions Integration
- name: Run Dialyzer
run: mix dialyzer --format github