Here are some of my own personal thoughts for using Clojure CLI
Its from the Clojure team so should be well maintained (Leiningen does have a pretty good record of this though too)
Has a wider range of community tools that can be used on top, e.g. See Practicalli Clojure CLI Config. (Leiningen plugins used to cause me a lot of issues - but that may have been my lack of understanding)
Feels simpler and much more flexible in terms of configuration, just add a new feature by adding an alias to :aliases
I like the data-centric config syntax of deps.edn (rather than the code approach of Leiningen project.clj)
I rewrote the Practicalli Clojure book around Clojure CLI, so I must enjoy using it :slightly_smiling_face:
Things that usually cause the most learning curve
The command line
an appreciation of the main flags (-M -X -T -P) and when to use them
using key value pairs for args with the -X and -T flags
Designing aliases and when to use :main-opts or :exec-fn & :exec-ops (usually determined by the library and type of arguments to provide)
I use a Makefile to wrap commands to make them simple and consistent across projects. Babashka tasks or any other task runner could be used to simplify the command line.
Or use the shell history (I use zsh with fish extension and it makes most commands a few key clicks)
Here are some of my own personal thoughts for using Clojure CLI
Things that usually cause the most learning curve
I use a Makefile to wrap commands to make them simple and consistent across projects. Babashka tasks or any other task runner could be used to simplify the command line. Or use the shell history (I use zsh with fish extension and it makes most commands a few key clicks)