Clojure

Clojure Tools

Community volunteers maintain Getting Started documentation for a number of different tools and approaches. Some of the most commonly used tools include:

Editors/IDEs

Editors provide Clojure support via packages and extensions. While these vary in features, all of them are sufficient for Clojure development, so choose the editor that works best for you.

Emacs

Packages and modes

  • CIDER - Emacs packages for interactive programming in Clojure (REPL), including clojure-mode major mode providing syntax highlighting, indentation, navigation and refactor support.

  • inf-clojure - basic interaction with a Clojure subprocess (REPL), based on the popular inferior-lisp

  • clojure-ts-mode treesitter implementation of clojure-mode (in development)

Distributions with Clojure support

Visual Studio Code

Extensions

  • Calva extension for interactive Clojure(script) development - docs, project

  • VSpaceCode Spacemacs like keybindings with Calva support

IntelliJ

  • Cursive Clojure(Script) IDE that understands code, advanced structural editing & refactor support (licenced software)

  • Clojure Extras plugin - plugin with additional features for Clojure development

  • clojure-lsp-intellij - plugin for static analysis via clojure-lsp

Neovim

  • Conjure interactive environment to evaluate Clojure (and other languages)

Distributions with Clojure Support

Pulsar

Community led hyper-hackable text editor, a project created after the sunset of the Atom.io editor.

  • Chlorine plugin for interactive Clojure(Script) development via Socket-REPL

Inactive Editor projects

Dependency management

  • clj is a tool for managing dependencies, running a REPL, and executing Clojure programs, built by the Clojure core team, with deps in deps.edn

  • Leiningen - an extensible build tool that provides dependency management, REPL support, testing, packaging, deployment, and many other capabilities

  • Boot - build tooling for Clojure: instead of a special-purpose DSL, Boot supplies abstractions and libraries you can use to automate nearly any build scenario with the full power of the Clojure language

Library repositories and catalogs

Debuggers

  • FlowStorm - A Clojure and ClojureScript debugger with many features