:dev and :nREPL
aliases into one.There would be many similarities between :dev, :nREPL,
and a hypothetical :test alias. Because we aren't relying on :main-opts
there isn't much downside to just using one :dev alias.
{:paths ["src"]
:deps {org.clojure/clojure {:mvn/version "1.12.3"}
ring/ring {:mvn/version "1.15.3"}
metosin/reitit-ring {:mvn/version "0.9.2"}
org.clojure/tools.logging {:mvn/version "1.3.0"}
org.slf4j/slf4j-simple {:mvn/version "2.0.17"}
hiccup/hiccup {:mvn/version "2.0.0"}}
:aliases {:dev {:extra-paths ["dev"]
:extra-deps {nrepl/nrepl {:mvn/version "1.5.1"}}}
:format {:deps {dev.weavejester/cljfmt {:mvn/version "0.15.3"}}}
:lint {:deps {clj-kondo/clj-kondo {:mvn/version "2025.10.23"}}}}}
This does mean you will need to update how just nrepl functions slightly.
help:
just --list
run:
clojure -M -m example.main
nrepl:
clojure -M:dev -m nrepl.cmdline
...
kaocha and a new
test folder to your :dev aliasKaocha is a test runner. It runs your tests. The test folder is to have a place to write
those tests.
{:paths ["src"]
:deps {org.clojure/clojure {:mvn/version "1.12.3"}
ring/ring {:mvn/version "1.15.3"}
metosin/reitit-ring {:mvn/version "0.9.2"}
org.clojure/tools.logging {:mvn/version "1.3.0"}
org.slf4j/slf4j-simple {:mvn/version "2.0.17"}
hiccup/hiccup {:mvn/version "2.0.0"}}
:aliases {:dev {:extra-paths ["dev" "test"]
:extra-deps {nrepl/nrepl {:mvn/version "1.5.1"}
lambdaisland/kaocha {:mvn/version "1.91.1392"}}}
:format {:deps {dev.weavejester/cljfmt {:mvn/version "0.15.3"}}}
:lint {:deps {clj-kondo/clj-kondo {:mvn/version "2025.10.23"}}}}}
test/example/math_test.clj
(ns example.math-test
(:require [clojure.test :as t]))
(t/deftest one-plus-one
(t/is (= (+ 1 1) 3) "One plus one equals 3!"))
test recipe to your Justfile
help:
just --list
run:
clojure -M -m example.main
nrepl:
clojure -M:dev -m nrepl.cmdline
format_check:
clojure -M:format -m cljfmt.main check src dev
format:
clojure -M:format -m cljfmt.main fix src dev
lint:
clojure -M:lint -m clj-kondo.main --lint .
test:
clojure -M:dev -m kaocha.runner
just testBecause 1 + 1 does not equal 3, you should see a test failure reported.
just test again
(ns example.math-test
(:require [clojure.test :as t]))
(t/deftest one-plus-one
(t/is (= (+ 1 1) 2) "One plus one equals 2!"))
test to the list of
directories to automatically format.help:
just --list
run:
clojure -M -m example.main
nrepl:
clojure -M:dev -m nrepl.cmdline
format_check:
clojure -M:format -m cljfmt.main check src dev test
format:
clojure -M:format -m cljfmt.main fix src dev test
lint:
clojure -M:lint -m clj-kondo.main --lint .
test:
clojure -M:dev -m kaocha.runner