dr-evil / README.rst


Dr. Evil is a "web debugger". You add Dr. Evil at a secret path in your web application and you get a Clojure REPL on your running web application.

As the name implies, it's probably a bad idea to use it in production - it's a huge security risk - there is no sandboxing whatsoever.


Add Dr. Evil to your project.clj:

[dr-evil "1.0.0-SNAPSHOT"]

Include the EVIL macro inside your defroutes, for example:

(defroutes app
  (GET "/" [] "Nothing here! (try /evil)")
  (EVIL "/evil")
  (route/not-found "Dude! I can't find it."))

Then run your web server, access your "secret" path and start debugging.



Q: Typing my.ns/foo is too much, how can I switch to my.ns?

A: (set-ns! "my.ns"), when you want to switch back, you need to use the full name (dr.evil/set-ns! "another.ns")


Copyright (C) 2010 Miki Tebeka <>

Distributed under the Eclipse Public License, the same as Clojure.

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.