Fast, cross-platform, standalone ClojureScript environment

License: EPL-1.0

Language: Clojure

Keywords: clojure, clojurescript, cross-platform, javascript, lumo, repl, self-hosted

lumo logo


Backers on Open Collective Sponsors on Open Collective

Lumo is a standalone ClojureScript environment that runs on Node.js and the V8 JavaScript engine. It starts up instantaneously and has out-of-the-box access to the entire Node.js ecosystem.

Lumo also provides a ClojureScript build API, making it possible to compile ClojureScript projects entirely without the JVM, thanks to the experimental JavaScript version of the Google Closure Compiler.

Read the announcement blog post and our pledge!

If you enjoy Lumo, consider backing or sponsoring the project on Open Collective

Build status

Platform Status
macOS CircleCI
Linux Build Status
Windows Build status




npm is a package runner that comes with node6+. You can try lumo "without install" with:

npx -p lumo-cljs lumo


$ npm install -g lumo-cljs

If you get a permission failure, try this:

$ npm install -g lumo-cljs --unsafe-perm

Note: the installed binary will be named lumo rather than lumo-cljs

Via Homebrew (macOS)

$ brew install lumo

Note: If you want to install a binary built from master, run brew install --HEAD lumo (at your own responsibility).


$ docker pull anmonteiro/lumo:latest
$ docker run -it anmonteiro/lumo


  1. Download the latest release.
  2. Move it to somewhere in your $PATH.

Using Lumo

Enter lumo at the command line to launch it.

Check out lumo -h for usage instructions and supported command line options.

Compile ClojureScript

Lumo can compile ClojureScript code as of version 1.2.0. See the introductory blog post. It is still considered experimental, given the relatively new Google Closure Compiler port to JavaScript, but it aims to be at feature parity with the JVM ClojureScript compiler.

The build API mirrors the ClojureScript one. Please reference its Quick Start and the Compiler Options. You can basically just replace the namespace with

(require '

( "src" {:output-to "out/main.js"})

The following example also shows how to use multiple source folders.

(require '[ :as b])

 (b/inputs "src1" "src2") ;; variadic
 {:output-to "out/main.js"})


To build Lumo from source:

  1. Make sure you have installed Boot, Yarn and Node.js (version >= 8).
  2. At the root of the repository, run: boot release.
  3. The resulting binary can be found in build/lumo (or build\lumo.exe if you're on Windows).




Support us with a monthly donation and help us continue our activities. [Become a backer]


Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]

Copyright & License

Copyright © 2016-2017 António Nuno Monteiro

Distributed under the Eclipse Public License (see LICENSE).

Project Statistics

Sourcerank 11
Repository Size 19.1 MB
Stars 1,567
Forks 71
Watchers 62
Open issues 78
Dependencies 1,067
Contributors 21
Tags 18
Last updated
Last pushed

Top Contributors See all

Antonio Nuno Monteiro Andrea Richiardi Viktor Magyari Hlöðver Sigurðsson Justin Firth Jon Greg Leppert Ulrik Strid Tamas Herman johann bestowrous Evan N-D Enzzo Abhinav Sharma Jon Pither Pyry Kovanen Erik Assum c4605 Arne Brasseur Priyatam Mudi Matt Huebert

Packages Referencing this Repo

Fast, cross-platform, standalone ClojureScript REPL
Latest release 1.10.1 - Updated - 1.57K stars
Fast, cross-platform, standalone ClojureScript REPL
Latest release 1.8.0 - Published - 1.57K stars

Recent Tags See all

1.10.1 April 10, 2019
1.10.0 April 09, 2019
1.9.0 November 08, 2018
1.9.0-alpha May 11, 2018
1.8.0 February 15, 2018
1.8.0-beta September 17, 2017
1.7.0 August 16, 2017
1.6.0 June 30, 2017
1.5.0 May 13, 2017
1.4.1 April 21, 2017
1.4.0 April 19, 2017
1.3.0 April 03, 2017
1.2.0 February 21, 2017
1.1.0 January 29, 2017
1.0.0 November 22, 2016

Interesting Forks See all

Fast, cross-platform, standalone ClojureScript REPL
JavaScript - Last pushed - 1 stars

Something wrong with this page? Make a suggestion

Last synced: 2019-04-10 14:04:19 UTC

Login to resync this repository