rrrene* About

Credo turns 5

TL;DR Credo is a static code analysis tool for the Elixir language with a focus on code consistency and teaching. It just got a logo for the first time, celebrating its fifth birthday.


I remember registering the name credo with Hex a week before the initial release went live. Although I had decided on the name months prior, I did not want to “reserve” the name before bringing the project to fruition (and the Hex folks had explicitly asked the community not to reserve Hex package names for the sake of just reserving them).

The basic idea from the start has been to create an analysis tool which treats the person in front of the computer as a human being that is willing to learn and grow and which values consistency over abiding by arbitrary rules.

There are few nerd-thrills that compare to having an idea and working on it for a couple of months straight, moon-lighting and spending the weekends.

Then came release day: v0.1.0

The initial release and tweet went live without issue. I was just sitting down with my then-girlfriend-now-wife to watch a movie, when I noticed that I had botched the first version by mixing up compile-time and runtime-configuration (and by “I noticed” I mean “Paul Smith politely asked me how to get it working”).

This screenshot is from the announcement blog post:

This was 5 years ago. Time flies.

It is interesting to see how little has changed on the surface:

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 latest release, v1.5, expands this with new features that help users to adopt Credo in iterations at their own pace, instead of all at once (I still hear a mechanic Rubocop voice saying “Welcome, you have 800 issues.” when I think about introducing a linter to a project).

To celebrate 5 years, I created a logo for Credo.

It depicts a terminal with Credo’s category colors, the analysis seemingly flying in from the side. It is meant to represent both the fleeting nature of issues in the larger scheme of things as well as the dynamic nature of Elixir’s community and ecosystem.

In the last birthday blog post from 2 years ago, which also announced Credo’s v1.0 release, I mentioned some of the usage statistics and other internet points that Credo gathered (i.e. Hex downloads, GitHub stars, etc.).

Instead of logging these numbers again, I’d like to share a couple of random thoughts:

This would not have been possible without the work of the 150+ contributors to the project. I am more than humbled by their commitment. This project would not be possible without them.

And I am more than curious to see where all this goes in the years to come.


P.S. Re-reading that very first Credo issue mentioned above, I realize how much of its professional, polite and straight-up friendly attitude the Elixir community has managed to keep. It’s a privilege to be a part of it!

Your turn: Liked this post? Retweet this post! 👍