Frequently Asked Questions

What does CIDER stand for?

CIDER stands for Clojure Interactive Development Environment that Rocks.

Does it really rock?

Yes.

What are CIDER’s installation prerequisites?

CIDER officially supports Emacs 25.1+, Java 8+ and Clojure(Script) 1.8+.

CIDER 0.17 was the final release which supported Java 7 and Clojure(Script) 1.7.

What’s the relationship between CIDER and nrepl.el?

nrepl.el was renamed to CIDER in version 0.3 to avoid confusion with the nREPL server itself and to better reflect the fact that CIDER is way more than an nREPL client for Emacs. Additionally, the new name presents us with the opportunity to support alternative evaluation backends (e.g. the socket REPL introduced in Clojure 1.8) down the road.

What’s the relationship between CIDER and monroe?

monroe is basically a fork of an old CIDER version before the time we started relying on nREPL middleware.

What’s the relationship between CIDER and inf-clojure?

There’s pretty much no relationship. inf-clojure provides a REPL based on the comint Emacs package - you’re basically running an external REPL process inside of Emacs (there’s no network connectivity involved). The advantage of this is that you have no external dependencies what-so-ever - you just need some command to start a REPL process for you.

Isn’t IntelliJ’s Cursive the best Clojure IDE?

Cursive is pretty awesome! Depending on your programming preferences (using an IDE vs building a custom editing experience tailored to your needs) it might be a better option for you than CIDER.

What’s the deal with the CIDER release codenames?

The codenames are usually some of the favourite places of CIDER’s head maintainer (Bozhidar).

Bozhidar really loves Spain and the West Coast of the US, so he tends to name really special releases with codenames related to them (e.g. Seattle, California, Andalucia, etc).

Is using CIDER a good idea if I’m new to both Emacs and Clojure?

There’s nothing particularly complex in CIDER itself, but getting to grips with Emacs might be a bit challenging for some people.

Generally you can simplify the initial learning experience a lot by using some Emacs "starter kit" and picking up a good book on Emacs (e.g. Mastering Emacs).

Prelude and Spacemacs are some great Emacs distributions that you might consider using.

Prelude is maintained by the primary CIDER author himself, while Spacemacs is an excellent option for vim refugees (as it places a heavy emphasis on vim emulation via evil-mode).

Do stable CIDER releases follow some predefined cadence?

No. Stable releases are issued when the maintainers feel a new release is warranted. The maintainers generally aim to deliver at least 2-3 stable releases per year.

When is CIDER 1.0 going to be released?

There’s no exact roadmap for the 1.0 release. Roughly speaking the idea is to release 1.0 once our ClojureScript support is as good as the Clojure support and when the most important refactoring functionality from our sibling project clj-refactor lands into CIDER.

While there’s no exact roadmap for the 1.0 release, we do have a roadmap.

Is it true that stable CIDER releases often happen around major Clojure conferences?

Yep. We want to give people a reason to talk about CIDER at such events. :-)

Inviting Bozhidar or any other core CIDER developers to present at Clojure conferences is likely going to results in more CIDER releases, so you should totally do this!

How unstable is the MELPA (snapshot) build of CIDER?

It’s pretty stable. Serious regression are introduced rather rarely and are usually fixed within a few hours. Using the MELPA build gives you early access to new features and you’re also helping the maintainers with the testing process.

Can I downgrade CIDER from a snapshot build to the latest stable version?

Yes, you can. You just need to remove the cider package, pin cider to MELPA Stable and reinstall it. Basically you need to do the following:

  • M-x package-remove cider

  • Add (add-to-list 'package-pinned-packages '(cider . "melpa-stable") t) to your Emacs config

  • Restart Emacs (or reload your config)

  • M-x package-install cider

Can I downgrade CIDER to a specific stable version?

No, you can’t. Unfortunately package.el doesn’t support the concept of historical versions of a package - there’s always only one version that’s available - the latest one.

Will CIDER eventually support the Clojure 1.8 socket REPL?

Hopefully yes. Adding support for the socket REPL is definitely on our radar, but unfortunately it will require both significant changes to CIDER and the development of some alternative to essential nREPL functionality (like multiple evaluation sessions) for the socket REPL.

There’s more information about the work that needs to be done in our roadmap document.

Will CIDER eventually support the Clojure 1.10 prepl?

Same answer as above. One thing is certain - prepl is much more convenient for the purposes of CIDER than the plain socket REPL.

Will CIDER ever drop support for nREPL?

That’s extremely unlikely. Even if we eventually add support for the new socket REPL, we’ll continue supporting nREPL as well.

Recently nREPL was migrated out of clojure-contrib and its development has once again picked up. Check out nREPL’s new home here.

Is CIDER’s nREPL middleware Emacs specific?

Not at all. The functionality in cider-nrepl is pretty editor-agnostic and is utilized by various editor plugins. Some prominent examples would be vim-fireplace and Visual Studio Code’s calva.

How can I see all the configuration options available in CIDER?

M-x customize-group RET cider RET.

Are there any interesting CIDER add-ons worth checking out?

Sure! See additional packages for details.

Where can I get help regarding CIDER?

See the Support section of the manual.

What should I do if I run into some issues with CIDER?

Don’t panic! Next step - visit the Troubleshooting section of the manual.

How can I help the project?

There are many ways in which you can help CIDER

  • Donate funds

  • Work on improving the documentation

  • Solve open issues

  • File bug reports and suggestions for improvements

  • Promote CIDER via blog posts or at meetups and conferences

  • Invite members of the CIDER team to speak about CIDER at meetups and conferences