Browser UI for REPtiLe - a shared REPL
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


A re-frame based SPA for the REPtiLE shared REPL


REPtiLe connectivity

  • Multi-user REPL connectivity
  • Authenticated server access
  • Real-time keystrokes from all connected users
  • Per user name spaces

Other editors

  • Visibility / sizing controls
  • Automatic visibility / sizing

Clojure code support

  • Parinfer integration
  • Colorised edits / output
  • Show matching / balancing parens
  • Code completion / suggestions
  • Expose function documentation
  • Choice of editor key mappings

Clojure evaluation

  • Shared REPL state
  • Shared, accessible history
  • Expandable exception viewing
  • Incremental feedback on long running REPL evaluations
  • Cancel long running REPL evaluations


  • Add a library on demand (Maven & Git SHAs)


Run application:

clojure -A:fig:build

Figwheel will automatically push cljs changes to the browser.

Wait a bit, then browse to http://localhost:9500.

The REPtiLe server will be started in the background so there is no need to start a separate server in the development process.


The location of the back-end server is configurable.

The name of the server can be set in the min.cljs.edn by changing reptile.tongue.config/TAIL_SERVER

Please also checkout the REPtiLE configuration options

Production Build

clojure -A:fig:min

AWS S3 hosting

AWS S3 buckets can be configured to host web sites and thus be used to serve the UI.

The script is provided for building the code and syncing with an S3 bucket.

The script will also invalidate any configured CloudFront distribution.