Clojure cli and deps.edn
When I started to learn Clojure, there was two options: lein and boot. They were kind of the two big options to managing dependencies and building your project. Lein is this huge monolith that includes more or less everything you need and want, but you kind of need to build your project around how it works. And then you have boot that everyone likes better, but most people still use lein because it just works.
Then Cognitect released Deps.edn and the clj / clojure cli stuff. Edn is like JSON but more lispy, and deps.edn is a way you can define three different things: paths, deps and aliases. Paths are where you code is located, deps are your dependencies and aliases are just a way to write aliases for clojure/clj commands per project or globally. Where clj foobar expands to a longer clj command with a lot of options. Kind of similar to what you can do with the scripts stuff in node projects.
The cool thing about deps.edn is that you can add the file to a directory, add a few deps, run clj and it installs them and they are ready to be loaded from the repl. The reason this is interesting is because it only takes care of a few minor parts of what your projects neeed in a way where you can pick other tools to take care of the rest based on what you need. And because both boot and lein have their own ways of dealing with what deps.edn does it will be harder for them to adopt to this.
The way I look at it is that deps.edn provide all the “glue” that ties it all together. And then you just need to add what you need on top if it to get what you need, to build, pack and lint etc.