CIDER is the Clojure(Script) Interactive Development Environment that Rocks!
CIDER extends Emacs with support for interactive
in Clojure. The features are centered around
cider-mode, an Emacs
minor-mode that complements clojure-mode. While
supports editing Clojure source files,
cider-mode adds support for
interacting with a running Clojure process for compilation, code
completion, debugging, definition and documentation lookup, running
tests and so on.
Bozhidar (a.k.a. Bug, CIDER's primary author/maintainer) has spent countless hours working on CIDER and the numerous the related projects. That's a lot of work and not all of it is fun!
Please consider supporting financially CIDER's ongoing development.
The instructions that follow are meant to get you from zero to a running CIDER REPL in under 5 minutes. See the user manual for (way) more details.
The recommended way to install CIDER is via
package.el - the built-in package
manager in Emacs.
Provided you've enabled one of them in your Emacs setup, you can install CIDER with the following command:
Launch an nREPL server and client from Emacs
Simply open in Emacs a file belonging to your
boot project (like
foo.clj) and type M-x
cider-jack-in. This will start an nREPL
server with all the project dependencies loaded in and CIDER will automatically
connect to it.
Alternatively you can use C-u M-x
cider-jack-in to specify the path to
a Clojure project, without having to visit any file in it.
Tip: In Clojure(Script) buffers the command
cider-jack-in is bound to
C-c C-x (C-)j.
Connect to a running nREPL server
You can go to your project's directory in a terminal and type there (assuming you're using Leiningen that is):
$ lein repl
Or with Boot:
$ boot repl -s wait
Alternatively you can start nREPL either manually or by the facilities provided
by your project's build tool (
tools.deps, Gradle, Maven, etc).
After you get your nREPL server running go back to Emacs. Typing there M-x
cider-connect will allow you to connect to the running nREPL server.
Tip: In Clojure(Script) buffers the command
cider-connect is bound to
C-c C-x (C-)c (C-)j and the command
cider-connect-cljs is bound to
C-c C-x (C-)c (C-)s.
CIDER packs a ton of functionality and you really want to be familiar with it, so you can fully empower your workflow. The best way to get acquainted with all available features is to go over the entire CIDER manual.
If you're into video lessons, you might also check out this intro to CIDER demo as well.
An extensive changelog is available here.
The Core Team
The direction of the project is being stewarded by the CIDER core team. This group of long-term contributors manage releases, evaluate pull-requests, and does a lot of the groundwork on major new features.
In addition, we'd like to extend a special thanks the following retired CIDER core team members. Lovingly known as The Alumni:
We’re following SemVer (as much as one can be following it when the major version is 0). At this point bumps of the minor (second) version number are considered major releases and always include new features or significant changes to existing features. API compatibility between major releases is not a (big) concern (although we try to break the API rarely and only for a good reason).
The development cycle for the next major release starts immediately after the previous one has been shipped. Bugfix/point releases (if any) address only serious bugs and never contain new features.
The versions of CIDER and
cider-nrepl are always kept in sync. If you're
master branch of CIDER, you should also be tracking the
The logo is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
CIDER's homepage https://cider.mx is in the
gh-pages branch of this repository and is deployed
automatically when changes are made to it.
It's just a single
index.html file and a bit of Bootstrap 4. Contributions to it are very welcome!
While CIDER is free software and will always be, the project would benefit immensely from some funding. Raising a monthly budget of a couple of thousand dollars would make it possible to pay people to work on certain complex features, fund other development related stuff (e.g. hardware, conference trips) and so on. Raising a monthly budget of over $5000 would open the possibility of someone working full-time on the project which would speed up the pace of development significantly.
We welcome both individual and corporate sponsors! We also offer a wide array of funding channels to account for your preferences (although currently Open Collective is our preferred funding platform).
If you're working in a company that's making significant use of CIDER we'd appreciate it if you suggest to your company to become a CIDER sponsor.
Open Collective Backers
Open Collective Sponsors
Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]
CIDER is distributed under the GNU General Public License, version 3.
Copyright © 2012-2020 Bozhidar Batsov, Artur Malabarba, Tim King, Phil Hagelberg and contributors.