Use Leiningen plugins only when they simplify repeatable project tasks without hiding build behavior.
Use this section to evaluate Leiningen Plugins and Extensions as a production Clojure concern, not as a one-for-one replacement for a Java framework pattern. The child lessons show where the boundary belongs, what data should cross it, and which JVM habits are still useful.
| Review focus | What Java engineers should verify |
|---|---|
| Boundary | Which namespace, handler, adapter, or deployment seam owns this concern? |
| Data flow | What plain data crosses the seam before any library-specific API appears? |
| Java habit to retire | Which class-heavy pattern can become a small function, map, protocol, or REPL-tested adapter? |
Before moving on, identify the smallest runnable example that proves the concept. Add production concerns such as logging, validation, security, or deployment only after the data flow is clear.