New maintainer for Chestnut, say hi to Jeff!


Hi everyone,

I’d like to let people know I’m stepping down as the maintainer of Chestnut, passing on the torch @featheredtoast. Jeff has helped out consistently over the years to keep Chestnut in good shape, and has done a lot to help people with their Chestnut related questions. I’m convinced Jeff will be a great shepherd for the project. I’d like to thank the 46 contributors who have improved Chestnut in large and small ways over the years. You all rock!

I created Chestnut at a time when I was still figuring out how to be productive with Clojure and ClojureScript. Back then getting a Clj+Cljs project up and running, including a connected REPL from Emacs, and auto-reloading with the early Figwheel was no small feat. It took me a weekend of persistent trial and error, I shared the code, people liked it and encouraged me to turn it into a template. Back then it assumed you were using Om, later on we added support for Reagent, re-frame, Rum and others.

I am convinced that for a long time Chestnut was the most beginner friendly way to get a full stack Clojure project going. It’s opinionated so you have everything you would expect out of the box, without having too many opinions about the kind of thing you’re building. It provides the foundations, the application code is up to you.

A lot has happened since then, the tooling around Clojure has evolved and improved tremendously. Chestnut has largely kept up, regularly updating its dependencies and evolving its setup and configuration. There are a lot more offerings now, and for a lot of people it will make more sense to start out with cljs.main, or shadow-cljs, or the Figwheel or re-frame templates, but that full-stack-complete-yet-minimal sweet spot is still where Chestnut shines, and that’s why I think the project should go on and continue to keep its offering up to date.

That said, my own approach to Clojure tooling has also changed a lot. These days I use the Clojure CLI tools pretty much exclusively, and I’m extremely grateful for the more fine-grained approach to tooling they have brought to Clojure, so my interest in maintaining a Leiningen based template has been declining steadily. That’s no critique of Leiningen, I still recommend people who are starting out to use Leiningen, it’s the most complete and mature tool we have.

Where Chestnut will go from here will depend on @featheredtoast, and on the community. The first order of business is to “keep the lights on”, stay up to date, and make sure things work across operating systems, Java versions, etc.

Beyond that I’m not going to speculate, there are several things that have been discussed here and on Github. I’ll be happy to put in my €0.02 when asked for, but for the rest I’m not planning to interfere much.



:wave: Hey everyone,

I’ve been a big fan of Chestnut since I first got into Clojure, and I’m excited to take up the mantle to providing a great out of the box full Clojure stack experience.

As @plexus says, for the immediate future, I’m not planning on shaking many things up - My plan right now is to keep the template running and up to date so that its users can continue to rely on the minimal-yet-opinionated features that Chestnut provides.

Longer term, I’m planning to continue to find ways to enhance reloadability, as I feel like it is such a core experience to the template. I have to say that one of my favorite aspects of Chestnut has been the reloadability story, and this is something I’d like to continue to polish. I’m convinced that having the out of the box development reloading experience is still one of the most joyful experiences I’ve experienced in development.

Hacking with Chestnut templates as a baseline has always been something I’ve appreciated, and I’m grateful that I’m able to get the opportunity to give back by maintaining it.