No tools or frameworks.<p>Minimum viable (no particular order):<p>1. Know Clojure (duh...) You should know language and most features of most standard functions.<p>2. Know Java <i>VERY</i> well. You will be debugging system with JVM underneath and Java libraries but programming Clojure. If you don't know Java you are not going to learn it while programming Clojure but you will be needing it nevertheless.<p>3. Have <i>mature</i> understanding of various approaches, patterns, paradigms, development practices and most importantly, importance of simplicity and how to write maintainable code. Clojure allows you to do basically anything and will not handhold you on how to structure your application. Therefore, if you don't already have that knowledge and maturity with you, more likely than not you are going create an unmaintainable monstrosity.