The slim way to build Clojure.
slim
is an intentionally minimal build tool for Clojure projects that emphasizes simplicity and minimal configuration. It helps you build uberjars with zero ceremony and minimal setup. It's quite opinionated and does not aim to be a general-purpose build tool.
deps.edn
- no additional configuration files neededtools.build
Add slim to your deps.edn
:
{:aliases
{:slim {:deps {io.github.abogoyavlensky/slim {:git/tag "v0.1.0" :git/sha "..."}}
:ns-default slim.build-app
:exec-args {:main-ns my-app.core}}}}
Run the build:
clojure -T:slim build
That's it! Your uberjar will be created at target/standalone.jar .
The minimal configuration requires only the main namespace:
{:exec-args {:main-ns my-app.core}}
You can customize the build also with optional parameters. All available options are shown below:
{:exec-args {:main-ns my-app.core
:target-dir "custom-target"
:uber-file "my-app.jar"
:src-dirs ["src" "resources" "custom-src"]}
TODO: Add instructions
MIT License Copyright (c) 2025 Andrey Bogoyavlenskiy
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close