Linting and Fixing Code for All Languages

coala provides a common command-line interface for linting and fixing all your code, regardless of the programming languages you use. It allows users to analyse projects containing multiple languages with just one tool, using just one configuration and seeing just one user interface.

coala is made of existing tools, wrapped by bears, and native analysis routines. This enables users to check their python code for pep8 conformity, calculate complexity for their Java code, find code duplicates in the C code and check the documentation for spelling errors, while making sure the commits follow the set guidelines. All controlled via one configuration file, run with one command and served in the same user interface. For Users

coala offers a unified static code analysis suite. It can be used as a simple standalone testing suite, pre-commit hook and CI tool. Besides the normal user interactive mode, there is a non-interactive mode for CI, a html output mode, to view results in the browser, and JSON output if you want to integrate coala into your own system. If implemented, coala even offers to automatically fix problems. For Developers

You can easily write your own bears. coala is written with ease of extension in mind. That means: no big boilerplate, just write one small object with one routine, add the parameters you like and see how coala automates the organization of settings, user interaction and execution parallelization.

For newcomers, coala offers a great newcomer experience with an in depth step-by-step guide for your first contribution, extensive documentation of the whole workflow and fast and easy communication over the gitter channel.

lightbulb_outline View ideas list


  • python 3
  • django
  • antlr
  • haskell
  • docker


comment IRC Channel
email Mailing list
mail_outline Contact email

coala 2021 Projects

  • nakuldx
    corobo Enhancement Project
    Improvements to the corobo project enhancing its security, features and usability of coala’s devops bot.
  • Sanchit (pilgrim2308)
    Gitmate for coala
    Gitmate, a git workflow management bot created by coala, hasn't been actively maintained in the last 3 years. My project aims to update it and bring...
  • Prashant Dodiya
    Microfarm For Everybody
    This project aims to create a tool that allows anyone to become a market gardener, given some space. As a first step, a user will merely sign up and...
  • Shreya Agarwal
    Result Reporter Tool for Bears
    Result reporter tool to convert linter/bear results into multiple formats.