A collection of nREPL
middleware, originally designed to enhance
cider-nrepl is also used by
Calva and other Clojure development tools based on nREPL.
If you're just a user trying to get started with CIDER, then you
probably don't want to read this. You should follow the steps in
CIDER's user manual instead.
People who are new to nREPL might benefit from reading its
Please refer to the documentation site for
information on how to setup
cider-nrepl or how to leverage its nREPL API.
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.
Note: Prior to cider-nrepl 0.18, CIDER and cider-nrepl releases
were always done in sync. As most editors started relying on cider-nrepl
this was eventually changed and now cider-nrepl releases happen on their
For questions, suggestions and support refer to our official mailing list
or the Freenode channel
Please, don't report issues there, as this makes them harder to track.
Report issues and suggest features and improvements on the
GitHub issue tracker. Don't
ask questions on the issue tracker - the mailing list and the IRC
channel are the places for questions.
Patches under any form are always welcome! GitHub pull requests are even better! :-)
Before submitting a patch or a pull request make sure all tests are
passing and that your patch is in line with the contribution
mranderson is used to
avoid classpath collisions.
To work with
mranderson the first thing to do is:
lein do clean, inline-deps
This creates the munged local dependencies in
After that you can run your tests or your REPL with:
lein with-profile +plugin.mranderson/config repl
lein with-profile +plugin.mranderson/config test
+ sign before the leiningen profile. For this leiningen
profile to work you need leiningen version 2.5.0+! If you want to
mranderson while developing locally with the REPL the source has
to be modified in the
target/srcdeps directory. When you want to
lein with-profile plugin.mranderson/config install
...Or you can use the
PROJECT_VERSION=0.29.0 make install
Note: Make sure you've updated the changelog,
before cutting a new release.
Release to clojars by tagging a new release:
git tag -a v0.29.0 -m "Release 0.29.0"
git push --tags
The CI will take it from there.
Special credit goes to the following people for their contributions:
And a big thanks to
all other contributors
who have helped so far.
Let's also acknowledge some of the projects leveraged by cider-nrepl:
- orchard - extracted from
cider-nrepl, so that non-nREPL clients can leverage the generic tooling functionality (like
- compliment - for Clojure code completion
- clj-suitable - for ClojureScript code completion using runtime inspection
- tools.trace - for tracing
- tools.namespace - for namespace reloading
- cljfmt - for code formatting
Copyright © 2013-2022 Bozhidar Batsov
Distributed under the Eclipse Public License, the same as Clojure.
Can you improve this documentation? These fine people already did:
Bozhidar Batsov, Michael Griffiths, Andrea Richiardi, Artur Malabarba, vemv, Gary Trakhman, Jeff Valk, Laurent Petit, Benedek Fazekas, Akhil Wali, Hugo Duncan, Robert Krahn, liquidz, Dave Liepmann, Philip Jagielski, Toby Crawley, Dominic Monroe, Jon Pither, Neil Okamoto, Rory O’Kane, sanjayl, expez, Niklas Fasching, Tianxiang Xiong, Juan E. Maya, Alexander Yakushev, Tim Pope, Max Veytsman, Blake Miller & Juan MonettaEdit on GitHub