Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Mike Fikes edited this page · 106 revisions

ClojureScript is a dialect of Clojure that targets JavaScript as a deployment platform.

Read These First




Tip & Tricks




Leiningen plugins

  • lein-cljsbuild: Allows you to easily build ClojureScript projects with multiple targets
  • lein-npm: For Node.js based projects, allows you to work with NPM dependencies.
  • figwheel Live coding support
  • cljsasset CSS asset support

Project Templates

  • chestnut Complete application template using Ring, Om, Figwheel and more
  • figwheel, minimal ClojureScript and Figwheel project template optionally including Om or Reagent
  • cljs-start, full featured template
  • reagent-template A Leiningen template for projects using Reagent.
  • re-frame-template A Leiningen template for projects using Reagent based on the Re-frame pattern.
  • descjop template for Web based desktop application with Electron(atom-shell).


Learning Tools

  • Replete ClojureScript REPL iOS app

Compatible Clojure Contrib libraries


Dom Manipulation

React Wrappers

HTML Templating

  • sablono, Hiccup style HTML generation
  • sablono-tools, Enlive-style selector-based templating and transformations for Sablono
  • kioo, Enlive style HTML generation
  • hipo, Hiccup style templating
  • enfocus, Enlive templating for ClojureScript
  • hickory parses HTML into Hiccup vectors

CSS Generation


  • apogee SVG charting
  • gamma GLSL DSL
  • quil, Processing for Clojure & ClojureScript
  • Geometry primitives, mesh operations, SVG & WebGL rendering (CLJX)
  • Color space conversion & manipulation (CLJX)
  • Interpolation of arbitrary nested value maps (CLJX)

Client-side Routing


Data formats


  • datascript, Datomic-like in-memory database
  • konserve, KV store protocol
  • hodgepodge A idiomatic interface to local and session storage
  • Non-RDF triplestores & SPARQL like query engine (CLJX)

Native iOS with embedded JavaScriptCore


  • reagi An FRP library for Clojure and ClojureScript
  • zelkova Elm-style FRP for Clojure and ClojureScript
  • re-frame A Reagent Framework For Writing SPAs, in Clojurescript.


  • purnam is a clojurescript library designed to provide better clojurescript/javascript interop, testing and documentation tools to the programmer.
  • cuerdas, string manipulation
  • schema, Validation & contracts
  • bardo, transitions
  • lucuma, WebComponents
  • differ, data structure diffing
  • component-cljs, port of Stuart Sierra's Component library
  • cats, Monads
  • lively, Client-side live programming support
  • patterny, Extract imagine patterns
  • phalanges, Keyboard events
  • keybind, Key bindings
  • cljs-time, Date/time lib (almost) consistent API with clj-time
  • cljs-promises, Promises
  • markdown-clj extensible Clojure/Script Markdown parser
  • json-html generates a DOM node with a human representation of the JSON/EDN encoded data
  • historian a drop-in atom-state-management (UNDOs!!) for your clojurescript projects
  • Schema based validation of nested data (CLJX)
  • clara Rete-based rule engine


  • cljs.test, a port of clojure.test built-in to the standard library
  • clojurescript.test a port of clojure.test that pre-dates the built-in version
  • clairvoyant, tracing
  • purnam.test, provides macros for testing with the karma test runner, works with async tests.
  • speclj A TDD/BDD framework for Clojure and Clojurescript, based on RSpec.


ClojureScript does not take pull requests. Please follow the links below to contribute to ClojureScript.

Additional Information

Something went wrong with that request. Please try again.