cider-nrepl was mostly inspired by swank-clojure.

It started life as an attempt to push as much of CIDER’s functionality as possible to the nREPL layer, with the assumption that this would make it easier to develop CIDER and would open up the possibility to build complex features like an interactive debugger. Fortunately, the assumption turned out to be correct. Today cider-nrepl provides pretty much everything that a Clojure development environment might need (and more).

We quickly realized that there was nothing CIDER specific in those middleware and we’ve started to encourage more tool authors to leverage them. Today cider-nrepl is developed and released independently from CIDER and is used by most of the nREPL-based editors and IDEs out there, which is a great example of team work. Eventually cider-nrepl served as the inspiration for more similar middleware libraries - e.g. refactor-nrepl, iced-nrepl and sayid.

In 2019, the core functionality has been extracted out of cider-nrepl into Orchard, a REPL-agnostic library.

You can check out this talk, which explores the birth of cider-nrepl.