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.

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 organisation of settings, user interaction and execution parallelisation. 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
  • java
  • angularjs
  • haskell
  • docker


comment IRC Channel
email Mailing list

coala 2019 Projects

  • Rohan Bhambhoria
    Cohesive Editor Support
    The main purpose of this project is to make the text-editors of coala more robust and active. This will be done through ensuring that the plugins are...
  • Keshav Garg
    Enhance Websites Architecture
    This project aims to increase the usability and easiness for all the open-source enthusiasts by enhancing and improving the coala Community website...
  • Amine Hilaly
    git-bug git-bug is a distributed bug tracker imbedded in git. Current state Currently the project provides a large set of tools and functionalities...
  • Naveen Naidu
    Handle Nested Programming Languages
    The aim of this project is to implement the architecture that enables the support for nested - languages by default. The users of coala would not...
  • Utkarsh1308
    Improve Diff Handling
    I aim to improve the existing diff handling capability of coala so that it is possible for bears to offer multiple fixes for an issue. I also plan to...
  • Bhushan Khanale
    Improve Generic Bear Quality
    coala currently has few generic bears which are not very useful or are not maintained well. The objective of the project is to get most of the...
  • Akshat Karani
    Next Generation Action System.
    This proposes a new action system which will allow bears to define their own actions, hence make bears more useful. Implementation of such a system...
  • Amol Grover
    Plugin for Jetbrains IDEs
    coala plugin for JetBrains IDEs that supports linting of files using coala right within the IDE. The plugin would provide a unified experience for...
  • Chaitanya Tyagi
    Result Reporter Tool
    Goal of this project is to use coala's json output format, convert it to various test result formats and then integrate these test format reports to...
    Support TOML as a configuration format
    coala is a linting and code fixing tool with support for many languages. Having a configuration file is essential to make full use of coala. Having a...