Linting and fixing code for all languages.


Each lesson focuses on a single aspect of building the project, like modeling the data, building a GraphQL server in Elixir, or building a mobile client for it in Flutter.

Introduction to coala

Installation and introduction to code analysis using coala

.coafiles and Continuous Integration with coala

Writing a configuration file for coala and setting up continuous integration with it

Writing a linter bear with coala

Writing a bear that wraps an external tool

Writing a native bear with coala

Writing a bear that does all the work itself

Effective Issue Triaging

The 5 most important steps of issue triaging


The code in the applications was produced by:

./coala team

Coala Team

The coala Team consists out of founders and maintainers of the open source project.

Featured Lessons

Our content library is pretty great, here are a few lessons we think you might like.

What our Superusers are Saying!

Some other people were willing to publicly state that they like us!

Taylor Dolezal

Software Architect

Smooth Terminal has easily been one of the most helpful resources on my journey to better understand Elixir and the Phoenix web framework.

James Edward II


With any language there are so many details to learn. What functions are built-in? How should I structure my code? What tools are available for improving my workflow? It’s rare to find one source that can answer so many of these questions, but Smooth Terminal does this and more.

Rex Van Der Spuy

Game developer

Smooth Terminal is by far the best resource for learning Elm anywhere, and among the very best online learning platforms, period.