Code Analysis

Static analysis tools, linters, and code quality assessment libraries. Packages among the 3,000 most downloaded in the past 90 days.

65 packages
  • credo 1.7.19

    A static code analysis tool with a focus on code consistency and teaching.

    5.2k
    2.7m last 90 days
  • Mix tasks to simplify use of Dialyzer in Elixir projects.

    1.8k
    1.9m last 90 days
  • Functions useful for processing Erlang code.

    17
    590.0k last 90 days
  • Utilities to work with Elixir source code.

    374
    513.6k last 90 days
  • Core library for the Erlang style reviewer

    76
    375.6k last 90 days
  • analyze 0.1.14

    Mix task to analyze and report Elixir code.

    3
    352.8k last 90 days
  • styler 1.11.0

    A code-style enforcer that will just FIFY instead of complaining

    794
    326.1k last 90 days
  • An analysis tool for checking safety of database migrations.

    290
    316.2k last 90 days
  • erlfmt 1.8.0

    erlfmt is an opinionated Erlang code formatter

    454
    305.3k last 90 days
  • Erlang linter - rebar3 plugin

    44
    278.9k last 90 days
  • boundary 0.10.4

    Managing cross-module dependencies in Elixir projects.

    972
    190.4k last 90 days
  • Linter for Absinthe

    6
    112.7k last 90 days
  • A rebar plugin for code formatting

    114
    110.4k last 90 days
  • ex_check 0.16.0

    One task to efficiently run all code analysis & testing tools in an Elixir project

    109.8k last 90 days
  • A rebar plugin for dead code cleaning

    70
    102.6k last 90 days
  • quokka 2.13.1

    A Credo-configured code-style enforcer that will just fix it for you instead of complaining

    165
    72.8k last 90 days
  • A suite of checks to enforce naming best practices in an Elixir project.

    97
    61.2k last 90 days
  • ex_slop 0.4.2

    Credo checks that catch AI-generated code slop in Elixir

    115
    49.1k last 90 days
  • A collection of opinionated Credo checks aimed at improving code quality and catching common mistakes in Elixir, Oban, and LiveView

    31
    47.5k last 90 days
  • rebar3 plugin to format Erlang code a la `gofmt`

    47
    47.5k last 90 days
  • Credo checks for Mox

    12
    42.2k last 90 days
  • ex_dna 1.5.2

    Code duplication detector powered by Elixir AST analysis

    103
    40.7k last 90 days
  • al_check 0.1.22

    A parallel code quality checker for Elixir projects. Runs format, compile, credo, dialyzer, and tests concurrently with smart test partitioning.

    0
    39.9k last 90 days
  • Sorts and groups aliases in Elixir files.

    0
    38.0k last 90 days
  • A Mix formatter that sorts your Tailwind classes

    129
    37.0k last 90 days
  • Mix compiler tracer for detecting unused public functions

    229
    33.4k last 90 days
  • Generate an HTML report from dialyzer output

    6
    33.1k last 90 days
  • reach 2.7.1

    Program dependence graph for Elixir and Erlang

    146
    32.8k last 90 days
  • Add-on for Credo for checking environment variables that get evaluated at Elixir compile time.

    19
    31.8k last 90 days
  • Elixir source code refactoring

    278
    29.5k last 90 days
  • sql_fmt 0.5.0

    Pretty print SQL queries

    64
    27.5k last 90 days
  • Tool to gather stats about module imports in project.

    0
    25.2k last 90 days
  • Custom Credo checks for detecting common Elixir/Phoenix anti-patterns including N+1 queries, missing error handling, blocking operations, telemetry gaps, and more. Provides 20 comprehensive static analysis checks to improve code quality.

    17
    25.1k last 90 days
  • @antedeguemon's Credo checks

    5
    24.8k last 90 days
  • Credo check to identify cases where `Enum.reduce` can be simplified to other `Enum` functions

    19
    23.7k last 90 days
  • Credo check to detect silent exception swallowing in rescue blocks. Enforces proper error handling by requiring logging, error reporting, or re-raising.

    1
    23.6k last 90 days
  • A check to ensure there are no compile time variables used across an Elixir project.

    0
    22.2k last 90 days
  • A Credo check for deprecated functions

    0
    21.8k last 90 days
  • A Credo check to ensure hygenic domain boundaries.

    0
    21.6k last 90 days
  • A set of community-maintained checks for the Credo static analysis tool. Many of the checks are implementations of rules from https://github.com/christopheradams/elixir_style_guide.

    25
    20.8k last 90 days
  • dialyze 0.2.1

    Dialyzer Mix task

    81
    16.8k last 90 days
  • recode 0.8.0

    An experimental linter with autocorrection.

    317
    16.8k last 90 days
  • Elixir formatter plugin for doctests.

    39
    15.8k last 90 days
  • Erlang Code Formatter

    77
    14.2k last 90 days
  • glinter 2.19.0

    A linter for the Gleam programming language with 22 configurable rules

    14
    13.2k last 90 days
  • Carefully refactor critical paths

    4
    12.7k last 90 days
  • Semantic merge driver for Elixir code

    0
    12.7k last 90 days
  • coverex 1.5.0

    Coverex is an Elixir Coverage tool used by mix. It provides tables with overviews of module and function coverage data, includings links to annotated source code files and supports coveralls.io.

    102
    11.6k last 90 days
  • Add option to credo to generate sonarqube generic issue file

    7
    11.4k last 90 days
  • erlfmt formatter for Mix projects

    3
    10.5k last 90 days
  • A module for Custom Credo checks (extensions) in addition to the default checks.

    0
    10.4k last 90 days
  • eunomo 3.0.0

    Elixir `alias`, `import` and `require` sorter.

    18
    9.7k last 90 days
  • Credo checks for Ash Framework

    32
    9.2k last 90 days
  • A CI/CD tool for checking dependency license compatibility in Elixir projects. Reads license information from local hex metadata files and validates compatibility with your project's license using industry-standard rules.

    7
    8.3k last 90 days
  • Custom Credo checks used by the Blitz Backend Elixir team

    17
    7.7k last 90 days
  • churn 0.1.10

    Churn supports finding refactoring candidates in your code

    94
    7.1k last 90 days
  • Fast and flexible runtime type-checking: Type checks are optimized by the compiler and types can be composed, re-used and turned into property-testing generators. TypeCheck also focuses on showing understandable messages on typecheck-failures.

    531
    6.6k last 90 days
  • Infers types for expressions, effects and scope variables of EYG programs.

    307
    6.5k last 90 days
  • An interface to the BEAM file format and a decompiler

    117
    5.4k last 90 days
  • A plugin for the lexical language server that enables Credo checks

    5.3k last 90 days
  • Static analysis that detects bare Ecto mutations on Carbonite-tracked tables missing audit transactions. Catches the gap between adding a trigger and updating all write paths.

    0
    4.7k last 90 days
  • A fork of the Elixir code formatter, with added freedom

    40
    4.5k last 90 days
  • Toolkit to explore the architecture, design and quality of your elixir projects

    3.8k last 90 days
  • dogma 0.1.16

    A code style linter for Elixir, powered by shame.

    468
    3.6k last 90 days
  • A rebar3 plugin to run shellcheck on given shell scripts.

    2
    3.5k last 90 days