Alpha · macOS (Apple Silicon) · Linux from source · open source, EPL-2.0

One editor for the Lisps you use

Jonquil is a DrRacket-style editor for Jolt, Clojure, ClojureScript, jank, Basilisp and babashka. Edit code at the top, press Run, see the results in a REPL underneath, and Stop really stops a runaway program. On Jolt it goes further: your program runs on the editor's own runtime, so the inspector and the debugger see its real values.

Runs

  • Jolt
  • Clojure
  • ClojureScript
  • jank
  • Basilisp
  • babashka
  • ClojureDart

Why Jonquil

A pragmatic editor, with a live Lisp underneath

The DrRacket loop for every Lisp you use, and on Jolt, the tools of a Lisp Machine.

01

Many Lisps, one window

Six dialect profiles pick the runtime for whatever file is open. Jolt runs in or out of process, jank and ClojureScript are launched for you, and the rest attach over nREPL.

02

A Lisp Machine, on Jolt

Describe Key, the locations list, presentations in the console, Save World, the Processes panel: ideas from the MIT CADR and Symbolics Genera, working on your program's live values.

03

Yours to extend

A plugin is one Clojure file of commands, keys, hooks and agent tools. An agent can drive the window over MCP, and a dialect profile is the plug point for the next Lisp.

Run and Stop

Run the top, read the bottom

Run evaluates everything in the editor, the REPL prompt evaluates one line, and Stop ends a program even when it's spinning in a loop. It's the DrRacket loop, for every dialect.

  • Reset on Run clears only what the running tab created
  • read-line reads from the console, so stdin just works
  • An unclosed bracket gets a plain message pointing at it
Read more in the guide

Lisp Machine ideas, on Jolt

Your code runs in the editor's runtime

Emacs is extended in a different Lisp from the one you write. Jonquil is written in Clojure on Jolt, and your Jolt code runs on that same runtime, so the tools look at real values, not the editor's.

  • Console results are live: click to inspect, right-click for verbs
  • Change sets bundle the forms you changed, to apply or revert
  • Save World keeps a project's data vars; the Processes panel shows its fibers
Read more in the guide

Debugging

Pause where it breaks

On Jolt: breakpoints, Step Into, Over and Out, Break on error, and the last error's frames with every local. Retry, Edit and retry, and Define and retry pick a failed evaluation back up in every dialect.

  • F9 toggles a breakpoint in the gutter, live at once
  • Evaluate any form in a paused frame
  • Break on error pauses before anything unwinds
Read more in the guide

Help

Ask the running program

Completion with a doc preview, quick doc, jump to definition and rename all ask the live runtime, whichever Lisp it is. The command palette lists every command with its keys.

  • Ctrl+Space completes in the editor and at the prompt
  • F12 jumps into your project, or into library code
  • Find Usages tells same-named symbols apart by their ns
Read more in the guide

Agents

Let an agent drive it

jonquil --mcp serves six tools over MCP with no window. Add --window and an agent opens, edits, saves and runs tabs while you watch, through twenty tools.

  • An agent can propose a plugin, and it waits for your Accept
  • --mcp-attach bridges to a window you already have open
  • Plugins can add MCP tools of their own
Read more in the guide
terminal
$ claude mcp add jonquil -- jonquil --mcp /path/to/project

Dialects and runtimes

Bring your Lisp

Jonquil picks a dialect profile for whatever file is open, and its status bar says which one and whether the runtime is up.

Jolt, in or out of process

Jonquil's own Lisp, and the one breakpoints, stepping and Break on error need. A program in a deps.edn project runs out of process over nREPL, so one that crashes or calls System/exit takes down a child, not Jonquil. A loose file runs in Jonquil's own process.

  • RuntimeIn process, or a Jolt child
  • StartsBy itself
  • StatusSupported
The Jolt page

Tour

Everything within reach

Every screenshot here is captured from the real app by Jonquil's own docs harness. Click one for a closer look.

Extend

Make it your own

Read the plugin guide

Plugins in one file

A plugin adds commands and keys, hooks on saves, Runs and errors, and tools an agent can call. Each version that goes live is kept, so you can see its history and revert.

Read more
~/.config/jonquil/plugins/wrap-when.clj
(p/defplugin
  {:id      :wrap-when
   :doc     "Wrap the form at the caret in (when ...)."
   :effects #{}
   :commands
   [{:id :wrap-when/wrap :scope :editor
     :edit (fn [snapshot]
             (p/wrap-form snapshot "(when " ")"))}]})

Room for the next Lisp

A dialect is a profile: what its files look like, how they're painted, which evaluator runs them. A profile's port file is most of what an attach runtime needs.

Read more

Parinfer, when you want it

Off by default. Turn on Smart and each open bracket closes itself as you type, dedenting a body line pulls the closer up, and indenting pulls it back in. Cmd/Ctrl+Shift+M cycles the themes: light, dark, solarized, navy and auto.

Read more

Provenance

Built on good ideas

Jonquil ports the idea of DrClojure and lifts its pure text-analysis code: the tokenizer, brackets, smart indent, the formatter. The front end is GTK4 on direct FFI, rebuilt in Jolt, and the Jolt fixes the project needed went upstream.

  • 2159tests pass (2026-11-13)
  • 7Lisps it runs
  • 26guide pages
Porting and attribution

Recently added CHANGELOG

  1. Jonquil is open source.
  2. Instrument this tab for stepping (palette, Jolt, in process and in the Jolt child): every top-level form in the tab that only defines code is sent again with step points, so Step Into…
  3. Step Over (F10) and Step Out (Shift+F7), in the palette and as buttons in the Frames panel beside Continue and Step Into: Step Over pauses at the next line in the same function or a…
  4. Stepping (Jolt, in process and in the Jolt child): paused at a breakpoint, Step Into (F7, Step to the next line in the palette, or the Frames panel's Step Into button) runs on to the…

Get started

Download Jonquil 0.1.0

Signed and notarized, for Apple Silicon Macs on macOS 26 or newer. GTK comes inside the app, so it opens and runs a file straight away. To run a project (a folder with a deps.edn), also install Jolt and git. Intel Macs and Linux build from source.

Alpha software. Some dialects are experimental, and Known limits lists the rough edges for each runtime.

Enter to open · Esc to close