The Guardrails Analyzer runs directly in your REPL, giving it full access to your application’s runtime environment — specs, loaded code, and all dependencies. It connects to a shared daemon process that bridges communication
between the analyzer and your editor(s).
The daemon serves several roles:
-
An LSP (language server protocol) server for standard editors (Emacs, Vim, Calva, etc.)
-
A WebSocket API for the IntelliJ plugin
-
Runtime file I/O support
-
A central place for configuration and control
The overall system diagram looks like this:
+------------------+
| Your REPL |
| (analyzer) |
+--------+---------+
|
| WebSocket
v
+--------+
| Daemon | (shared, auto-launched)
+--------+
^
|
+------+------+
| | |
v v v
+------+ +------+
|Editor| |Editor| ...
+------+ +------+
The daemon auto-launches when you start the analyzer. One daemon serves all projects — you only need
a single daemon running regardless of how many REPLs or editors you have open.
The IntelliJ plugin connects to the daemon automatically. Other editors use the LSP server.
See the relevant chapters in this guide for setup details.