git clone ''



A ClojureScript UI framework and client/server architecture over Facebook's React.

Om UIs are out of the box snapshotable and undoable and these operations have no implementation complexity and little overhead.

Om borrows ideas liberally from Facebook's Relay and Netflix's Falcor with a dash of inspiration from Datomic pull syntax to avoid the typical incidental complexity that arises from client/server state management.

Dependency Information

Latest release: 1.0.0-beta1

Leiningen and Boot dependency information:

[org.omcljs/om "1.0.0-beta1"]

Maven dependency information:



(ns example
  (:require [goog.dom :as gdom]
            [om.dom :as dom]
            [ :as om :refer [defui]]))

(defui Hello
  (render [this]
    (dom/h1 nil "Hello, world!")))

(def hello (om/factory Hello))

(.render js/ReactDOM (hello) (gdom/getElement "example"))


There is an Quick Start tutorial that will introduce you to the core concepts of Om here. There are also a variety of other guides here.


There is documentation here


Please contact me via email to request an electronic Contributor Agreement. Once your electronic CA has been signed and returned to me I will accept pull requests.


If you are looking for help please get in touch either on the #om channel or the om-cljs Google Group.


Copyright and license

Copyright © 2013-2017 David Nolen

Licensed under the EPL (see the file epl.html).