From asi
Compiles Squint ClojureScript dialect to minimal JavaScript (~10KB runtime) using native JS data structures and seamless interop. Use for small scripts vs full CLJS.
npx claudepluginhub plurigrid/asi --plugin asiThis skill uses the workspace's default tool permissions.
**Status**: โ Production Ready
Guides selection of ClojureScript runtimes including Babashka, SCI, Cherry, Squint, Scittle, and nbb based on context like scripting, browser, Node, or embedded. Includes decision tree, matrix, and example commands.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Status: โ Production Ready Author: Michiel Borkent (borkdude) Trit: 0 (ERGODIC - neutral transport) Stars: 1.2k+
Squint is a light-weight ClojureScript dialect that compiles to JavaScript with minimal runtime overhead. It's the "minimal" alternative in borkdude's browser runtime spectrum.
| Aspect | Squint | Cherry ๐ |
|---|---|---|
| Runtime size | Minimal (~10KB) | Full cljs.core (~100KB) |
| Semantics | JS-like | Full CLJS |
| Data structures | JS objects/arrays | Persistent immutable |
| Keywords | Strings | CLJS keywords |
| Interop | Seamless | Requires macros |
| JSX | โ | โ |
| Use case | Small scripts, interop | Full applications |
npm install squint-cljs@latest
;; example.cljs
(ns example)
;; Functions compile to regular JS functions
(defn greet [name]
(str "Hello, " name "!"))
;; JS interop is seamless
(js/console.log (greet "World"))
;; Object destructuring works naturally
(defn process [{:keys [a b c]}]
(+ a b c))
(process #js {:a 1 :b 2 :c 3}) ; => 6
# Compile to JS
npx squint compile example.cljs
# Run directly
npx squint run example.cljs
Data structures are JS native:
{:a 1} ; => {a: 1} in JS (plain object)
[1 2 3] ; => [1, 2, 3] in JS (array)
Keywords become strings:
:foo ; => "foo" in JS
No persistent data structures (use JS mutation)
Faster interop (no conversion needed)
(ns squint.gay-colors)
;; SplitMix64 constants
(def GOLDEN 0x9E3779B97F4A7C15)
(def MASK64 0xFFFFFFFFFFFFFFFF)
(defn splitmix64 [state]
(let [s (bit-and (+ state GOLDEN) MASK64)
z (-> s
(bit-xor (unsigned-bit-shift-right s 30))
(* 0xBF58476D1CE4E5B9)
(bit-and MASK64))
z (-> z
(bit-xor (unsigned-bit-shift-right z 27))
(* 0x94D049BB133111EB)
(bit-and MASK64))]
(bit-xor z (unsigned-bit-shift-right z 31))))
(defn color-at [seed idx]
(loop [state seed i idx]
(if (zero? i)
(let [v (splitmix64 state)
l (+ 10 (* 85 (/ (bit-and v 0xFF) 255)))
c (* 100 (/ (bit-and (unsigned-bit-shift-right v 8) 0xFF) 255))
h (* 360 (/ (bit-and (unsigned-bit-shift-right v 16) 0xFFFF) 65535))]
{:L l :C c :H h})
(recur (splitmix64 state) (dec i)))))
just squint-compile file.cljs # Compile CLJS to JS
just squint-run file.cljs # Run CLJS file
just squint-watch # Watch mode compilation
Skill Name: squint-runtime Type: ClojureScript Compiler Trit: 0 (ERGODIC) Invariant: โ Deterministic compilation
This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:
general: 734 citations in bib.duckdbThis skill maps to Cat# = Comod(P) as a bicomodule in the equipment structure:
Trit: 0 (ERGODIC)
Home: Prof
Poly Op: โ
Kan Role: Adj
Color: #26D826
The skill participates in triads satisfying:
(-1) + (0) + (+1) โก 0 (mod 3)
This ensures compositional coherence in the Cat# equipment structure.