Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Linters
  3. Credo

Credo

What it is

Credo is a free static analysis tool for Elixir projects, focused on consistency and teaching. Running `mix credo` analyzes the current project and suggests places to edit code. Built-in checks address consistency, design, readability, refactoring, and warnings; strict analysis can include low-priority checks. For an issue, Credo can identify the check that raised it, show configuration options, and explain how to disable it. Results can be formatted for Flycheck, JSON, or SARIF, and reported issues cause a nonzero exit status for shell pipelines such as CI workflows. Configuration lives in `.credo.exs`, placed in the project root or its `config/` folder. Teams can add project- or domain-specific checks by implementing the `Credo.Check` behavior, and enable plugins through the `:plugins` field. The documentation recommends installing it as a Mix dependency for development and test, with runtime disabled. Credo aims to stay compatible with documented Elixir minor releases and actively tests compatibility on CI. Integrations are listed for several editors and Codacy.

For and against

For

  • Built-in checks cover readability, design, and refactoring.
  • Explains the check and configuration behind an issue.
  • Supports Flycheck, JSON, and SARIF output.
  • Custom checks and plugins are supported.

Against

  • Focused on Elixir projects.
  • Documentation recommends development and test use only.

The verdict

Credo pairs Elixir static analysis with explanations that can help developers understand and adjust checks. Its configuration, output formats, and CI behavior support both local review and pipeline use.

Who it suits

Credo suits Elixir developers who want consistency checks and explanations of reported issues. Its nonzero exit status also suits shell-based CI workflows.

Plans and prices

Credo

Free

Open source Elixir static analysis tool

Every plan, in full

On the record

Analysis
It suggests code changes and reports refactoring opportunities, complex code, common mistakes, naming inconsistencies, and style issues.github.com · read 9 Oct 2026
Author
The repository names René Föhring as the author.github.com · read 9 Oct 2026
Checks
Built-in checks cover consistency, design, readability, refactoring, and warnings, and low-priority checks can be included with strict analysis.credo.hexdocs.pm · read 9 Oct 2026
CI usage
Credo returns a nonzero exit status when it reports issues, supporting shell-based pipelines such as CI workflows.credo.hexdocs.pm · read 9 Oct 2026
Compatibility
Credo aims to stay compatible with the Elixir minor releases listed in the Elixir documentation, which it actively tests on CI.credo.hexdocs.pm · read 9 Oct 2026
Configuration
Credo uses a `.credo.exs` configuration file that can be placed in the project root or its `config/` folder.credo.hexdocs.pm · read 9 Oct 2026
Custom checks
Users can add project or domain specific checks by implementing the `Credo.Check` behavior and configuring the check.credo.hexdocs.pm · read 9 Oct 2026
Installation
The docs recommend adding Credo as a Mix dependency with `only: [:dev, :test]` and `runtime: false`.credo.hexdocs.pm · read 9 Oct 2026
Integrations
The maker lists integrations for IntelliJ, Atom, VS Code, Emacs, Kakoune, Neovim, and Codacy.github.com · read 9 Oct 2026
Issue explanations
Users can request an explanation for an issue that includes the check, its configuration options, and how to disable it.credo.hexdocs.pm · read 9 Oct 2026
License
Credo is released under the MIT License.github.com · read 9 Oct 2026
Output
Credo can output command results as JSON.credo.hexdocs.pm · read 9 Oct 2026
Output formats
The CLI supports Flycheck, JSON, and SARIF output formats.credo.hexdocs.pm · read 9 Oct 2026
Plugins
Plugins are modules enabled and configured through the `:plugins` field in `.credo.exs`.credo.hexdocs.pm · read 9 Oct 2026
Publisher
The Hex package lists `rrrene` as the package publisher and owner.hex.pm · read 9 Oct 2026
Purpose
Credo is a static code analysis tool for Elixir focused on code consistency and teaching.credo.hexdocs.pm · read 9 Oct 2026
Teaching
For an issue, Credo can show the check that raised it, its configuration options, and how to disable it.credo.hexdocs.pm · read 9 Oct 2026

Alternatives to Credo

Every alternative, ranked