Linting and Fixing Code for All Languages
coala: Language Independent Code Analysis
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.
How does it work?
With coala, you create just one configuration file. It can be separated into sections that run independently to fit different scenarios. Using different bears (which are coala's modules) users can work with a wide range 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.
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.
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.
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.
coala 2017 Projects
Auto-removal of dead code through vulturevulture is a tool which detects and reports dead (unused) code and coala is an automatic linter. The motivation of this proposal is to: Extend...
coala: Implement AspecaCurrently configuring coala on a new project is unnecessarily hard, especially for first time user. There are few reason for this. New users are not...
cobot enhancementcoala community has grown substantially over last few months. To make it easier on maintainers to cope up and still be a welcoming community for new...
Documentation Extraction & ParsingTo develop an analyzing routine at least for python and java that will find all documentation strings in a file, parse them into specific groups and...
Enhance coala-quickstartcoala is a modular and language-agnostic tool for performing static code analysis. The aim of coala is to make static code analysis easier for the...
Extend Linter IntegrationThe aim of the project is to ease the process of testing bears in coala by significantly improving the testing API to yield favorable, easy to...
Extending GitMatev2.0 to support GitLab and BitBucketGitMate for all! This time with user configurable plugins! About the product GitHub, GitLab and BitBucket support webhooks for common events like...
Improve coala Website and Supporting ToolsCurrently, the coala Online module lacks support for all the bears. Bears with non-optional settings are ignored. The first goal of this project is...
Improve the coala CLIcoala has come a long way from its early days in terms of its usability, although all the changes that have been made are improvisations. A proper...