Skip to content
vic

rrrene/credo

A static code analysis tool for the Elixir language with a focus on code consistency and teaching.

rrrene/credo.json
{
"createdAt": "2015-09-27T13:16:15Z",
"defaultBranch": "master",
"description": "A static code analysis tool for the Elixir language with a focus on code consistency and teaching.",
"fullName": "rrrene/credo",
"homepage": "http://credo-ci.org/",
"language": "Elixir",
"name": "credo",
"pushedAt": "2025-11-17T21:08:24Z",
"stargazersCount": 5093,
"topics": [
"code-analysis",
"credo",
"elixir",
"linter",
"static-analysis"
],
"updatedAt": "2025-11-27T01:37:34Z",
"url": "https://github.com/rrrene/credo"
}

Credo is a static code analysis tool for the Elixir language with a focus on teaching and code consistency.

It can show you refactoring opportunities in your code, complex code fragments, warn you about common mistakes, show inconsistencies in your naming scheme and - if needed - help you enforce a desired coding style.

Credo

The easiest way to add Credo to your project is by using Mix.

Add :credo as a dependency to your project’s mix.exs:

defp deps do
[
{:credo, "~> 1.7", only: [:dev, :test], runtime: false}
]
end

And run:

$ mix deps.get
$ mix credo

Documentation is available on Hexdocs

Some IDEs and editors are able to run Credo in the background and mark issues inline.

  • Codacy - checks your code from style to security, duplication, complexity, and also integrates with coverage.
  1. Fork it!
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

René Föhring (@rrrene)

Credo is released under the MIT License. See the LICENSE file for further details.