Credo turns 10
TL;DR Credo is a static code analysis tool for the Elixir language with a focus on code consistency and teaching.
Credo’s first version was published on November 16th 2015, ten years ago, today. Oh, wow.
From the announcement post:
Credo analyses your code and makes suggestions how to improve it. It also explains the issues it finds in plain English, showing examples of good and bad coding practices.
The idea here is to treat the programmer in front of the screen as a human being.
It is surreal to look at the screenshot from that announcement:
Since this project started I finished my studies, got married, had a career, bought a house, became the proud father of two wonderful children.
But Credo changed surprisingly little in these 10 years, at least in terms of principles and optics.
It’s great to read this in the announcement post, because it feels time-less:
Credo’s mission has been one of teaching common practices and focussing on code consistency instead of shouting “this is not the right way to do something!”.
The screenshot of the standard mix credo command also looks almost identical in the current version of Credo:
And it turns out that some of the changes where the internal design changed quite a bit are also older than I thought:
%Credo.Execution{}was introduced in 2017Credo.Pluginwas added in 2019
It seems like yesterday that we celebrated Credo’s 5th birthday and now plugin support is already older than 5 years 🤯
This has been an incremental journey, and it has been an amazing one.
To the more than 250 people that contributed code, issues and proposals:
This project would not be possible without you. Thank you! 🙏
I am more than curious to see where all this goes in the years to come.

