A linter for Clojure code that sparks joy. Clj-kondo performs static analysis on Clojure, ClojureScript and EDN, without the need of a running REPL. It informs you about potential errors while you are typing. To detect lint errors across namespaces in your project, a cache is needed. To let clj-kondo know where to create one, make a .clj-kondo directory in the root of your project, meaning on the same level as your project.clj, deps.edn or build.boot. A cache will be created inside of it when you run clj-kondo. Before linting inside your editor, it is recommended to lint the entire classpath to teach clj-kondo about all the libraries you are using, including Clojure and/or ClojureScript itself. Since clj-kondo now knows about your version of ClojureScript via the cache, it detects that the number of arguments you passed to select keys is invalid. Each time you edit a file, the cache is incrementally updated, so clj-kondo is informed about new functions you just wrote.

Features

  • Detects inline def expressions
  • Private and deprecated var usage
  • Referred but unused vars
  • Detects marked as unused, but used arguments and let bindings (optional)
  • Detects format string argument mismatches
  • Detects 2 argument usage of reduce (optional)

Project Samples

Project Activity

See All Activity >

License

Eclipse Public License

Follow Clj-kondo

Clj-kondo Web Site

Other Useful Business Software
Go From Idea to Deployed AI App Fast Icon
Go From Idea to Deployed AI App Fast

One platform to build, fine-tune, and deploy. No MLOps team required.

Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
Try Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Clj-kondo!

Additional Project Details

Operating Systems

Mac, Windows

Programming Language

Unix Shell

Related Categories

Unix Shell Software Development Software, Unix Shell Linters

Registered

2022-05-18