Credo is a static code analysis tool for the Elixir language with a focus on teaching and code consistency.
Credo addresses the need for automated code quality feedback in Elixir projects by scanning source code to identify refactoring opportunities, complex code fragments, common mistakes, and naming inconsistencies. It can enforce a desired coding style across a codebase. The tool integrates into the Mix build system, making it straightforward to add to existing projects and run as part of development workflows.
Credo suits Elixir developers and teams who want to maintain consistent code quality and learn better practices. It works well for projects of any size where style enforcement matters. The tool is particularly valuable for teams establishing coding standards, as its educational focus means it can help developers understand why certain patterns are preferred. Credo integrates with multiple IDEs and editors including IntelliJ, Atom, VSCode, Emacs, Kakoune, and Neovim, allowing issues to be flagged inline during development. It also integrates with Codacy for automated code review in CI/CD pipelines.
The project maintains active CI testing infrastructure. Pull requests are welcomed through the standard fork-and-contribute workflow, and documentation is kept current on Hexdocs.