/credo

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

Primary LanguageElixirMIT LicenseMIT

Credo CI Tests Inline docs

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

Installation and Usage

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.5", only: [:dev, :test], runtime: false}
  ]
end

And run:

$ mix deps.get

$ mix credo

Documentation

Documentation is available on Hexdocs

Integrations

IDE/Editor

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

Automated Code Review

  • Codacy - checks your code from style to security, duplication, complexity, and also integrates with coverage.
  • SourceLevel - tracks how your code changes over time and have this information accessible to your whole team.
  • Stickler CI - checks your code for style and best practices across your entire stack.

Contributing

  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

Author

René Föhring (@rrrene)

License

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