Clj-kondo performs static analysis on Clojure, ClojureScript and EDN. It informs you about potential errors while you are typing (without executing your program).
This linter is:
- compatible with .clj, .cljs, .cljc and .edn files.
- build tool and editor agnostic.
- a static code analyzer.
- compiled to native code using GraalVM.
This is free and open source software.
Features include:
Detects:
- inline
defexpressions. - redundant
doandletwrappings. - arity errors:
- within the same namespace and across namespaces.
- of static Java method calls.
- of local
letandletfnbinding calls. - of recursive calls (including
recur). - conflicting arities in overloaded functions.
- unused private vars.
- private and deprecated var usage.
- required but unused namespaces.
- unsorted required namespaces.
- referred but unused vars.
- duplicate requires.
- unused function arguments and let bindings.
- marked as unused, but used arguments and let bindings (optional).
- unused imports.
- redefined vars.
- unresolved symbols, vars and namespaces.
- misplaced docstrings.
- duplicate map keys and set elements.
- duplicates and quoting in case test constants.
- missing map keys.
- invalid number of forms in binding vectors.
- missing assertions in
clojure.test/deftest - alias consistency.
- type checking.
- Datalog syntax checking.
- format string argument mismatches.
- shadowed vars.
- 2 argument usage of reduce (optional).
before your form hits the REPL.
It suggests several style guide recommendations, such as:
- rules from Stuart Sierra’s how to ns.
- use
:elseas the catch-all test expression incond. - use
seqinstead of(not (empty? ,,,)). - don’t make your lines too long.
Website: github.com/clj-kondo/clj-kondo
Support:
Developer: Michiel Borkent
License: Eclipse Public License
clj-kondo is written in Clojure. Learn Clojure with our recommended free books and free tutorials.
| Popular series | |
|---|---|
| The largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions. | |
| Hundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information. | |
| The Big List of Active Linux Distros is a large compilation of actively developed Linux distributions. | |
| Replace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, SAS, Progress, Salesforce, and Citrix | |
| Awesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series. | |
| Machine Learning explores practical applications of machine learning and deep learning from a Linux perspective. We've written reviews of more than 40 self-hosted apps. All are free and open source. | |
| New to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux. | |
| Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities. | |
| Essential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users. | |
| Linux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine. | |
| Surveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal. | |
| Saving Money with Linux looks at how you can reduce your energy bills running Linux. | |
| Home computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum. | |
| Now and Then examines how promising open source software fared over the years. It can be a bumpy ride. | |
| Linux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged. | |
| Linux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery. | |
| Getting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers. | |
| Best Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series. | |
| These best free books accelerate your learning of every programming language. Learn a new language today! | |
| These free tutorials offer the perfect tonic to our free programming books series. | |
| Linux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts. | |
| Stars and Stripes is an occasional series looking at the impact of Linux in the USA. | |