One objective of my Clojurists Together funding is creating a proper template solution for
shadow-cljs to easily and quickly create baseline project scaffolds without too much work.
While there are already a few community templates available they all require
clojure) which the typical JS developer won’t have installed and I don’t want to force them to install either. So one of the base requirements is that it doesn’t rely on anything besides
So my current plan is this:
- create a
npmpackage that can be invoked directly and does the basic project generation
- generate some demo content + configuration on demand
Part #1 I have more or less figured out and you can try it today by just running
$ npx create-cljs-project foo-bar $ cd foo-bar $ npx shadow-cljs browser-repl
This will create a
foo-bar directory and create the
shadow-cljs.edn configs. It will also install the latest
shadow-cljs version into the project.
Part #2 is much more tricky. My role model currently is the vue cli which does all this exceptionally well. Only problem is that the
vue cli is for
vue the framework. I don’t want to create something that is tied to a specific framework and making something more generic quickly gets way more complex too. Replicating what the usual
lein-templates do is not that hard but I’m curious about other options. One other really cool onboarding experience I saw was metabase.
Basically at this point I’m looking for ideas around project templates.
What are your favorite project templates?
What are the best setup processes you have seen to date?