Liking cljdoc? Tell your friends :D

vis logo

Vis

Vis is a coding agent that writes Python into a sandboxed GraalPy runtime, keeps durable state outside the context window, and inspects/changes the host project through tools.

Install

One command clones Vis, checks the runtime tools, and puts the vis launcher on your PATH.

macOS & Linux (bash):

curl -fsSL https://raw.githubusercontent.com/Blockether/vis/main/bin/install-source | bash

Then confirm:

vis help

Prereqs: git, java 25+, and the Clojure CLI 1.12+ — the installer checks for them and tells you what's missing. Building the native binary needs GraalVM Community Edition 25.1.3 — exactly that edition and version, pinned in .graalvm-version — plus at least 16 GB RAM. Get it with bin/require-graalvm --install, then sdk env (the repo ships a .sdkmanrc). Oracle GraalVM and stock JDKs are rejected by the build, on purpose: CE's Classpath Exception is what keeps the shipped binary FOSS, and Truffle hard-refuses any other version against the org.graalvm.* pins in deps.edn.

What vis runs

vis is the stable command. It proxies to the best available distribution, in this order:

  1. managed native binary from vis update ($VIS_HOME/install, default ~/.vis/install)
  2. repo native binary (target/vis)
  3. repo JVM uberjar (target/vis.jar)
  4. live source (clojure -M:vis)

Use vis --jvm ... to skip native and force the JVM path. The JVM path needs a stock JDK 25 (e.g. sdk install java 25.0.3-tem) or a GraalVM matching the pinned Truffle line (graal-25.1.3); a mismatched GraalVM (e.g. CE 25.0.2) is rejected at startup with a clear message.

Build / develop

vis native                       # builds target/vis and target/vis.jar
clojure -M:format check
clojure -M:lint src extensions test build.clj
clojure -M:test

Can you improve this documentation? These fine people already did:
Karol Wojcik, blockether-deployer & Karol Wójcik
Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close