                    (vector (if (divshot? opts) ["divshot.json" (render "divshot.json" data)])
                            (if (garden? opts)  ["src/clj/{{sanitized}}/styles.clj" (render "styles.clj" data)])
                            (if (sass? opts)    ["sass/styles.sass" (render "styles.sass" data)])
-                           (if (reagent? opts) [app-cljs (render "reagent-app.cljs" data)])
-                           (if (om? opts)      [app-cljs (render "om-app.cljs" data)])
-                           (if (not (cljs-lib? opts)) [app-cljs (render "app.cljs" data)])
+                           (cond (reagent? opts) [app-cljs (render "reagent-app.cljs" data)]
+                                 (om? opts)      [app-cljs (render "om-app.cljs" data)]
+                                 :none           [app-cljs (render "app.cljs" data)])
 
                            ["resources/index.html" (render "index.html" data)]
                            ["build.boot" (render "build.boot" data)])))))

   :index-html-script-tags (indent 4 (index-html-script-tags opts))
   :index-html-head-tags (indent 4 (index-html-head-tags opts))})

(defn warn-on-exclusive-opts! [opts]
  (when (and (om? opts)
             (reagent? opts))
    (main/warn "Please specify only +om or +reagent, not both.")
    (main/exit)))

(defn tenzing
  "FIXME: write documentation"
  [name & opts]
  (let [data     (template-data name opts)
        app-cljs "src/cljs/{{sanitized}}/app.cljs"]

(defn garden? [opts]
  (some #{"+garden"} opts))

;; ---------------------------------------------------------------
;; Template data helpers
;; ---------------------------------------------------------------

(defn source-paths [opts]
  (cond-> #{"src/cljs"}
