# Jonquil > 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. Jonquil is alpha software, open source under the EPL-2.0. The source is at https://github.com/b12n-oss/jonquil. This file follows https://llmstxt.org: every link below is the Markdown of a page on https://jonquil.b12n.app, and https://jonquil.b12n.app/llms-full.txt has the whole guide in one file. ## Key facts - Lisps it runs, each through a dialect profile picked from the open file: - Jolt (Supported): 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. - Clojure (Supported): Start a server with clojure -M:serve, or anything that writes .nrepl-port, and Jonquil connects on the first Run. ClojureDocs examples in the full doc are runnable. - ClojureScript (Experimental): In a shadow-cljs project Jonquil attaches to your watch. Anywhere else it starts ClojureScript itself, on node or in a browser tab. - jank (Experimental): Open a .jank file and Jonquil starts its own jank repl for the window on the first Run. - Basilisp (tested against Basilisp 0.5.1): Basilisp's server writes .nrepl-port in the folder you start it in, so {:dialect :nrepl} alone is enough. Run, the REPL, quick docs and completion work; errors arrive as a Python traceback. - babashka (Supported): Point a project at any nREPL server you started, here or on another host. Features follow what the server offers, and the console says what it can't do. - ClojureDart (Experimental): Like CIDER on a live process: Jonquil attaches to a ClojureDart app you already have running and never starts, stops or signals it. The app writes its port to NREPL.lock, which Jonquil reads. - Get it: Jonquil 0.1.0 for Apple Silicon Macs on macOS 26 or newer, signed and notarized: https://jonquil.b12n.app/downloads/0.1.0/Jonquil-0.1.0-macos-arm64.dmg (sha256 4cf24c47710ea0021a8e3fb31ec6755702f14d6e193fdc60740d7be00b3d4428), https://jonquil.b12n.app/downloads/0.1.0/Jonquil-0.1.0-macos-arm64.zip (sha256 bc5cbddb0a0e170ae4f736cfae9c2c888184f2958ade6babbd88cb85d80a8f2a). GTK is inside the app, so it opens and runs a file straight away. A project (a folder with a deps.edn) runs in its own Jolt process and also needs jolt (v0.8.23 or later) and git. Intel Macs and Linux build from source: https://jonquil.b12n.app/guide/getting-started.md - For agents: `jonquil --mcp [DIR]` serves six tools over MCP on stdio with no window (evaluate, run a file, check brackets, doc, completion, project info). `jonquil --mcp --window [DIR]` drives a live window through twenty tools, and `jonquil --mcp-attach [DIR]` bridges to a window that's already open. To add it to Claude Code: `claude mcp add jonquil -- jonquil --mcp /path/to/project`. Details: https://jonquil.b12n.app/guide/mcp.md - Tests: 2159 pass, per the README on 2026-11-13. ## Guide - [Overview](https://jonquil.b12n.app/guide/index.md): Jonquil is a Clojure IDE written in Jolt, in the style of DrRacket. You write code in the Definitions editor, press Run, and the results show in the Interactions… - [Getting started](https://jonquil.b12n.app/guide/getting-started.md): On an Apple Silicon Mac with macOS 26 or later, download Jonquil-0.1.0-macos-arm64.dmg (or the .zip) from the 0.1.0 release, open it and drag Jonquil to… - [Using Jonquil](https://jonquil.b12n.app/guide/using-jonquil.md): Jonquil is a DrRacket-style IDE for Clojure: a Definitions editor above an Interactions console, with a Run button that runs the top pane and a Stop that actually… - [Files and tabs](https://jonquil.b12n.app/guide/files-and-tabs.md): Opening and saving files, tabs, opening from Finder and the Dock, and the file tree. - [Help and the inspector](https://jonquil.b12n.app/guide/help-and-inspector.md): Completion, quick doc, jump to definition, rename, the command palette, and the value inspector. - [Plugins](https://jonquil.b12n.app/guide/plugins.md): A plugin is one Clojure file that adds editor commands and keys, hooks on saves, Runs and errors, and tools an agent can call. You can write one, or an agent can… - [Driving Jonquil from an agent (MCP)](https://jonquil.b12n.app/guide/mcp.md): Jonquil --mcp [DIR] runs Jonquil with no window as an MCP server on stdio (one JSON-RPC message per line). An agent evaluates code, runs files and looks things up in… - [Keys](https://jonquil.b12n.app/guide/keys.md): Keys by purpose; click a group to open it. - [Known limits](https://jonquil.b12n.app/guide/known-limits.md): Known rough edges, parked for later: - [Lisp Machine ideas, and Emacs](https://jonquil.b12n.app/guide/lisp-machine.md): Several of Jonquil's features come from the Lisp Machines, the MIT CADR and Symbolics Genera. This page says what those machines were, how Emacs relates to them, and… ## Dialects - [Dialects and runtimes](https://jonquil.b12n.app/guide/dialects/index.md): Jonquil evaluates through a dialect profile: what a language's files look like, how they're painted, and which evaluator runs them. Six profiles exist today: Jolt,… - [ClojureDart (experimental)](https://jonquil.b12n.app/guide/dialects/clojuredart.md): Jonquil attaches to a ClojureDart app you already have running, like CIDER to a live process. It never starts, stops or signals the app. - [JVM Clojure](https://jonquil.b12n.app/guide/dialects/jvm-clojure.md): Jonquil never starts a JVM Clojure server; it connects to one you run. - [ClojureScript (experimental)](https://jonquil.b12n.app/guide/dialects/clojurescript.md): Jonquil runs ClojureScript three ways: on node, in a browser tab, or attached to a shadow-cljs build you started. - [Any nREPL server](https://jonquil.b12n.app/guide/dialects/other-nrepl.md): {:dialect :nrepl} in .jonquil.edn attaches to an nREPL server you started: babashka, Basilisp, or one on another machine. Jonquil connects on the first Run and never… - [jank (experimental)](https://jonquil.b12n.app/guide/dialects/jank.md): Unlike ClojureDart and JVM Clojure, you start nothing: Jonquil launches a jank repl per window, on the first evaluation. ## Architecture - [Jonquil Architecture](https://jonquil.b12n.app/guide/architecture/index.md): This page covers the layering, the GTK front-end, the inspector and the eval engine. - [Commands, keys and plugins](https://jonquil.b12n.app/guide/architecture/commands-keys-plugins.md): Keys and commands are data, and plugins add to that data while Jonquil runs. - [MCP](https://jonquil.b12n.app/guide/architecture/mcp.md): Three namespaces serve the headless server. None requires a jonquil.gtk one, so the headless entry never opens a window: - [Dialects and evaluators](https://jonquil.b12n.app/guide/architecture/dialects.md): The runtimes themselves are in Attached runtimes and Launched runtimes. - [Attached runtimes](https://jonquil.b12n.app/guide/architecture/attached-runtimes.md): Jolt out of process, the shared attach lifecycle, and the evaluators that attach to a server you started. The dialect selection they plug into is in Dialects and… - [Launched runtimes](https://jonquil.b12n.app/guide/architecture/launched-runtimes.md): The runtimes Jonquil starts itself, ClojureScript on node or in a browser tab, and jank. - [The macOS app and Linux](https://jonquil.b12n.app/guide/architecture/macos-and-linux.md): The same machinery serves Linux. A Finder or Dock launch has a bare PATH, and Open With hands the app files through GApplication rather than argv. ## Project - [Development](https://jonquil.b12n.app/guide/development.md): Jolt info prints the full task list grouped by purpose. Jolt reads the tasks from bb.edn, so babashka isn't needed. This page adds what each harness drives and the… - [Porting and attribution](https://jonquil.b12n.app/guide/porting-and-attribution.md): Jonquil ports the idea of DrClojure to Jolt, lifting its pure code for the text-analysis core: the tokenizer, bracket matching, navigation, smart indent, formatter,… - [Contributing](https://jonquil.b12n.app/guide/contributing.md): This page covers the local setup a change needs, the gates it must pass, and how to send it. ## Optional - [The whole guide in one file](https://jonquil.b12n.app/llms-full.txt) - [Source on GitHub](https://github.com/b12n-oss/jonquil) - [Changelog](https://github.com/b12n-oss/jonquil/blob/main/CHANGELOG.md) - [Release notes for 0.1.0](https://github.com/b12n-oss/jonquil/releases/tag/v0.1.0)