Most Clojure guides understandably focus on the Clojure language itself. As a hosted language, Clojure relies on various mechanisms of its host platform (for example the JVM, CLR or Javascript) for building, dependency management and packaging. This guide aims to explain how code is compiled, packaged and ultimately run on the JVM. Understanding these processes is very useful when developing and debugging Clojure applications professionally. This guide assumes familiarity with the Clojure language but not Java or the JVM.