finds.dev← search

// the find

standardagents/arrow-js

★ 3,764 · TypeScript · MIT · updated Jul 2026

The first UI framework for the agentic era — tiny, performant, with WASM sandboxes for safe code execution.

ArrowJS is a small reactive UI runtime built on tagged template literals, with optional add-on packages for async components, SSR, hydration, and a QuickJS/WASM sandbox for running untrusted component code. It's aimed at people who want lit-html/htm-style DOM rendering without a build step, plus the newer pitch of being a framework that coding agents can safely generate and execute code for.

Core has no required build step — you can import it straight from esm.sh and get reactive DOM updates via template literals, which is a real advantage for quick prototypes or agent-generated snippets. The package split (core / framework / ssr / hydrate) is a genuine architectural choice, not just a monorepo convenience: core stays DOM-only and framework-agnostic, and SSR/hydration are opt-in layers on the same component API. The sandbox package running components through QuickJS compiled to WASM, off the main window realm, while still rendering into the real DOM, is an unusual and technically nontrivial feature that most UI frameworks don't attempt. There's actual CI (Vitest unit tests, Playwright e2e, a bundle-size badge tracked per build) rather than just a green checkmark for show.

The 'safe code execution' claim for the sandbox needs scrutiny before you rely on it for anything security-sensitive — WASM sandboxing untrusted JS is hard to get right, and the README doesn't describe the threat model or what escapes have been tested against. Ten-plus packages (core, framework, ssr, hydrate, sandbox, compiler, vite-plugin, skill, vscode extension) is a lot of surface area for a project at 3.7k stars, and keeping them version-locked across releases is a maintenance burden that will show up as compatibility bugs. The 'agentic era' framing and dedicated agent-skill/VSCode-extension packages read as marketing surface bolted onto a rendering library rather than a technical necessity — tagged-template rendering isn't meaningfully more agent-friendly than JSX once you actually look at the API. Only one contributor is called out (follow @jpschroeder for updates), so bus factor and long-term maintenance are unclear from the README alone.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →