Cursive was born out of a frustration with existing environments for editing Clojure. In particular we’ve always loved IntelliJ so we wanted to use La Clojure but it was lacking some fairly basic Clojure functionality. The base was very solid, but we missed a good REPL experience and proper structural editing. Updating it was difficult because it was written in Java and we wanted to be programming Clojure all day!
So we started working on a fork of La Clojure and ported a large amount of the codebase to Clojure, fixing many bugs and problems along the way. This allowed us to more easily integrate Clojure-based technologies like nREPL as well as making the code more fun to work with. After a while we realised there is a wider need in the community for a better Clojure editing experience so after consulting with JetBrains we decided to release Cursive as a new product.
Our aim is to make the best Clojure environment around, and if you feel like we’re not meeting that goal, we’d love to know why!
We’re very grateful to everyone who has helped along the way and to those who wrote the original code on which Cursive is built. Thanks also to the authors of the existing Leiningen plugin who very kindly let us bundle their work - in particular Jan Thomä and Chris Shellenbarger. You can find our fork of their work here, we’ll be keeping any fixes and improvements we make public there.